Next.jsPostgreSQL

Duitku

Duitku membantu kamu mencatat pemasukan dan pengeluaran dengan mudah, memahami ke mana uang pergi, dan melihat gambaran keuangan yang jelas β€” tanpa kerumitan.

Duitku

Goal

Help individuals record income and expenses without the friction of a heavy finance app.

What I built

  • Fullstack money-tracking web app
  • Clean income/expense entry and categorization
  • Dashboard with a clear financial overview
  • PostgreSQL-backed data layer

Outcome

  • A focused product that lowers the barrier to tracking money
  • Simple UX that surfaces where money goes
  • Extendable codebase for future features

Constraints

  • Solo build balancing product clarity with a maintainable schema
  • Kept the interface minimal so non-technical users are not overwhelmed

Implementation overview

Duitku was built as a lightweight personal finance product for people who want clarity without the weight of enterprise accounting software. The page and product flow focus on one daily habit: record income or expenses quickly, then return later to understand patterns. That meant the interface needed to be direct, the dashboard readable, and the data structure ready for future categories, recurring transactions, and reporting features.

The main challenge was reducing friction. Finance tools often fail because users feel punished by long forms, technical labels, or dashboards that only make sense after weeks of data. Duitku needed to feel useful from the first session while still keeping enough structure for accurate reporting.

I designed the experience around short entry flows, obvious transaction types, and a clean PostgreSQL-backed data model. The app separates capture, review, and summary screens so users are not forced to think about analysis while entering a transaction. On the marketing side, the project page explains the value in plain language instead of selling a complex finance platform.

Key decisions

  • Kept the first action visible so a returning user can add a transaction without searching through navigation.
  • Used simple category and amount patterns that are easy to validate and extend when future reports are added.
  • Prioritized mobile layout because personal finance entries usually happen immediately after a purchase or transfer.
  • Kept copy short and practical so non-technical users understand the benefit before reading feature details.

Validation and next steps

The result is a focused fullstack product with a clear upgrade path. It already covers core tracking behavior while leaving room for budget limits, month comparison, CSV export, and notification workflows. The important measure is not visual complexity; it is whether a user can record data consistently and see where money goes without needing a tutorial.

The next meaningful iteration would add category-level insights, monthly comparisons, and export tools for people who want to review spending with a partner or accountant.

Project FAQ

Was Duitku built as a landing page or an application?

It is a fullstack web app with product screens and a supporting presentation page, built to show both the user experience and implementation approach.

Why use PostgreSQL for a small finance tracker?

Finance data benefits from relational structure, transactions, and reliable querying, especially when reporting and export features are planned.

What business lesson does this project show?

Even a small tool needs sharp information architecture. The product becomes more useful when the first action, data model, and summary view support the same habit.

Dicco Suryo Kartiko β€” Fullstack Developer

Written & maintained by

Dicco Suryo Kartiko

Fullstack Developer Β· Yogyakarta, Indonesia

Fullstack developer with 4+ years of experience shipping production web apps and conversion-focused websites. I've worked on enterprise software at Hashmicro and Nawadata and built landing pages, company profiles, and web apps for service businesses across Indonesia. Everything on this page is written and maintained by me directly.

GitHubLinkedInLast updated: 2026-06-17