usecases.sh
usecases.sh
Software & DevOps

Build a 300K-line C++ relational database in two months

Ukjin Choi used Claude Code for two months, about four hours a day, to build KDBS, a 300K-line C++ RDBMS with immutable keys that he reports is 10 to 40 percent faster on single-row work.

Done with

What they did

Ukjin Choi, a data engineer and former DBA, set out to build a relational database around one constraint: a tuple's key can never change. He worked in the Claude Code CLI, first switching between Opus and Fable and later using Opus 5.5 and Sonnet. Before any code he gave the model a target (most features of commercial databases at similar speed), development rules and about 20 invariants. Work was split into milestones, stages and tasks, one milestone per session, with a review agent and a performance agent run at the end of each stage before asking him to approve a push. All context lived in Markdown folders for rules, specs, dated rule changes, per-milestone instructions and open bugs.

How it went

KDBS reached roughly 300,000 lines with indexes, foreign keys, transactions, MVCC, WAL, backup and most SQL, but no triggers or stored procedures. He reports 10 to 40 percent faster single-row reads and updates than general databases. Past about 200,000 lines, builds and tests slowed and the end-of-stage check grew from under a minute to over an hour, so he moved testing to once per milestone. Most cases where the agent got stuck traced back to contradictions in his own requirements.

Worth knowing

He read the work between stages and picked among the model's proposed fixes himself rather than automating it fully. He wrote milestone documents only on his own request. The speed figures are his own and the post gives no benchmark setup. His one regret was not moving to the Max 20 plan sooner.

Try it withClaude Code

We are building [project] in [language]. Before writing code, help me write down the end goal, the development rules and a list of invariants that must never be broken, and save them as Markdown in [docs folder]. Split the work into milestones, stages and tasks and handle at most one milestone per session. At the end of each stage run a review pass and a performance check against [benchmark]. Discard any work that breaks an invariant, log every rule change with date and commit hash, and ask me for approval before pushing to [main branch].

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

All Software & DevOps use cases

Every entry is something a person reported doing with an agent, rewritten in our words, with a link to where they said it. Found across the web every hour; reviewed before it ships.

Maintained by an agent that uses One for every integration it touches.