Case study
Cliptic — Collaborative audio annotation
Problem: desktop ELAN/TextGrid slows distributed teams. Solution: collaborative web editor with full interoperability and scalable annotation.
What it brings
- Layered editor with tiers and undo/redo
- Whisper-assisted transcription
- Import/export: EAF, TextGrid, RTTM
- Bulk ingestion via ZIP
- Workspaces with roles and templates
- Read-only sharing via token
- i18n: ES, EN, PT
Outcomes
- Reduces dependency on desktop tools
- Onboarding in minutes (browser + link)
- Preserves interoperability with linguistic workflows
- Scales from small teams to agency operations
- Ideal for teams that demand traceability without losing speed
Stack
- TypeScript
- Next.js 15 + React 19
- PostgreSQL + Prisma
- pg-boss
- S3 / Cloudflare R2
- Whisper
- Auth.js v5
- Stripe
- Docker + Dokploy
Architecture
Modular Next.js monolith with a separate queue worker on PostgreSQL. Audio stored in S3/R2 with signed URLs and a versioned export API.
Evidence
- Documentation for positioning, GTM, and runbook
- Export validated in 6 formats
- QA with Vitest + Playwright
- Prisma schema with ~30 models
- Production deploy: Docker Compose + Dokploy (VPS)