Skip to content
Food & Document Expiry project screenshot
Project

Food & Document Expiry

Expiry tracker for food and documents, with server-side scheduling and a rules engine that generates several reminder windows per item category.

Mobile App
React
Notifications
Tracking
Reminder System
UI/UX
Smart push notifications before expiryFood inventory and freshness trackingDocument expiration managementBarcode scanning for easy entry

5K+

Active Users

50K+

Items Tracked

98%

Alert Accuracy

01 // Overview

Smart Expiry Tracker App

A comprehensive tracking solution that helps you manage food items in your pantry and fridge while also keeping track of important document expiration dates like passports, licenses, and certificates. Get timely alerts before anything expires.

Smart Alerts

Customizable push notifications sent days, weeks, or months before items expire based on your preferences.

Food Tracking

Monitor pantry and fridge inventory with expiry dates, purchase dates, and smart categorization by food type.

Document Scanner

Scan and store important documents with automatic expiry date detection and reminder scheduling.

02 // Features

App Capabilities

Barcode Scanning

Quick product entry by scanning barcodes - automatically fetches typical shelf life data.

Smart Categories

Organize items by location (fridge, freezer, pantry) or document type for easy management.

Waste Reduction

Reduce food waste and avoid document renewal penalties with proactive expiry management.

Engineering

The Decisions Behind It.

What made this hard?

An expiry tracker's entire value is timing. A notification that arrives a day late makes the product useless, and device-level scheduling is not reliable enough to trust.

How was the system structured?

Scheduling lives on the server and the device is only a receiver. A rules engine generates multiple notification windows per item, an advance warning and a final reminder, adjusting lead time by item category.

What does the codebase look like now?

Notification templates and timing rules are configuration rather than hardcoded values, so changing behaviour does not require a deploy. All timezone handling goes through a single utility, which is what keeps the classic off-by-one-day bug out.

All engineering case studies