A personal money planner built around one question: "My cash is Rp2,226,000, payday is the 25th — is it enough?" Instead of full bookkeeping, Uangku tracks spending against the payday cycle and answers with one big number (days left), one curve (balance projection), and one verdict (safe / short by N days).

  • Built the entire app from scratch in Next.js 14 + TypeScript — with Prisma/PostgreSQL persistence, NextAuth authentication, and Zustand for client-side state, keeping the calculation model on the client while the database stores the cycle as a single JSON blob per user.
  • Designed the payday-cycle engine — time is measured from today to the next payday rather than the calendar month, with per-day costs (meals, transit) multiplied by remaining days so the numbers move on their own each day with no manual editing.
  • Implemented the runway and "unrecorded money" metrics — computing how many days cash survives at the current burn rate, and surfacing the gap between salary, paid-off items, and cash on hand to expose spending that never got logged.
  • Built a kanban expense board with four status columns (Ongoing, Upcoming, Hold, Done), drag-and-drop plus keyboard/touch controls, category tagging, and per-column subtotals, alongside a stepped balance-projection curve that flags the day the balance hits zero.
  • Shipped Excel export/import via SheetJS with a versioned schema, header validation, and replace-or-merge preview — the official migration path between devices — plus cycle close-out that archives the month and rolls recurring activities into the next cycle.