Give AI the judgment-shaped work.
Interpret intent, explore possibilities, explain a result, draft language, or compose. Keep arithmetic, permissions, identity, availability, and safety in code and authoritative data.
Code4Life / Engineering anatomy
A prompt can make an impressive moment. A product has to survive the next moment. These systems pair AI with durable state, explicit rules, real interfaces, validation, privacy boundaries, and useful failure modes.
See how the systems fit →The engineering difference
Useful for an experiment. Fragile when truth, continuity, recovery, or repeated use matters.
State persists. Rules are explicit. Failures are visible. People retain control.
00 / The method
The model is never asked to be the database, calculator, workflow engine, safety policy, or source of truth. It is one capable component inside a deliberately shaped system.
Interpret intent, explore possibilities, explain a result, draft language, or compose. Keep arithmetic, permissions, identity, availability, and safety in code and authoritative data.
Persist projects, messages, artifacts, revisions, runs, source lineage, and user corrections. A second visit should be smarter than the first—not a fresh chat pretending to remember.
Structured outputs, rule files, deterministic engines, revision checks, test suites, and visible status turn model behavior into something the product can accept, reject, and explain.
Durable retries, cached work, graceful fallback, local-first operation, and isolated adapters keep a missing model or service from becoming a broken product.
01 / Story production
A directing surface over a production line. The model contributes language and judgment; Temporal makes the work durable and a referenced artifact store keeps every stage traceable.
Open StoryCat ↗How it fits
Each production step has declared inputs and outputs. Flows are data, activities are composable units, and large artifacts travel by reference instead of bloating prompts or workflow history.
Why it matters
Retries, human gates, per-story isolation, progress visibility, and resumability turn a multi-stage production job into something operable—not a single model call you hope finishes.
Beyond prompting
Research, writing, voice, image, and publishing are coordinated as explicit work. The system knows what ran, what it produced, and where to continue.
The value: creative automation with memory, lineage, and a recovery path.
02 / Collaborative writing
A writer’s room where conversation becomes durable creative structure. AI output remains candidate material until a person promotes it to canon, maybe, rejected, or an open question.
Open Margins ↗How it fits
Fastify and a Vite interface persist rooms, named participants, role prompts, messages, jobs, artifacts, and revisions. Markdown mirrors keep approved creative knowledge portable and inspectable.
Why it matters
Different AI roles can propose structure, prose, polish, or tone feedback, but none can silently redefine the project. Rejected ideas are retained so they do not casually return.
Beyond prompting
Canon decisions, revisions, source messages, role-specific memory, semantic recall, and recovery-friendly mirrors transform ephemeral suggestions into governed collaboration.
The value: AI assists the room; the writer owns the world.
03 / Financial intelligence
A conversational tax-prep pipeline built around one non-negotiable boundary: the agent never does the math. It interviews, routes, reads, and explains; a deterministic engine computes.
How it fits
Federal and New York calculations load official year-specific rules. Source documents are retained as hashed evidence, form maps are revision-guarded, and calculators emit the ledger behind each result.
Why it matters
The no-math guard checks every monetary figure in model output against the engine. Server-side document custody is minimized: uploads and prepared forms can be processed in memory and returned to the device.
Beyond prompting
Provider failover, safe document parsing, manual-entry fallback, source verification, edge-case fixtures, and draft-watermarked forms create enforceable boundaries around the AI.
The value: the warmth of an interview, with the discipline of a calculator and evidence file.
04 / Hospitality systems
An agent-mediated restaurant experience built above a structured menu and real order state. The AI helps people discover and converse; it cannot invent ingredients, allergens, prices, availability, or totals.
Explore the menu PoC ↗How it fits
A Next.js guest surface talks to a Fastify API and Postgres. Framework-free domain packages own money, party sessions, ordering rounds, allocation, and state machines; adapters isolate external systems.
Why it matters
The same session survives switching among direct controls, typed chat, and speech. Deterministic allergy checks can block unsafe additions and point to staff rather than allowing confident improvisation.
Beyond prompting
Named guest turns, add-on rounds, open checks, verified facts, frozen safety context, and tender adapters make the AI part of a transaction system—not a menu chatbot floating beside it.
The value: natural hospitality without surrendering operational or safety control.
05 / Music sketching
A musical input instrument that turns touch, typing, humming, and timing into editable symbolic notes. There is no LLM in the critical path.
Open MidiGen ↗How it fits
Client-side pitch detection, rhythm quantization, note editing, playback, and a Standard MIDI File writer work from one state model. FastAPI persists phrase history in SQLite and transports optional renders.
Why it matters
The browser synth always works. Real-instrument mode pre-renders a chromatic octave and slices it into cached key samples, replacing a 1.4-second per-key delay with responsive playing.
Beyond prompting
Raw timing is preserved so tempo changes can re-grid a performance. Card edits flow back to the buffer. Pianoteq failure degrades quietly to synth while export remains independent of either sound engine.
The value: an idea becomes portable musical data before AI is ever invited to elaborate it.
06 / AI composition
A conversational composer that works in symbolic music rather than generated audio. The model writes a compact score; deterministic libraries render, play, and export it.
Explore ScoreCat ↗How it fits
ABC notation is compact enough for an LLM, expressive enough for multiple voices, and directly renderable. FastAPI handles MIDI parsing and orchestration; abcjs engraves and plays in the browser.
Why it matters
For longer pieces, ScoreCat plans the form, generates sections concurrently, sizes bars to duration, and assembles aligned voices. Later conversation revises the current score instead of starting over.
Beyond prompting
Seed-note extraction, form planning, section assembly, ABC cleanup, browser playback, and export constrain the creative model into a score that can be read and reused.
The value: conversation produces an editable artifact, not an opaque audio blob.
07 / Agent-native email
A real send-and-receive mail substrate with an adaptive retrieval system above it. No folders or labels: ask naturally, correct the agent, and let durable personal memory sharpen the answer.
Read the MailCat idea ↗How it fits
Cloudflare Email Routing and a Worker deliver raw mail through a tunnel to a local Maildir and SQLite index. Resend handles authenticated outbound delivery. Adapter seams keep those transports replaceable.
Why it matters
A canonical people-and-thread graph, structured query planner, semantic retrieval, reranking, and weighted pick/correction memory make relevance inspectable, account-scoped, and portable across models.
Beyond prompting
Immutable messages, idempotent ingestion, explicit source references, isolated draft storage, and an “AI proposes / human disposes” contract prevent a clever answer from becoming an untraceable side effect.
The value: less inbox administration, without giving an agent unbounded authority.
08 / Daily puzzle
A deliberately small counterpoint to the AI systems: a deterministic daily puzzle whose difficulty comes from generation constraints, not generated copy.
Play ColorPour ↗How it fits
The generator starts from completed tubes and applies legal inverse moves using a date-seeded random stream. It scores many attempts for transitions, mixture, and run length, then keeps the strongest board.
Why it matters
Date-based generation creates a shared daily ritual without a database or account. Progress, best moves, streak, and bonus boards stay on the device.
Beyond prompting
Legal-pour rules, solvability by construction, deterministic sharing, and a dependency-free static build are better engineering for this experience than introducing a model.
The value: the simplest architecture that can deliver a fair, repeatable, whimsical challenge.
09 / At a glance
Each system draws a different line between model judgment and dependable mechanism. That line—not the model name—is the important design choice.
The studio’s work begins with a human idea, then earns its usefulness through architecture: choosing what AI should do, what it must never do, and what the rest of the product must guarantee.
Return to the portfolio →