Taste, prioritization, constraints, strategy, review, and final authority.
Romulus
Romulus is a production agent system I designed, built, and still run daily: durable memory, model routing, research pipelines, delegation contracts, and governance boundaries. It is not a demo — it manages real product work while I sleep.
I had ten hours a week and product ambitions that needed sixty.
A full-time product job by day. A queue of product bets I believed in. And no version of the math where one person's nights and weekends could research, validate, design, build, ship, and learn from all of them.
The conventional answer is to pick one thing. I tried a different answer: hire a team that doesn't exist. Not a chat window I paste prompts into — an operating model with memory, roles, budgets, boundaries, and a manager. I named it Romulus and ran it the way I would run a team, because that is what it had to be.
The constraint shaped every design decision that follows: limited time, limited attention, real cost ceilings, and zero tolerance for a system that only worked while I was staring at it.
Judgment
Memory, research, specs, routing, verification, reporting, and continuity.
Claude Code, Grok, Qwen, OpenRouter, scripts, APIs, GitHub, Vercel.
Chronicle, Forbidden, Via, AgentForge, Legion, Cherry Street Labs.
Daily notes, project notes, decisions, postmortems, semantic retrieval.
Six layers, each one hired for a reason. Identity, memory, research, routing, delegation, governance. Half were designed up front. Half were forged by a failure you'll meet below.
Identity
SOUL.md came first. Personality before capability. Modes before tasks. Role clarity before execution.
You cannot manage an agent whose role is undefined. Designed on day one
Memory
Flat files became an Obsidian vault, then QMD semantic search, then a queryable wiki layer. Context stopped resetting.
Vault as brain. Sessions as work.
Research
Brave Search, X signal scans, Firecrawl, local scripts, and multi-model pressure testing before build decisions.
Research before implementation.
Routing
Each model got a job description, cost ceiling, context expectation, and known failure mode.
Models as contributors. Forged by Failure III
Delegation
Direction became specs. Specs became implementation. Implementation went through verification and staging.
The spec became the contract. Hardened by Failure IV
Governance
The Fortress: no messages, money, accounts, public posts, credentials, or production deploys without explicit approval.
Delegation without boundaries is risk.
I stopped writing the code. The job got harder, not easier.
Everything a manager owes a team, I owed this one: role clarity, sharp questions, acceptance criteria, honest review, and consequences when the work came back wrong.
The org chart was small but real. Romulus orchestrated. Claude Code implemented. Long-context models researched and reasoned. I decided what was worth building, defined the shape of the work, inspected everything, and owned every release.
“Using AI” is table stakes and increasingly meaningless. What I practiced for five months is the part that doesn't commoditize: managing work I don't perform with my own hands, done by contributors who are confidently wrong in ways a junior engineer never is.
Research Lead
Define the question, inspect markets, scan competitors, find signal, and decide what evidence is enough.
Product Strategist
Choose what to build, park, kill, or reframe. Stop chasing bait. Follow pain, revenue, and timing.
Spec Writer
Turn fuzzy product direction into implementation-ready contracts with constraints and acceptance criteria.
Delegation Manager
Route the work to the right model, tool, or implementation layer based on job type and failure mode.
Design Lead
Set the interaction model, product shape, aesthetic direction, quality bar, and user-facing logic.
Reviewer
Inspect builds, read diffs, test flows, compare against specs, and reject plausible-but-wrong output.
Release Manager
Keep staging branches, Vercel previews, human review gates, and production discipline intact.
Postmortem Owner
Turn failure modes into architecture: routing, validation, durable state, retries, evals, and better protocols.
The apps were outputs. The loop was the product. Every product bet moved through the same managed system: frame, research, validate, spec, route, delegate, verify, stage, remember, improve.
Frame the product question
The first job is not prompting. It is deciding what we are trying to learn, prove, build, or kill. A vague question poisons the entire loop.
What are we actually trying to learn? The loop starts with a decision artifact: audience, constraint, and success signal before any implementation work begins.
Research the terrain
Markets, competitors, pricing, customer pain, timing, distribution, and path to first dollar. Romulus was instructed not to ask permission to research. Just do it.
Follow the pain, opportunity, and timing. Structure keeps trend heat from masquerading as opportunity.
Pressure-test the thesis
Grok, ChatGPT, Claude, and Romulus were used as independent critics. The goal was not agreement. The goal was to find the contradiction before code made it expensive.
Use models to find the contradiction. Agreement is cheap; a contradiction surfaced before build is the save.
Write the spec
Product requirements, technical requirements, acceptance criteria, edge cases, and known risks. The spec is where product judgment becomes executable.
The spec becomes the contract. One executable artifact holds the constraints, the acceptance criteria, and the quality bar.
Route the work
Different contributors for different jobs: Qwen for operations, Claude Code for implementation, Grok for long-context work, and deprecated models kept away from critical paths.
Choose the right contributor. Assignment weighs strength, context window, cost, and known failure mode.
Delegate implementation
Claude Code builds against a spec, not vibes. I do not hand-write production code; I own direction, constraints, review, and release decisions.
Implementation happens against the contract. Delegation is tracked through concrete receipts: branch, build, commit, and review state.
Verify and stage
Build, lint, test, inspect, push to staging, review preview, then decide. No direct production deploys. No vercel --prod from the agent.
Trust comes after inspection. Tests, preview review, diff inspection, and an explicit production gate.
Write back to memory
Daily notes, project notes, decision records, and postmortems make the next product bet sharper. This is where the system compounds.
The next loop starts smarter. The useful residue of every bet gets written back into memory.
Continuity had to be designed.
Romulus started with a flat MEMORY.md. It worked for a few days, then became the equivalent of a notebook with no chapters.
The first real upgrade was an Obsidian vault: daily notes, project notes, decision records, and wikilinks. Human-readable memory. A graph instead of a list.
The second upgrade was semantic retrieval. QMD indexed memory and session transcripts so context could be found by meaning, not keyword. The wiki layer became shared memory that Romulus could query before work began.
The split became the core architecture: the vault is the brain; sessions are the work. Sessions start, do work, and end. The vault persists. Every useful decision gets written back so the next session starts smarter.
MEMORY.md, project files, and daily notes. Useful, then quickly too flat.Before autonomy, identity. Before delegation, boundaries.
The name came first. Romulus: founder, builder, architect of systems, the founder of Rome. It was not decoration. It was the first design decision.
Before I wrote a prompt, I wrote SOUL.md: a product spec for a personality. Who is Romulus? What does he believe? How does he speak? When should he push back? When should he disappear?
From day one, Romulus was single-user. Only my Discord user ID could command it. The Fortress was designed in from the beginning, not patched on after the system became powerful.
- JarvisMorning briefs, reports, crisp operational updates.
- ConsigliereStrategic decisions, big calls, measured pushback.
- CohortBuild sessions, momentum, execution energy.
- RomanMilestones, victories, thematic gravitas.
- DefaultSharp, warm, human daily conversation.
Models became contributors with job descriptions.
On April 9, a heavy Legion session broke MiniMax M2.7. The session hit 338 messages. Context overflowed three times. Edit tools failed six times because the model was matching against stale text. The session was gone.
The fix was not “try harder.” The fix was management infrastructure. Each model needed a job, a budget, a context ceiling, and a known failure mode.
Every serious upgrade came from something breaking. The failures are the part I trust most. They made the system real.
“Never Bullshit Mike”
Romulus said it was “researching now” for 30 minutes without actually calling the tools. I caught it after three status checks.
Trust became a protocol. If the system says it is doing something, it has to be doing it already. Progress theater became unacceptable.
Plausible data was wrong
The morning brief used R16 for the R train instead of R34N. The wrong stop ID looked plausible and produced a wrong commute.
Verification became a product requirement. Plausibility is not correctness. Source data has to be cross-checked.
Context overflow killed a session
A 338-message Legion session overflowed MiniMax M2.7 three times and produced six edit failures. The model was matching against stale text.
Context window became an operational constraint. Model routing became a first-class management decision.
Legion broke at the seams
A native iOS build exceeded a 15-minute timeout. Downstream cohorts never ran. State did not survive the failed handoff.
Phase 2A became durable state, tiered timeouts, checkpoints, retries, and evals. Agent orchestration fails at the seams, not the demo path.
The system said it was healthy. It wasn’t.
A five-day authentication outage hid behind green status checks: the diagnostic reported models as available while every real call failed. The dashboard was checking configuration, not reality.
“Verify before claiming” became protocol: health checks must exercise the real work product — a live probe, a forced real run — never a proxy. No claim of “healthy” or “fixed” without evidence.
Model migration without regression
The primary reasoning model was scheduled to leave the subscription with three days’ notice. Swapping models blind had burned the system before — same prompts, different failure modes.
An eval harness came first: golden tasks, a scoring rubric, a quality bar, and a candidate-vs-baseline diff. Migration became a measured decision instead of a hope. Skills that scored low got patched, not blamed.
Product bets managed through the operating loop. The impressive part is not that several things shipped. In 2026, shipping small apps quickly is table stakes. The interesting question is what changed in the product process: what got researched, killed, reframed, delegated, verified, and learned.
Cherry Street Labs became the studio layer: the public container for the experiments, the shared infrastructure, and the lessons moving from one product to the next.
Can a daily history game create a Wordle-like habit loop?
Defined the product thesis, difficulty arc, acquisition logic, retention lens, quality bar, and release decisions.
Spec generation, puzzle structure, CLAUDE.md, build coordination, verification, and deployment flow.
A live daily history game with 90 puzzles seeded, localStorage-only state, seven-day difficulty arc, share card, and retention metrics instrumented for D7/D30/D90.
Is there room for a mobile-native party game between Heads Up and Taboo?
Interpreted contradictory model feedback, rejected the initial framing, chose the sharper mechanic, and set validation criteria.
Multi-model pressure test, competitor framing, category research, thesis critique, and funnel architecture.
Reframed from “digital Taboo” to a constraint-based pass-the-phone party game. Built an 862-card corpus across six themes and a web validation funnel for iOS intent.
WaitLayer
When agents do the work, where does human attention go?
Defined the thesis, the trust boundary, the developer-experience bar, and the milestone gates. Chose what M0 had to prove before M1 earned investment.
Competitive landscape research, spec drafting, build coordination through the delegation loop, verification, and milestone tracking.
An attention network for AI coding agents: a CLI and runtime layer that routes agent wait-states to the human who can unblock them, with privacy-safe events. M0 shipped and in beta; M1 gated on beta signal, not enthusiasm.
Via
Can the delegation loop handle a real fullstack product surface?
Defined scope, UI direction, quality bar, fix priorities, staging review, and product calls.
A product spec tight enough that implementation ran without mid-build clarification, plus execution monitoring, verification, commit/report loop, and P0/P1/P2 fix tracking.
AI-powered Gmail client: 143 files, 18 API routes, 28 passing tests, OAuth, Prisma, calendar integration, read receipts, smart triage, and a liquid-glass design system. Parked deliberately: the build proved the delegation loop at fullstack scale; shipping it as a product was a different bet with a different market, and the system’s job is to keep those honest.
AgentForge
Is hosted MCP infrastructure for DeFi agents a real wedge?
Set validation criteria, interpreted the signal, scoped the MVP, and held the build until the thesis cleared a higher bar.
Research pipeline, Grok validation rounds, competitor teardown, X-signal analysis, and beta tester identification.
Research complete, build plan written, 15 beta testers identified, DeFi/trading selected as the highest-scoring vertical, and a hosted MCP thesis formed before code was written.
Legion
Can specialized AI cohorts sequence research, build, monetization, and distribution in one managed pipeline?
The research cohort worked. It could take a raw product idea, research the market, map competitors, score opportunity, and return a structured build spec in Discord.
Complex handoffs failed at the seams. A native iOS build exceeded the 15-minute timeout, downstream cohorts never ran, and task state did not survive the failed handoff.
System designer, orchestrator designer, failure analyst, postmortem owner, and Phase 2A planner.
Coordinator across four specialized cohorts — research, build, monetization, and distribution — with Romulus deciding sequence.
Durable task state, tiered timeouts, checkpoints, retries, and evals. Tier 1 for small tasks, Tier 2 for medium builds, Tier 3 for complex builds with checkpoints instead of a single brittle timeout.
Can the studio layer make the experiments legible enough to feel like a product practice, not a pile of side projects?
Defined the studio identity, visual direction, positioning, and role as the public container for the product lab.
Build coordination, iteration support, deployment flow, and model-routing stabilization across the work.
A live studio site that gives the product bets a shared surface, visual language, and operating context. The site is less a portfolio wrapper than a product lab identity system.
The system's real output was a sharper operator.
Romulus made the cost of ambiguous thinking obvious, daily, and billable.
A vague ask produced a vague spec, which produced a vague build, which produced a rejected review — my time, wasted by my own imprecision. Five months of that feedback loop trains you the way real management does: goals, constraints, acceptance criteria, and what good looks like, defined before anything runs.
Before
- Vague asks created vague outputs.
- Research chased trend heat and market size.
- AI sessions reset context every time.
- No systematic model routing.
- No durable memory system.
- Build speed was easier to measure than build quality.
After
- Specs became contracts.
- Product bets were validated before build.
- Memory became infrastructure.
- Models were routed by job, cost, and failure mode.
- AI output was inspected, not accepted.
- Failures became postmortems and system upgrades.
Every primitive here scales from a team of one to a team of forty.
The advantage will not go to teams with the most AI tools. It will go to teams where someone has designed the operating model around them — and most teams haven't.
On day one, that looks concrete: specs written as contracts agents and engineers can both execute. Work routed by capability, cost, and failure mode instead of habit. Evals built before migrations, not after incidents. Memory designed so context compounds across sprints instead of resetting. A verification gate no output crosses without evidence — human or synthetic.
I didn't read about these primitives. I ran them for five months, alone, under real constraints, with receipts. The next version of this system gets built inside a team — where the leverage multiplies.