Backend Engineer · Bandung, Indonesia

I make production backends faster, safer, and easier to change.

5+ years across fintech, healthcare, SaaS, and AI. Now building the scheduling backend at CheckProof AB, a SaaS platform used in 35+ countries.

Fig. 1 · Scheduler cutover at CheckProof AB
legacy scheduler one switch scheduling tool
tasks load-tested
1M
failures or deadlocks
0
DB calls per status change
−75%
Open the case →

02 / Before → after

PrivyID · 2024 · Go

2h 5m

Wallet ID generation

Rebuilt in Go with goroutines and distributed workers for the core wallet service.

Open the case →

Luce · 2025 · Rails

errors −73%

Rails reliability overhaul

A Rails 7.0 → 7.2 upgrade and every high-severity security issue removed on a large monolith.

Open the case →

D’Health · 2022 · Team lead

team of 5 10+

Hospital system for 10+ hospitals

Led five engineers building a hospital information system used by more than ten hospitals.

Open the case →

03 / How I work

  1. Principle 01

    Agents write the code. I own the decisions.

    An agent studies the ticket, records it in a knowledge wiki, and drafts a plan that I and a fresh agent review. The executor agent proves each change with tests it runs locally, such as characterization tests before a refactor. The merge request stays a draft until the reviewer agent and I have both checked it.

    Fig. 3.1
    1. 01 understand the ticket agent
    2. 02 record it in the wiki agent
    3. 03 draft the plan agent
    4. 04 review the plan ↺ me + agent
    5. 05 implement agent
    6. 06 prove it with tests agent
    7. 07 review the code ↺ agent
    8. 08 review the draft MR ↺ me
    9. 09 open the MR, update the wiki me

    2× reviews on every plan and every change

  2. Principle 02

    Pin down the old behavior before replacing it.

    Captured CheckProof's legacy scheduler in characterization tests, then moved customers' live schedules to the new system with a rollback switch that worked at any point.

    See the proof →
    Fig. 3.2
    legacy new

    rollback at any point

    1 switch to roll back the cutover

  3. Principle 03

    Make code safe to change, then change it.

    Upgraded Luce's Rails monolith from 7.0 to 7.2 by resolving transaction rollback, encryption, and dependency issues, with RSpec and VCR tests as the safety net.

    See the proof →
    Fig. 3.3
    • transaction rollback
    • encryption
    • dependency issues

    Rails 7.0 → 7.2

    26% → 83% backend dependencies up to date

  4. Principle 04

    Code is cheap now. Proof isn't.

    Load-tested CheckProof's task lifecycle monitor against a 1M-task backlog before trusting it: zero failures or deadlocks, and 75% fewer database calls per status change.

    See the proof →
    Fig. 3.4

    tasks in the backlog 1,000,000

    failures
    0
    deadlocks
    0

    −75% database calls per status change

04 / Timeline

05 / Side project

themx

Gives AI coding agents the design context they need, so the UI they build follows one consistent theme.