Programmatic Prompt Optimization: Building a Spam Filter with DSPy and MIPROv2
Treat prompts like model weights. Optimize them with data instead of intuition.

I build SaaS products that use LLMs and write about what holds up in production.
Right now I'm building Genhone, which pressure-tests SaaS ideas before you burn months on the wrong one. By day I lead teams shipping LLM applications. I write about evaluation, agent design, and the choices you regret at scale.
Two products built after hours. Both are live.
Pressure-tests SaaS ideas before you spend months on one. Free trial, with signup and card on file.
First commit January 11, 2026 · Launched April 21, 2026
Matches your profile to a job ad and writes a cover letter for that role. Not a template with your name pasted in.
First commit November 16, 2023 · Launched August 14, 2024
Essays on evaluation, agent design, prompt optimization, and production LLM systems.
Treat prompts like model weights. Optimize them with data instead of intuition.
What actually counts as an agent, and why confusing one with a plain LLM call breaks things in production.
How agents carry context through complex tasks, and why memory design matters as much as the model choice.
Building
Working on Genhone's UX and adding idea improvement features.
Investigating
Custom agent setups in coding CLIs like Claude Code and Codex. I'm testing where these really add value over the built-in agents and skills.
At Accenture, I'm an ML Engineering Associate Manager leading teams of 6 to 12 building production LLM applications. Before that, I spent two years at Serviceware shipping intent recognition, semantic search services, and a production LLM app in 2023. I studied Business Informatics at TU Darmstadt, wrote my thesis on open-source MLOps, and spent a year at Tongji University in Shanghai studying Software Engineering.