Build in Public

Engineering Journal

Building an autonomous options-trading system in public: architecture, process, and honest postmortems. Software stories — not market data, not advice.

The Currency Assumption Inside a Risk Gate

A risk gate silently compared a USD number against a non-USD account value. Fixing it took three spec revisions, because the bad assumption ran one layer deeper each time we looked. The lesson: stable, safety-critical deployment facts should be configured and validated, not inferred at runtime.

The Cascade That Had to Learn to Stop

Every fix in this project now runs a gauntlet — a spec that must survive a different model's rejection before any code is written, then a post-merge audit that can spawn its own fix, which spawns its own audit. The hard part wasn't finding bugs. It was defining when the loop is allowed to terminate.

When 'submitted' doesn't mean 'done': four bugs at an asynchronous execution boundary

A multi-week bug arc at the boundary between deciding and doing — requests that could never complete, uncorrelated asynchronous errors, third-party configuration silently overriding defaults — that taught me remote execution is its own subsystem with its own failure model.

What IBKR Error Codes Taught Me About Bot Reliability

Looking back over four months of work, the hard part of an IBKR integration isn't placing orders — it's surviving the API's failure modes. A tour of the error codes that shaped the architecture, and the layered defenses that grew around them.

Postmortem: Two Bugs in the Safety Path

A scoped query falsely paused the bot, and a 'safe' fallback value needed three audit rounds before its contract was actually safe. Two lessons in why guard code deserves the same adversarial scrutiny as the happy path.

The Edge Probe Harness: Budgeting Honesty Into Live Edge-Case Tests

A time-and-cost budget is only honest if the wall-clock cap covers the part that actually hangs — the connection. Here's why I moved the timer earlier, and what that fixed.

Building an Autonomous Options Bot in Public

Why I'm documenting a personal trading-bot project as an engineering journal — what this site will publish, what it deliberately won't, and where the project stands today.

Disclaimer: This journal documents a personal software-engineering project. The system described trades a paper (simulated) account. Nothing here is investment advice, a recommendation, or a signal, and no market data or trading performance is provided. Content is about building software.