EmStudio · AI Production Platform · Emversity · 2024–25
A manual, multi-step content production process spread across several disconnected tools. The workflow worked because people cared. Not because it was designed to.
No shared view of progress, quality, or accountability. No way to scale. Errors lived in reviewers' heads, not a system.
One developer, brought in to close out the backend. Everything upstream of that — the workflow architecture, the frontend, the QC engine — had to come from me.
End to end: discovery and UX research, defining the workflow, building the frontend and the QC engine myself in Cursor, then partnering with one developer to close out the backend and ship.
Content production spanned several disconnected tools with no shared quality standard; errors lived only in reviewers' heads.
I led discovery, designed the workflow, and built EmStudio's frontend and AI QC engine myself in Cursor.
EmStudio unified seven production stages into one platform Emversity's team runs today, tracking quality live at 90.05%.
The problem
Content creation at Emversity involved subject experts, writers, QC reviewers, designers, and video producers — all working across disconnected tools. No shared view of progress. No quality standard anyone could point to and say "this is the rule."
I spent the first weeks tracing the actual flow with Abdullah (ops), interrogating Ankita's QC team on what kept slipping through, and shadowing Pooja (SME) on what good content actually meant. What I found was a system held together by goodwill, not architecture.
The rework wasn't random. The same error types kept resurfacing — spelling policy violations, factual slips, image-text mismatches — but nobody had written the rules down anywhere a system could enforce them.
What kept surfacing across discoveryStakeholder research
The subject expert
The QC reviewer
Most tools solve for one. An editor for the SME, a tracker for the QC lead. The opportunity was one interface that routed errors to the right person automatically — without either stakeholder having to navigate the other's workflow.
Paths rejected
DROPPED
Hire more QC reviewers
Scales linearly with content volume. Compounds at 3× scale. Doesn't solve the fragmentation problem or give anyone a shared quality standard. Treating a system problem with a headcount solution.
DROPPED
Off-the-shelf LMS with QC module
No existing tool handles academic content QC with subject-specific accuracy standards. Customisation cost exceeded build cost. And the SME trust requirement — "AI flagged, human reviewed" — isn't a feature any LMS vendor ships.
DROPPED
Auto-correct everything with AI
For factual academic content, auto-applying corrections without human sign-off is a liability. An AI changing "for some children" to "for all children" unreviewed is academically wrong. SME trust evaporates immediately.
The decision
EmStudio unifies the entire production workflow — Subject Creation → Learning Objectives → Content Drafting → Illustration → QC Review → Academic Approval → Export — in a single interface, replacing five disconnected tools. Every stage feeds the next. Progress is live and visible to every role, not just whoever happens to be tracking it that week.
The QC engine I built runs AI-generated checks against the content — spelling, grammar, factual accuracy, image relevance — and hands every flagged issue to a human with a suggested fix attached. Nothing ships without a person accepting it first.
The second decision was Accept/Reject over auto-correct. For factual academic content, auto-applying AI corrections without human sign-off is a liability. Every error gets a suggested fix — the reviewer makes the final call.
Chose categorisation over a single score. Costs more to build up front — five error types instead of one number — but it's the difference between a dashboard that looks tidy and a workflow that actually routes work to the right person without anyone manually triaging it first.
The work
EmStudio replaces five disconnected tools with one interface. Every stage feeds the next. The dashboard gives the whole team one source of truth — quality score, team velocity, and per-stage progress, live.
Dashboard — quality score 90.05%, team velocity, active projects, calendar
The All Projects view gives the whole team one source of truth on production status. Every chapter, every stage, every overdue flag — visible to everyone at once. No more "where is Chapter 3?" over email.
All Projects — production status across every chapter, started / in progress / completed
The Content Lab is where AI-generated drafts meet SME review. Writers edit in a Word-like rich editor. SMEs leave inline comments mapped to specific text — not email threads. The feedback loop that used to take days now happens in the same interface as the content itself.
Content Lab — AI draft, SME inline comments (Pooja, Rahul, Ankita), accept/reject controls
QC Studio · built by me
This is the part I built myself using OpenAI APIs, Claude, and Cursor. Engineering bandwidth was constrained. The problem was real. I had enough context on the requirements and enough access to AI coding tools to just build it.
The engine reads academic content and surfaces errors across five categories — Spellings, Grammar, Factual, Image, Miscellaneous — with specific fixes suggested for each one. For each error: the original text, the error type, and a suggested correction. Accept or reject with one click.
Codifying what "correct" means for academic content — British English, factual accuracy, image-text relevance — was the real work. Once that logic existed, the AI could apply it consistently at a scale no reviewer could match alone. One early rule flagged too aggressively — [NEEDS INPUT: example of an overly strict/loose initial rule and how it was corrected] — until the categorization logic was tightened against real reviewer feedback.
Validating the engine
[NEEDS INPUT: accept/reject rate reviewers gave to flagged errors, or a description of the manual spot-check process against Ankita's QC standard]. [NEEDS INPUT: one concrete example of a QC rule/prompt that was wrong initially and got corrected].
QC Studio — quality issues panel, flagged document with inline errors, error analysis with suggested fix
After QC, EmStudio auto-generates slides and runs Video QC — the same error detection logic applied to recorded lectures with exact timestamps. Voice errors, visual errors, factual errors, flow errors — all surfaced without manual review.
Slide Studio — AI-generated per lecture
Video QC — timestamped error report
Final Review — multi-stage sign-off, reviewer assignments, 4/5 stages completed
Impact
Production stages unified
From several disconnected tools to one interface. Subject Creation through Academic Approval, in a single system instead of scattered across email, spreadsheets, and separate editors.
Screen, every role
SME, illustrator, QC reviewer, and academic head each get a dashboard built for their job — but it's the same system underneath, so nobody has to chase status across tools anymore.
Categorised, not guessed
Every QC issue now carries a category and a suggested fix instead of living only in a reviewer's memory — spelling and grammar route to writers, factual issues route to SMEs, automatically.
In active use
This isn't a concept file. It's the system Emversity's content team runs subjects through today. [NEEDS INPUT: proxy metric — turnaround time per subject before/after, manual QC passes eliminated, or rework rate] — the team's day-to-day is the clearest evidence: this is genuinely how the work gets done now.
Reflection
Build the manager-level dashboard in v1
QC errors are surfaced per document but there's no cohort view — which error types are most common across all content, which stages are the real bottleneck. That's where the training signal lives for the whole team. I shipped the reviewer experience first and deferred the manager view. It should have been concurrent.
Make the QC categories configurable without touching code
Spelling, grammar, factual, image, miscellaneous — those five categories were right for this content type, but they're hardcoded. If Emversity adds a new content type with different quality rules, that means going back into the code. It should be a config a reviewer can edit, not a redeploy.
Instrument before shipping, not after
I made the Accept/Reject-over-auto-correct call directionally, based on what felt right for factual academic content. The team's continued day-to-day use suggests it was the right call, but I never set up a way to measure it against the alternative. Next time: define the metric, instrument the decision point, then ship.