Built to order

Offline Grocery List App for Android with Shared Lists and Pantry Tracking

PantryPal is an offline-first Android app for shared household grocery lists with pantry tracking: lists, quantities and stock levels live on the phone and work with no signal, and changes sync and merge when a device is back online. One tap moves a low-stock pantry staple onto the shopping list, and every member sees who added or checked off each item. The web demo on this page shows the list, shared and pantry flows; the delivered build is the Android app itself. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Android Application Development.

Android Kotlin · Android SDKWorkManager background syncMVVM architectureJetpack Compose · Material 3Room database local storageDataStore preferencesGit Android StudioSoftware
Offline Grocery List App for Android with Shared Lists and Pantry Tracking — project thumbnail preview
More project photos (2)

The problem

An offline grocery list app for Android with shared lists and pantry tracking keeps one household shopping list on every member's phone, even with no mobile signal, and tracks what is already at home so staples are not bought twice. A family usually runs its shopping from memory, scattered notes, or one person's phone, so two people buy the same milk while the rice that actually ran out stays forgotten, and a dead zone in a supermarket basement or a village market leaves a cloud-only list unreachable at the exact moment it is needed. Pantry tracking closes the other half of the gap: when rice, oats, or cooking oil fall to a low level at home, the household only finds out mid-recipe or mid-shop. The app answers both gaps together: lists that work fully offline, shared across the household, with a pantry record that turns low stock into a shopping-list item before the next shop.

The interactive demo on this page is a web flow demonstration of the same screens; the delivered build is a native Android app, not the web demo. The demo's seeded list holds 10 items across 4 categories, and its pantry view tracks 6 staples with 3 flagged low.

SYSTEM FLOW

6 components 5 connections

Live flow
Drag to explore
100%
userHousehold Member

Creates and edits the household grocery list on a phone.

Follow the working sequence

How it works

PantryPal starts on one phone with no account and no connection: the user creates a household list, adds items with quantities and categories, and ticks items off while shopping, with every change saved to the phone's own database the moment it is made. When the household shares the list, each member's phone holds its own copy, and edits made offline are queued as small change records rather than whole-list overwrites. The next time a phone reaches the internet, its queued changes sync to the shared copy, and the merge rule applies: items added on any phone are kept, and for a field edited on two phones, the later edit wins. Pantry staples are tracked the same way, and when a staple's remaining level drops to 25% or less, the app surfaces it as a low-stock item that can be added to the shopping list in one tap.

  1. The user creates a household list and adds items with a name, quantity, unit and category (Produce, Dairy & Eggs, Bakery, Pantry Staples).
  2. While shopping, the user ticks items off; the progress count updates live and checked items stay visible until the list is cleared.
  3. The user records pantry staples (rice, oats, cooking oil, flour, sugar, tea leaves) with a remaining level as a percentage.
  4. Any staple at or below 25% remaining is flagged low, and one tap adds it to the shopping list with its usual quantity.
  5. The list is shared with household members (up to 6 members, design target); each phone keeps its own copy of the list.
  6. When a phone is online, its queued offline changes sync to the shared copy and the merged list downloads; additions from all phones are kept, and the later edit wins on any conflicting field.

Tech stack:

  • Kotlin · Android SDK
  • Jetpack Compose · Material 3
  • Room database · local storage
  • WorkManager · background sync
  • DataStore · preferences
  • MVVM architecture
  • Git · Android Studio
Parameter Value
Platform Android 8.0 or later (design target)
Seeded demo list 10 items across 4 categories (measured from the demo build)
Pantry staples in demo 6 staples tracked · 3 flagged low (measured from the demo build)
Low-stock threshold 25% remaining or less (design target)
Members per shared list Up to 6 members (design target)
Lists per household Up to 10 lists (design target)
Merge rule Later edit wins on fields · union of additions (design target)
Storage On-device first · sync only when online (design target)
App size Approximately 15 MB installed (expected)
Accounts None required to start (design target)

Project features

