← All work

Enterprise Coaching Platform

AI-powered coaching and role-play at company scale

Years
2024 - 2026Active

A US enterprise platform (client under NDA) that helps companies train their people at scale: structured programs built by coaches, live AI role-play practice, automated call evaluation, and a centralised knowledge hub. A Django monolith and a React front end joined by GraphQL, running on AWS ECS with Celery workers. I owned the Knowledge Hub, the Program and assignment systems, and much of the AI Roleplay surface.

What I built

  • Designed and built KnowledgeHub end to end - pages, folders and sources with drag-and-drop, a Tiptap rich-text editor with custom nodes for training documents, draft and version history, contributor groups and permissions, direct-to-S3 uploads via presigned URLs, in-app PDF and video viewers, Docling document conversion and Notion sync - so chat agents can generate training docs, programs and role-play scenarios from a company’s own material.
  • Built the page agent on top of it: an SSE-streamed assistant that drafts and edits documents in place with debounced auto-save, source attachments, and publish / convert-to-draft flows.
  • Restructured the chat-agent architecture as agent types multiplied - SSE streaming, shared highly-customisable UI components, and abstract agent classes on the back end - cutting time to ship a new agent type from months to about a week.
  • Helped build AI Roleplay: employees practise live voice and video calls against an AI counterpart powered by Claude, Vapi, ElevenLabs and Tavus, driven by structured scenarios users can create through a chat agent. Extended the evaluation to return scores, ranks, annotated transcripts and concrete improvement tips after each session.
  • Owned the Program and scenario-assignment system: bulk assignment with de-duplication, prerequisites and completion criteria, a unified model merging scenario assignments and program components, per-assignee statistics and progress charts, and resource-level permissions.
  • Built the notification layer - Celery-beat reminders, a weekly assignment digest with per-user preferences, due dates rendered in each assignee’s timezone, and Slack delivery - dispatched off the worker on a single preferences query.
  • Built an async call-evaluation pipeline with Celery that pulls recorded calls from Fireflies/Gong and scores them against scenario criteria using Claude, plus the call categories, scorecards and role-based access control around them.
  • Modernised the front end: migrated Webpack to Vite (hot reload 3 min → 12 s), removed deprecated Less/SCSS, unified duplicated components, and introduced shadcn/ui in place of aging dependencies. Also provisioned the dedicated Docling, Knowledge Hub and Celery workers in Terraform.

Stack

  • Django
  • Strawberry GraphQL
  • Celery
  • PostgreSQL
  • pgvector
  • Redis
  • React
  • TypeScript
  • Vite
  • Apollo Client
  • Tiptap
  • Claude
  • SSE
  • Docling
  • Vapi
  • ElevenLabs
  • Tavus
  • AWS ECS
  • Terraform