MediArchive
MediArchive for broadcasters: uploading, searching and preparing footage for editing.

MediArchive: video playback, fragment annotation and metadata configuration.
Tech lead · media asset management
My role
I was responsible for product architecture, defining module boundaries and APIs between the client, backend and media processing services. I reviewed code, investigated incidents on customer installations and planned releases with the team.
- Working with footage
- Video playback, metadata and annotation
- Customer configuration
- Configuring forms, tables and permissions
- Processing and delivery
- File uploads, video processing and hosting
The business problem
Broadcasters need to upload and describe footage, find fragments and deliver them to editors. Each customer has different metadata fields, roles and hosting requirements. Fields and forms need to be configurable without a separate release for each installation.
Working with footage
Video playback and timecode annotation
Archivists select an asset in the grid, watch the video and edit its metadata. React and Effector keep the selected asset, player and metadata panel in sync.

Marking fragments
Locators define IN/OUT timecodes. AI-detected scenes appear in the same grid and become user scenes after manual editing.
Packages for delivery
Assets are gathered into a package from the category tree. The interface shows its contents and size. Access is configured separately.
More screens (2)


Customer configuration
Configuring fields and tables with JSON
Metadata forms and tables use JSON configurations. An editor with live preview lets administrators change the structure in settings, while role bindings determine what each user sees.

Configuring table columns
Columns, types, widths and visibility can be configured independently, with the result visible in the preview.
Access to assets
Read and edit permissions are assigned by role. A public link can be created for delivery and revoked later.
Processing and delivery
Background video processing
After upload, the system prepares a video copy for playback, creates thumbnails and detects scenes. The status column shows which files have finished processing.
Ingest
WatchFolder connects a local folder to an archive category.
Processing
Proxy copies, thumbnails and scenes are created.
Description
Assets receive metadata and annotations.
Delivery
Selected assets form a package accessible to the recipient.
Engineering details
Resuming an upload
WatchFolder continues uploading after a network interruption. Users work with a folder linked to an archive category.
Hosting options
SaaS, a packaged edition and deployment in the customer’s infrastructure accommodate broadcasters’ storage requirements.
Outcome
From raw footage to editing
Together with the team, I built MediArchive: video upload and processing, search, fragment annotation and delivery to editors. As tech lead, I was responsible for architecture, code reviews and release planning.
- −70%
- of the content processing time, per Media Code: proxy copies and scene detection run automatically
- 3
- delivery options: SaaS, an appliance and installation inside the customer’s infrastructure
Stack
- React
- TypeScript
- Effector
- NestJS
- FastAPI
- MongoDB
- PostgreSQL
- RabbitMQ
- Docker
- Jenkins

