SaaS-based multimodal annotation platform designed for managing and labeling complex datasets including images, videos, and audio.
- Multimodal assets: Organize and annotate images, videos, audio, and 3D models inside projects.
- Annotation workflows: Create and edit manual annotations; optional background processing via Redis and Celery.
- Multi-tenant auth: Companies, roles, permissions, JWT access tokens, refresh cookies, and optional TOTP 2FA.
frontend: Next.js 16, React 19, TypeScript, Tailwind CSS 4, Radix UI primitives, Konva / react-konva for 2D overlays, Three.js and stats.js for 3D (performance HUD), wavesurfer.js for audio, Chart.js / react-chartjs-2, react-hook-form with Zod, Axios, Vitest and Testing Library for tests.
backend: FastAPI, Uvicorn, SQLAlchemy 2 (async) with asyncpg and PostgreSQL, Alembic migrations, Pydantic v2, Celery with Redis, python-jose (JWT), bcrypt, boto3 for object storage, pyotp for 2FA.
Hugging Face models: Transformers and PyTorch on the ML worker; default checkpoints include facebook/sam2-hiera-large (segmentation) and openai/whisper-large-v3 (speech-to-text). Optional faster-whisper for local CTranslate2 inference. See backend/requirements-ml.txt and backend/.env.example for versions and tuning.
For a visual preview of the project, check out Figma design: Open With Figma
To explore the API you can either:
- Import from this repo: In Postman, choose Import and add
postman/collection.jsonandpostman/environment.json, then select the imported environment before sending requests. - Open the shared workspace: Open with Postman.
Supplementary docs live under docs/:
- Database ERD — schema overview and Mermaid entity–relationship diagram (see also
docs/erd/erd.jpg). - Authentication — auth-related flows and notes.
- Projects — project concepts and usage.
- Media — media handling.
- Annotations — annotation overview; subfolders cover images, videos, audio, and 3D models.
For inquiries or support, please contact:
- Email: abdelrahmansamirmostafa@gmail.com
- Website: abdelrahman.online