PantryPal's strongest capabilities are its offline-first lists, its shared household lists, its pantry tracking, and its one-tap bridge between pantry and shopping list. Lists live on the phone itself, so adding, checking off, and editing items works with no signal at all, and every change is stored locally until the phone is online again. Shared lists let every household member add and check off items on their own phone, with a merge rule that keeps additions from both sides and lets the later edit win on simple fields. Pantry tracking records each staple's remaining level and flags anything at or below a 25% remaining threshold, and a single tap moves a flagged staple onto the shopping list with its usual quantity already filled in. Categories, quantities and units keep each list readable as a real shopping trip, and the no-account start means the app is usable the moment it is installed.

  • [Offline-first lists] Every list, item, quantity and checked state is stored in the phone's own database first, so the app works fully with no signal and syncs only when the phone is online again.
  • [Shared household lists] Up to 6 members (design target) share one list from their own phones, with a visible activity trail showing who added or checked off each item and when.
  • [Offline merge rule] When two members edit offline, additions from both phones are kept and the later edit wins on simple fields such as quantity or checked state, so no one's added item is silently dropped.
  • [Pantry tracking with low-stock alerts] Staples carry a remaining level as a percentage; anything at or below the 25% remaining threshold (design target) is flagged low and offered for the shopping list in one tap.
  • [Categories, quantities and units] Items carry a category (Produce, Dairy & Eggs, Bakery, Pantry Staples), a quantity and a unit (kg, L, packs, pcs), so the list reads like a real shopping trip rather than a plain note.
  • [Check-off progress while shopping] Ticking an item marks it bought and updates a live progress count; checked items stay visible until the list is cleared, so the household can see what is already in the trolley.
  • [No-account local storage] The app needs no account to start: all data stays on the device until the user chooses to share or sync a list.

Implemented in the delivered build: all 7 features above. Optional at order time: barcode scanning for adding items. Future scope, not in the delivered build: cloud backup, store price comparison, and recipe-based list suggestions.

What is included

  • Complete Android app source code (Kotlin, Jetpack Compose)
  • Installable APK for testing on an Android phone
  • Web flow demo of the list, shared and pantry screens
  • Project report PDF (background, offline-first design, sync and merge rules, testing)
  • PPT presentation for final review
  • Viva Q&A preparation document (offline storage, Room, WorkManager, conflict handling)

Limitations & prerequisites

  • Sync needs each phone to reach the internet at some point; changes stay marked pending until that phone is online.
  • Pantry levels are entered by hand as percentages — the base build has no automatic weight sensing or barcode stock counting.
  • When two members edit the same field offline, the later edit wins, so an earlier conflicting edit to that field is overwritten; the merge rule is documented in the report.
  • Barcode scanning is an optional add-on, not part of the base build.
  • The base build is Android only; no iOS version is included.
  • The web demo on this page demonstrates the flows; it is not itself the Android app, and its data is sample data for demonstration.

Frequently Asked Questions

Does the app work without internet?

Yes, fully. Lists, items, quantities, checked states and pantry levels are stored in the phone's own database, so adding, editing and ticking off items all work with no signal at all, including in a supermarket basement, without any waiting for a connection to return. Everything is saved the moment it changes. Changes are queued on the phone and sync only when the phone is online again, so nothing is lost by shopping offline.

How do shared lists stay correct when two people edit offline?

They merge by a fixed rule: additions from both phones are always kept, and the later edit wins on a simple field such as quantity or checked state. Each phone keeps its own copy of the list, and edits are queued as small change records rather than whole-list overwrites. The next sync applies those records in order. The rule is simple enough to explain in a review, and it guarantees no added item is silently dropped.

How does pantry tracking decide what is low on stock?

Anything at or below 25% remaining is flagged low. Each staple carries a remaining level entered as a percentage, and the app compares that level against the 25% threshold (design target) and surfaces flagged staples with a one-tap button to add them to the shopping list. The threshold is a single constant in the code, so a buyer who wants a stricter or looser line can change it in one place.

Can one household keep more than one list?

Yes, up to 10 lists per household (design target). A household can keep separate lists, for example a weekly shop and a festival or party list, and each list can be shared with the same members or kept private to one phone. Pantry tracking is shared across the household rather than per list, so a low-stock flag feeds whichever list the user chooses.

Is the web demo on this page the actual Android app?

No, it is a flow demonstration, not the Android app itself. The demo is a single-file web page that reproduces the list, shared and pantry screens with sample data so the flows can be tried in a browser, with no install needed. The delivered build is a native Android app written in Kotlin with Jetpack Compose, with its own on-device database and sync logic, and it is supplied as source code plus an installable APK.

Is this project suitable for a final-year project?

Yes, for Computer Science, IT and Android application development programs. It demonstrates offline-first mobile architecture, on-device databases, background sync with WorkManager, and a documented conflict-resolution rule for shared data, all in a working app with a clear, everyday use case. Reviewers can test it on a real phone.

Components & software requirements
  • Kotlin · Android SDK
  • Jetpack Compose · Material 3
  • Room database · local storage
  • WorkManager · background sync
  • DataStore · preferences
  • MVVM architecture
  • Git · Android Studio
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download free synopsis (PDF)

Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.

Get a quotation