Personal project · In progress
Kasa
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.
- Stack
- Go · PostgreSQL · Core Banking · Double-Entry Ledger · Fintech · DDD
- Links
- Source Code
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
- 01Real accounts, transfers, and loans, all backed by a double-entry accounting ledger with atomic posting and enforced balance invariants.
- 02Built-in Learn Mode that explains concepts like double-entry bookkeeping and interest accrual as you use the app, not in a separate doc.
- 03Modeled on production banking concepts: idempotency, account lifecycle, holds, reversals, and transaction safety.
- 04Built in idiomatic Go with PostgreSQL, sqlc, goose, and Docker, using a layered architecture and TDD for domain-critical logic.
Want something like this built?
Work with me