Media AI Processor
An app for working with documents and media using AI: transcribe, translate, summarize, clean audio and run OCR.



The problem
Handling documents and media means connecting specialized operations with controls people can understand.
What I built
A React interface that calls a FastAPI API with one router per module: audio, transcription, translation, OCR, summarization and documents. Models run inside the service and every job is tracked by status.
Outcome
A clear path from input to processing to download, with open models that do not depend on paid APIs.
Decisions that mattered
- 01
One module per capability
Each operation has its own router and service inside the API, so new ones are added without touching the rest.
- 02
Jobs with status
Long processes are polled by id and downloaded when done; Supabase stores their status.
- 03
Open models
Whisper, MarianMT, BART and EasyOCR, run without calling paid services.
Technologies
- React
- FastAPI
- Whisper
- EasyOCR
- Supabase
- Cloudinary
C4 model. The pulsing line is the main path of a request.
Level 1 · who uses the system and what it connects to
Level 2 · the applications and data stores it is made of
Level 3 · the components inside the API
- Person
- System
- Container
- Database
- External
- Main path
- 01File
- 02Interface
- 03API
- 04Module
- 05Job
- 06Download