# Accessible Video Processing Platform — Project Entry Point ## What Is This Project AI-powered SaaS platform that generates legally-required accessibility assets from video files: closed captions, audio descriptions, SDH captions, and descriptive transcripts. Outputs are reviewed through a human QC workflow before client delivery. 50+ language translation and cultural transcreation are built in. **Client:** Oliver Internal **Server:** optical-web-1 **Status:** 85% production-ready --- ## Quick Navigation | Need | Go to | |------|-------| | Architecture, data flow, state machine | [docs/project/architecture.md](docs/project/architecture.md) | | Tech stack versions and config | [docs/project/tech_stack.md](docs/project/tech_stack.md) | | API endpoint reference | [docs/project/api_spec.md](docs/project/api_spec.md) | | Database collections and indexes | [docs/project/database_schema.md](docs/project/database_schema.md) | | Infrastructure inventory | [docs/project/infrastructure.md](docs/project/infrastructure.md) | | Runbook — deploy, restart, rollback | [docs/project/runbook.md](docs/project/runbook.md) | | Functional requirements | [docs/project/requirements.md](docs/project/requirements.md) | | Development principles | [docs/principles.md](docs/principles.md) | | Reference — ADRs, guides, research | [docs/reference/README.md](docs/reference/README.md) | | Task management | [docs/tasks/README.md](docs/tasks/README.md) | | Test strategy and commands | [tests/README.md](tests/README.md) | | Documentation hub | [docs/README.md](docs/README.md) | --- ## Entry Points by Audience | Audience | Start here | |----------|-----------| | New developer | [docs/project/runbook.md](docs/project/runbook.md) → local setup section | | Reviewer / QC | [docs/project/requirements.md](docs/project/requirements.md) → QC workflow section | | DevOps | [docs/project/infrastructure.md](docs/project/infrastructure.md) + [docs/project/runbook.md](docs/project/runbook.md) | | Security reviewer | [docs/project/architecture.md](docs/project/architecture.md) → security section | | AI agent | Read this file → pick topic → read `_index`-equivalent doc → synthesize | --- ## Core Pipeline (one-line summary per stage) | Stage | What happens | Key file | |-------|-------------|---------| | Upload | MP4 → GCS + MongoDB job record | `routes_files.py` | | Ingestion | Celery worker transcribes with Gemini 2.5 Pro | `tasks/ingest_and_ai.py` | | AI Processing | VTT generated, validated, stored in GCS | `services/gemini.py` | | QC Review | Reviewer edits VTT, approves or rejects | `services/language_qc.py` | | Translation | Google Translate + transcreation per language | `tasks/translate_and_synthesize.py` | | TTS | Per-cue audio synthesis (Google TTS / ElevenLabs) | `services/tts.py` | | Final Review | PM approves deliverables | `routes_language_qc.py` | | Delivery | Signed GCS URLs emailed to client | `services/emailer.py` | See full state machine (16 states) in [docs/project/architecture.md](docs/project/architecture.md#job-state-machine). --- ## Development Commands | Action | Command | |--------|---------| | Start local (Docker + Vite) | `./scripts/run-local.sh` | | Rebuild after code change | `./scripts/run-local.sh --rebuild` | | Stop all local services | `./scripts/run-local.sh --stop` | | Backend lint | `cd backend && ruff check .` | | Backend type-check | `cd backend && mypy .` (run in Docker container) | | Frontend lint | `cd frontend && npm run lint` | | Frontend type-check | `cd frontend && npm run type-check` | | Backend tests | `cd backend && poetry run pytest` | | Frontend tests | `cd frontend && npm run test` | | E2E tests | `cd frontend && npm run test:e2e` | --- ## Key Constraints - **NO SSH to optical-web-1** without explicit user instruction — hard rule in CLAUDE.md - **Access tokens in memory only** (not localStorage) — auth architecture constraint - **Refresh tokens in HttpOnly cookies** — security requirement - **Signed GCS URLs** expire in 24h — do not cache or store URLs - **RBAC enforced server-side** — never trust client-supplied role claims - **All reviewer actions emit audit log entries** — compliance requirement --- ## Maintenance **Update triggers:** New route added, deployment target changes, key dependency version change, new team member onboarded. **Verification:** All links in Quick Navigation resolve. Entry commands are correct against current scripts/.