I build LLM-powered products end to end and care most about the boring part that makes them work: typed outputs, validation, retries, and evals. Everything below is solo-built and shipped.
typecast · Structured Output Agent
Turns messy job descriptions into typed, validated JSON, and measures how often that JSON is actually correct. A strict Pydantic schema, a retry loop that feeds validation errors back to the model, an eval of 4 setups × 2 models on 30 real job posts, and an MCP server any AI agent can call to check its own output.
Finding: strict JSON mode made both models 98.9% valid, but only 84.7% (235B) and 67.1% (7B) of fields were correct. Valid isn't the same as correct.
Python Pydantic LiteLLM MCP OpenRouter Qwen
Next: PyPI package.
resume-ai · AI resume builder, in production
Live preview, multiple templates and ATS-friendly PDF generation, backed by Gemini.
Next.js FastAPI Gemini 2.5 Flash Neon Postgres SQLAlchemy Pydantic v2 Browserless Cloudinary
Next: Langfuse eval harness + an agent feature.
- Shipped
typecast: eval harness + MCP validator server - Open to applied AI / LLM engineering roles and internships