01 · The challenge
What needed solving
A content agency was hand-writing 40–80 page project reports and synopses for academic clients — 6–10 hours per document across multiple writers, inconsistent tone between sections, and zero way to scale beyond their existing team. Every new report type meant rebuilding the formatting from scratch.
02 · Our approach
How we framed the work
We started with a discovery sprint to map the user journey, business goals and real constraints. From there we wrote a fixed-scope plan: clear milestones, weekly review gates on a staging URL, and a written exit criterion for every phase. The ai/ml space rewards teams that ship — not teams that plan — so we biased the engagement towards working software from week two onward.
03 · The solution
What we built
We built a templated generation pipeline on PHP + MySQL with an admin who authors a .docx template once (with [[topic]] and {{SECTION}} placeholders), then non-technical operators fill a short form and queue the document. A worker fans out OpenAI Chat Completions calls in parallel via curl_multi (one per section — abstract, introduction, literature, methodology, findings, conclusion), then TBS-ZIP injects the AI output directly into the original OOXML, preserving Times New Roman / 12pt / 1.5-line styling. A second template_type powers the shorter Synopsis flow off the same engine.
04 · The results
What changed for the client.
Document turnaround dropped from 6–10 hours of writing to ~2 minutes per report
Parallel curl_multi batching cut generation wall-clock by ~8x vs sequential calls
Non-technical admins ship new report types by uploading a template — no code changes
Tech stack
Want a similar outcome for your business? We'd love to hear about it.