Hendy Saputra
Hire Me
Back to work

Kasa

Coming Soon
Preview coming soon

A simplified bank built from scratch in Go, with real accounts, transfers, and loans on a genuine double-entry ledger, so anyone can see how core banking actually works.

Overview

Kasa is a simplified bank I built from scratch in Go, so anyone can learn how core banking actually works, not just use it. It has real accounts, transfers, and loans, backed by a genuine double-entry ledger, plus a built-in Learn Mode that explains concepts like double-entry bookkeeping and interest accrual as you use it. Under the hood it's built around the same guarantees that keep money safe in production: a ledger that never drifts, transactions that survive retries, and account state that stays correct under concurrent load, drawing on real core banking work at Hana Financial Group.

Highlights

  • Real accounts, transfers, and loans, all backed by a double-entry accounting ledger with atomic posting and enforced balance invariants.
  • Built-in Learn Mode that explains concepts like double-entry bookkeeping and interest accrual as you use the app, not in a separate doc.
  • Modeled on production banking concepts: idempotency, account lifecycle, holds, reversals, and transaction safety.
  • Built in idiomatic Go with PostgreSQL, sqlc, goose, and Docker, using a layered architecture and TDD for domain-critical logic.

Built with

GoPostgreSQLCore BankingDouble-Entry LedgerFintechDDD
Source Code