Back to showcase

Personal project · 2026

KithFund

Pool together. Lend fairly. Stay accountable.

29

database tables

28

migrations shipped

Web + mobile

from one shared API

KithFund admin dashboard
Treasurer dashboard with fund KPIs and collection trends
KithFund mobile app
Member mobile app for contributions, loans, and ledger

Problem

Member-run cooperative sinking funds are usually tracked in spreadsheets — error-prone, hard to audit, and painful for members who want to pay dues or check loan balances on mobile.

Solution

KithFund is an end-to-end fund management system: treasurers get a full admin workspace with a contribution matrix and ledger; members get a native mobile app to pay dues, upload GCash proofs, and track loans and projected distributions.

Users: Cooperative treasurers and members in the Philippines and similar communities running biweekly contribution cycles, internal loans, and cycle-end distributions.

Architecture

TanStack Start web app and Expo mobile client share a versioned Hono REST API backed by PostgreSQL (Drizzle ORM). Payment proofs upload to object storage (R2/S3). Push notifications via Expo; email via Resend. Monorepo packages share types, formatting, and a typed API client.

Web (TanStack Start) ──┐
                       ├──► Hono API (/api/v1) ──► PostgreSQL
Mobile (Expo) ─────────┘         │
                                 └──► R2/S3 · Resend · Expo Push

Deep dives

Contribution matrix

A biweekly payment grid across all member heads in the active cycle — designed for 100 heads × 26 periods.

  • Each member can hold 1–10 heads (separate contribution obligations)
  • Matrix UI surfaces paid, pending, and overdue states at a glance
  • CSV import for bulk contribution entry

Payment proof approval

Members submit GCash or bank transfer proofs from mobile; treasurers approve from an admin inbox.

  • Presigned uploads to object storage with idempotency keys
  • Pending payments queue with contributor context
  • Ledger reconciliation after approval

Audit hash-chain

Append-only audit log with cryptographic hash chain for tamper detection.

  • Every admin action recorded with actor, timestamp, and payload
  • Hash chain verification on demand
  • Cycle-frozen distribution snapshots for end-of-year close

Tech stack

  • Tailwind CSS
  • shadcn/ui
  • Expo
  • PostgreSQL
  • Railway

Frontend

  • React 19
  • TanStack Start
  • Tailwind CSS
  • shadcn/ui
  • Expo
  • React Native

Backend

  • Hono
  • PostgreSQL
  • Drizzle ORM
  • Better Auth
  • Zod

Infrastructure

  • Railway
  • Cloudflare R2
  • Resend
  • Expo Push

Interested in how this was built?

Read the technical write-up or get in touch about full-time or contract roles.

Full-Stack Software Engineer · Remote · Southeast Asia