01 / 04
In private use
Kannuku
- The problem
- A lending business run on notebooks and one spreadsheet. Interest worked out by hand, monthly, and no dependable answer to the only question that matters: who owes what today.
- What I built
- A desktop ledger holding parties, loans, deposits, repayment schedules and receipts, with the interest rules encoded exactly as the business actually applies them, including the awkward ones nobody writes down. Cash and account movements stay separate throughout, because conflating them is what made the spreadsheet untrustworthy.
- Worth knowing
- It needs no internet and no server, because it has to work during a power cut in a town with patchy broadband. The database is encrypted at rest, since it holds other people's financial position. And overdue is a defined rule, not a feeling: unpaid more than ten days after a month closes.
Electron · TypeScript · React · encrypted SQLite · Mac and Windows installers



The interest engine, which is the part that took the longest: what is owed, by whom, for which month. Test workspace, invented names.









