Personal project

Paluwagan Manager

A mobile app for organizing and tracking informal Filipino group savings ("Paluwagan"). It's a record-keeping tool, not a financial wallet \u2014 it never holds, moves, or processes real money. It just replaces the spreadsheet, notebook, and group chat that organizers usually juggle.

Mobile
React NativeExpoExpo RouterTypeScript
UI
NativeWind (Tailwind for RN)Custom reusable components
State & forms
ZustandReact Hook FormZod validation
Backend
Supabase (Postgres)Row Level SecuritySupabase StorageEdge Functions
Observability
Sentry error trackingPostHog product analytics

Engineering highlights

Details that mattered more than the UI.

Row Level Security by design

Every table is protected with Postgres RLS policies scoped to organizer/member roles — members only ever see Paluwagans they belong to, contributions they own, or data their organizer explicitly manages.

Record-keeping, not a wallet

The app deliberately never touches real money. It only records contributions, payouts, and proof of payment reported by users — no GCash/Maya integration, no fund custody.

Partial payments & payout ordering

Contribution status (unpaid / partial / paid / overdue) and payout schedules are computed from explicit business rules instead of naive multiplication, so partial payments and skipped payouts stay accurate.

Typed end-to-end

Zod schemas validate every form input client-side, with matching constraints enforced at the database level so bad data can’t sneak in through a direct API call.

Screenshots

A look at the app.

Captured on an iOS Simulator running a native Expo dev build. Test data shown \u2014 not a real Paluwagan group.

Dashboard showing members, contributions collected, and next payout
Dashboard
List of active and archived Paluwagan groups
Groups list (active / archive)
Paluwagan detail screen with group overview
Paluwagan overview
Contribution periods with paid, partial, and unpaid status
Contribution tracking
Form to add a new member to a Paluwagan
Add member
Member list with swipe actions to edit, remove, or toggle active state
Member management (swipe actions)
Payout schedule with completed and scheduled payouts
Payout schedule

Want to see more?

Check out the code or get in touch about other work.