
Jan ’25 – Jun ’25
Situation
Manual content personalization took 2+ hours per asset, from account research to copy-pasting and rewriting messaging, capping output at 2-3 assets per day and causing missed opportunities and team burnout.
Task
Build a pipeline that extracts account context, scores fit, and generates tailored on-brand content.
Actions
Choices & Considerations
I built a TypeScript CLI orchestrating seven specialized AI agents, including an extractor, a scorer, and a content generator, rather than one monolithic prompt, so each stage could be tested, cached, and swapped independently. For ingestion I chose a dual extraction strategy, structured data first (JSON-LD) with an AI fallback for unstructured pages, which kept cost low on clean sources and coverage high on messy ones. I added a configurable criteria-based scoring layer so the team could define what a good-fit account looks like and spend generation effort only where it mattered, and I used Claude for tailoring with two switchable voice modes (leader and builder) to match different buyer personas. A final agent produced structured talking points for sales conversations using the STAR method. The flow was: Source Page → Extract (JSON-LD, AI fallback) → Score (criteria) → Generate (persona mode) → Prep Materials, with logging and caching at every stage.
Tradeoffs
I gave up the simplicity of a single prompt and accepted the overhead of orchestrating multiple agents, plus a CLI-first interface instead of a polished UI. That was worth it at pre-seed, where speed to a working system and the ability to iterate on each stage mattered far more than interface polish. I also accepted some staleness risk from aggressive caching in exchange for a large cut in redundant API calls and cost.
Lessons Learned
I would define the scoring criteria and quality bar with the client’s go-to-market team before writing any agent code, and add human-review checkpoints and an evaluation set earlier, since I tuned output quality by feel before I had a systematic way to measure it.
Result
I cut per-asset personalization time from 2+ hours to 15-20 minutes, a 10x gain that took output from 2-3 to 20-30 tailored assets per day, with a 2-3x lift in response rates.
