From sales friction to AI product system
Causeway is an education platform used by seven medical schools internationally. This is how a commercial bottleneck became a live AI course-generation layer — and what it took to ship it inside an existing product.
The problem
The product was valuable but hard to demonstrate quickly. Universities already had source material; Causeway's value depended on the effort of turning that material into interactive learning experiences. That created friction in three places:
- Sales conversations were too abstract
- Educators had to imagine the transformed version of their own material
- Marketing assets couldn't speak to the pain points of specific customer profiles
Research and insight
I researched educator discussions across Reddit, Quora, and academic forums to understand the recurring frustrations around course creation and EdTech adoption. The insight was that the product needed a faster self-serve value moment: educators should be able to upload existing content and see it converted into interactive learning material.
The same system could feed marketing — generated examples showing concrete value against specific pain points, rather than generic feature descriptions. One build, two jobs.
What I built
Live single-element generation
AI generation for individual interactive learning elements — MCQs, open questions, word match, and ordered lists — inserted directly into the existing Summernote authoring workflow. Live with paying institutional customers.
Document-to-course generation
A larger AI service where educators upload existing materials and have them converted into structured interactive course content — the Gamma-style upload-and-transform experience, applied to institutional teaching material. Currently running on development infrastructure for testing.
The integration work that made it real
- Python AI service integrated with the existing Laravel application
- Structured outputs enforced with Pydantic models
- Document ingestion, extraction, chunking, embedding, and retrieval
- CRM integration via API; Stripe commercial flows
- Logfire observability around generation behaviour
Model and provider evaluation
I tested OpenAI, Claude, and Gemini against the single-element generation workflow. The live path used OpenAI, chosen on observed workflow fit, output quality, and reliability for this specific task.
Model choice should come from task-specific evals and product constraints — not provider preference.
Status
Single-element generation
Live with paying institutional users
Document-to-course
Testing on development infrastructure
Code
Private product repos — happy to walk through architecture and anonymised workflow
Why this project
It's the clearest example of how I work: start from an ambiguous commercial problem, research the actual users, propose the product direction, build the AI system, integrate it into brownfield code under real customer and platform constraints — and connect the output back to sales and marketing.