All Projects
Media Platform

Depot

ClientUniversitas STEKOM
Year2026
ServicesArchitecture, Backend, API, SDKs
LinkVisit Site

The Challenge

Every application in the estate had reinvented file handling: its own upload endpoint, its own thumbnail logic, its own guesses about who is allowed to read a file. That meant large uploads streaming through application servers, inconsistent access rules, and no single answer to how much storage anything was actually using. What was needed was one service that several tenants could share without seeing each other's data, and that other teams could adopt without reading a specification first.

The Solution

We built a NestJS 11 and Bun API where uploads are brokered rather than proxied: the client asks for a presigned URL, PUTs straight to S3, then finalises — so no large file ever streams through the API. Post-processing (thumbnails, previews, transcodes) runs on BullMQ with Redis, and delivery uses short-lived signed URLs so access can be revoked without moving the object. Tenancy is enforced at the data layer, HMAC-signed webhooks tell consuming apps when processing finishes, and a React 19 dashboard covers files, folders, and per-application keys. Typed TypeScript, Python, and PHP SDKs make integration a few lines rather than a project.

Depot — 1
Depot — 2
Depot — 3

Technologies

  • NestJS 11
  • Bun
  • React 19
  • Vite
  • PostgreSQL
  • Redis
  • BullMQ
  • S3
  • TanStack Router
Outcomes
Presigned

Direct-to-S3 uploads, no bytes through the API

3 SDKs

Typed clients: TypeScript, Python, PHP

Designed & engineered by Manggala Code

ArchitectureBackendAPISDKs
Next Project

TopMatch

HR SaaS Landing