Wedding finance app · Solo · design, build, ship
Phere
Indian weddings run on scattered notebooks, WhatsApp threads and memory. Families lose track of who was paid, what is still due, and what came in as gifts.
Open the app (opens in a new tab)↗Product website (opens in a new tab)↗

Project overview
Phere is my wedding finance and planning product for Indian families. I built the interface, authenticated data workflows and mobile packaging around one shared view of expenses, payments, vendors and guests.
Keep the wedding record together
The workspace brings expenses, instalments, payment sources, vendors, guest lists and RSVPs into an authenticated record. Reports and e-invites sit alongside the financial workflow, rather than requiring a separate spreadsheet for every part of the wedding.
Membership roles and row-level access rules support the shared workspace. OCR-assisted bill entry and AI-assisted workflows run through protected server-side functions.
Offline edits need a conflict policy
The difficult boundary is between an offline change and the current authenticated cloud record. Pending edits enter an encrypted, account-bound outbox and replay only after an authenticated cloud load. A conflicting cloud revision locks writes until the user chooses what to keep.
The product is packaged as an installable PWA and Capacitor apps for Android and iOS. This keeps the wedding workspace available through web and mobile surfaces while the authenticated record remains the shared source of truth.
What I built
- A mobile-first wedding finance and planning workspace: expenses, installments, payment sources, vendors, guests, RSVP, reports and e-invites in one authenticated record.
- Supabase Auth with membership roles, row-level security, realtime refresh and revision-aware saves.
- OCR-assisted bill entry and AI-assisted workflows through protected Supabase Edge Functions.
- An e-invite studio with saved designs, public invite links and RSVP controls.
- Runs as an installable PWA and as Capacitor apps for Android and iOS, in English and Hinglish.
- Staying usable offline without becoming an offline database. Pending changes are encrypted into an account-bound outbox and replayed after an authenticated cloud load; a conflicting cloud record locks writes until the user chooses.
Sources and live demo
Stack
- React 18
- Vite 6
- Tailwind CSS 4
- Supabase
- PostgreSQL
- Edge Functions
- Capacitor
- PWA