Systems that survive contact with reality

I build multi-agent orchestration, retrieval grounded in schemas that actually exist, and inference that keeps working with the network unplugged.

Multi-agent system · 2026 · Live

PrismOS

Seven agents that are required to disagree before any code ships.

  1. Context Analystagent 0 · pre-LLM
  2. Product ManagerPRD · classify
  3. Architectposition
    Engineerposition
    QAposition · flags
  4. Release Managerbinding rulings
  5. UI/UX Designerfrontend only
  6. Engineerbuilds the ruling
  7. Verdictbinding verdict

Five systems, one argument

Each one is a different answer to the same question: what has to be true for a language model to be trusted inside a system that has to be correct?

How the work changed

Each stage moved the line on what I was accountable for.

  1. Freelance AI Engineer

    Now

    Independent · 2025 — Present

    Owning the system, not just the surface.

    From delivering interfaces to being accountable for everything behind them.

  2. Freelance Web Developer

    Independent · 2023 — 2024

    Learning to ship on someone else's terms.

    From building what I wanted to build to building what someone had agreed to pay for.

Grouped by what I do with them

A list of logos tells you what someone has installed. This is organized by the job each layer is doing.

Orchestrating models
LangGraph · LangChain · LlamaIndex · MCP · Multi-agent systems · SSE · WebSockets · Structured output
Running inference
Groq · LLaMA · Mistral · Qwen · llama.cpp · Q4_K_M quantization · gpt-oss
Grounding retrieval
RAG pipelines · Semantic chunking · sqlite-vec · DataHub knowledge graphs · Citation enforcement · Benchmark rubrics
Serving it
FastAPI · Python · Node.js · Express · Next.js · TypeScript
Storing it safely
PostgreSQL · Supabase · Row-level security · SQLAlchemy async · asyncpg · SQLite
Building the product around it
Next.js · React · TypeScript · Tailwind CSS · Motion · Recharts · Design systems
Shipping it
Docker · Vercel · Railway · Render · Neon · Alibaba Cloud SAE · Git · Paystack

Seven things that cost me something

Every principle below came from something that went wrong. None of them are opinions I arrived at in the abstract, and I would not trust them if they were.

  • The bugs I remember all have the same shape. Nothing throws. Nothing logs. The system returns something plausible and you carry on.

    Fixed-size chunking split a transaction table mid-row, so the model got an amount with no date attached and answered confidently. An environment variable set at runtime where Next.js needs it at build time made a frontend fall back silently to fixtures, and the application looked like it was working. A Tailwind v4 migration compiled cleanly and simply did not apply any styles.

    So I have stopped treating a green run as evidence. The question is not whether it completed. It is whether I can name what it would look like if it were quietly wrong.

    Learned on FinSight · Semantic chunking around section headers, row boundaries as hard splits

Portrait of Elisabeth Nnamani

I am an AI engineer. Most of what I build sits in the same place: the layer between a language model and a system that has to be correct.

That layer is where the interesting failures live. A model that writes fluent SQL against columns nobody has. A retrieval step that splits a transaction table mid-row and hands back an amount with no date attached. A pipeline that reports success because the frontend quietly fell back to mock data. None of these throw an error. They return something plausible, which is worse.

So the work is rarely the model call. It is the chunking strategy, the schema the output has to survive, the gate that stops a run before it writes to production, the isolation policy that lives in the database instead of in a code path someone can forget. I care about the parts that hold when conditions are not ideal — which, in the market I build for, is most of the time.

Tell me what breaks

I am most useful on systems where a wrong answer is expensive and the failure does not announce itself. Open to AI engineering roles and selected contract work.

nnamanielisabeth@gmail.com
GitHubElisabeth56LinkedInelisabethnnamaniX@elisynthdev