Dimas Prakoso, backend developer.
I build apps for small businesses that have to keep running when the signal drops, with money that adds up to the last rupiah.
Press ⌘K or / to explore with the keyboard.
dimas@ruang-kode: ~
$ whoami
dimas prakoso, yogyakarta, writing code for 9 years
$ cat stack.txt
php=laravel go=1.23 ts=alpine sql=postgres
$ status
● open to projects from January 2027
$
~/projects
- rupiah-js ★ 1.2k Formats, parses, and adds up rupiah with no rounding errors. Runs in several point-of-sale apps. TypeScript npm zero dependencies
- laravel-nik ★ 486 Validates and reads Indonesian ID numbers (NIK): date of birth, sex, and region code, for Laravel apps. PHP Laravel data validation
- warung-pos ★ 312 An offline-first till for corner shops: keeps working without internet and syncs when the signal comes back. Laravel + Alpine PWA IndexedDB
- peta-genangan ★ 204 A live flood map of Yogyakarta built from residents’ reports through a WhatsApp bot, refreshed every 5 minutes while it rains. Go maps bot
~/now
Updated 10 October 2026.
- Working on
- Rewriting warung-pos so a sync can never record a sale twice.
- Learning
- Rust for CLI tooling, starting with a parser for bank statement CSVs.
- Reading
- Designing Data-Intensive Applications, the chapter on replication.
- Open to
- 3–6 month contracts from January 2027, remote or in Yogyakarta.