Back to Featured

Featured project

Shopping list

Pantry + shopping PWA, in-browser SQLite + Neon sync

Shopping list is a PWA for groceries: pantry inventory, a pending list (with PDF) and an Urgent tab. Offline-first with SQLite in WebAssembly; online mode syncs through Neon Auth + Data API. Full case-study docs live as markdown in this portfolio.

Shopping list
Year
2024–2026
Role
Full-stack
Platform
Angular PWA · Ionic 7 · SQLite WASM
Data
Neon Auth + Data API

The problem

Lists live in notes, chats or paper: quantities disappear, urgent items mix with the rest, and there is no printable PDF by aisle. Grocery apps demand an account on first tap.

The solution

Installable PWA with three tabs and an add-product modal (qty, unit, category). Real persistence in SQLite (sql.js + IndexedDB). Opt-in sync with Neon Auth and Data API; same-origin Netlify proxy so iOS/PWA keep the session. Capacitor 5 for Android.

Screenshots

Shopping list — List · desktop
List · desktop
Shopping list — Pantry · desktop
Pantry · desktop
Shopping list — Urgent · desktop
Urgent · desktop
Shopping list — Add a product
Add a product
Shopping list — Settings
Settings
Shopping list — List · mobile
List · mobile
Shopping list — Pantry · mobile
Pantry · mobile
Shopping list — Urgent · mobile
Urgent · mobile

Tech stack

Angular 17
PWA shell
Ionic 7
UI + tabs
Neon
Auth + Data API
Netlify
SPA + proxy
Tailwind
Styling
Capacitor
Android
Web Source code Documentation Testing ← Back to Featured