Role: AI/Data-Driven Designer & Developer
What I owned: Data modeling, prompt engineering, validation pipeline, agentic repair loop, evaluation
Focus: AI output design, structured content systems, prompt-to-schema translation
Project type: AI agent — automating structured content creation for a live cooking app
I started by reverse-engineering the SousChef CMS specification — not as a developer reading documentation, but as a designer mapping the content system's logic. Every field, every enum, every relational dependency became a design constraint. I identified three layers of complexity the AI agent would need to handle: structural compliance (correct field types, required fields, nesting), content quality (instructions written for a 12-year-old, warm tone, one action per step), and relational integrity (each ingredient appears exactly once, timer triggers match countdown steps, variant assignments are correct).
Rather than treating the AI as a black box that either works or doesn't, I designed the system as a pipeline with explicit checkpoints. The AI generates structured JSON from raw recipe text. Pydantic validates every field against the schema. A normalize function catches predictable errors before they reach validation. And when validation fails, a critique-and-repair loop tells the AI exactly what broke and asks it to fix only that — up to three attempts before flagging for human review.




The AI agent runs as a four-stage pipeline: LLM transformation, unit normalization, Pydantic validation, and agentic repair. Predictable errors like casing mismatches get fixed in code — not burned on API retries. When Pydantic catches a structural error, the repair loop extracts the specific failure, formats it as a targeted critique, and sends it back to the AI for correction. Up to three attempts — after that, the recipe is flagged for human review rather than producing silently broken content.
I tested the agent on 10 recipes ranging from Tomato Soup to Spaghetti Bolognese. Five passed on the first run with zero repairs. All 10 validated and exported automatically with zero crashes. Two systemic bugs surfaced — the AI inventing enum values not in the schema, and rate limits triggered by the repair loop's retries — both solved through more explicit prompt rules and infrastructure adjustments.
These shifts translated into measurable improvements:
Recipes passed full validation on the first AI run with zero repair attempts
Recipes validated and exported automatically — zero crashes, zero silent failures
System prompt rules engineered from iterative failure analysis
Manual CMS entries required — full automation from raw text to structured data