DV
Back to all projects

Medical Education Operations & Analytics Platform

Operations Analytics & Workflow Automation for a 20-Person Team

Integrated operations, analytics, and workflow automation platform for a 20-person medical education team. It combines task workflows, Zoom meeting processing, GetCourse KPI reporting, Telegram monitoring, AI-generated summaries, scheduled communications, and role-based access.

Authentication required — hosted on Vercel + Railway

PostgreSQL Workflow Automation GetCourse Analytics API Integration FastAPI Next.js Telegram API Zoom API LLM Integrations
Medical Education Operations & Analytics Platform

Overview

Integrated operations, analytics, and workflow automation platform for a 20-person medical education team. It combines task workflows, Zoom meeting processing, GetCourse KPI reporting, Telegram monitoring, AI-generated summaries, scheduled communications, and role-based access. PostgreSQL brings operational data together; a shared FastAPI service layer supports the web interface and Telegram bot. Access requires authentication.

Architecture

┌─────────────────────────────────────────────────────┐
│              Frontend (Vercel)                        │
│  Next.js 14 · TypeScript · Tailwind CSS · shadcn/ui  │
│            Recharts · Lucide React                    │
└──────────────────────┬──────────────────────────────┘
                       │  REST API + JWT Auth + SSE
┌──────────────────────▼──────────────────────────────┐
│              Backend (Railway)                        │
│  FastAPI · Python 3.12 · SQLAlchemy 2.0 · Alembic   │
│            aiogram 3.x · APScheduler                  │
├──────────┬───────────┬───────────┬──────────────────┤
│PostgreSQL│ Zoom API  │ Telegram  │ AI Providers      │
│ (Supabase│ S2S OAuth │ Bot API + │ OpenAI / Anthropic│
│  asyncpg)│           │ Pyrofork  │ / Gemini          │
│          │           │           │                   │
│          │ GetCourse │ Whisper   │                   │
│          │ API       │ STT       │                   │
└──────────┴───────────┴───────────┴──────────────────┘

Key Features

Technical Highlights

ChallengeSolution
Dual entry point (Web + Telegram)Shared service layer between FastAPI and aiogram — business logic written once
Multi-provider AIStrategy pattern with per-feature config table; switch models without restart
Voice command processingWhisper STT → AI structured parsing → interactive preview before commit
Zoom transcript analysisVTT parsing with timestamps, LLM summarization, automatic task extraction
Department-scoped RBACThree roles (admin/moderator/member) with field-level control via PermissionService
Real-time updatesSSE with JWT via query parameter, heartbeat handling for reverse proxies

Tech Stack

LayerTechnology
FrontendNext.js 14, TypeScript, Tailwind CSS, shadcn/ui
ChartsRecharts
BackendFastAPI, Python 3.12, aiogram 3.x
ORMSQLAlchemy 2.0 (async), Alembic
DatabasePostgreSQL (Supabase, asyncpg)
AuthJWT + bcrypt, role-based access
AIOpenAI, Anthropic, Google Gemini (multi-provider)
STTOpenAI Whisper
IntegrationsZoom (S2S OAuth), Telegram (Bot + Pyrofork), GetCourse
SchedulingAPScheduler (AsyncIO)
DeployVercel (frontend), Railway (backend), Docker