Ata HalıcıoğluBackend Engineer
Back to projects

Full-Stack / Backend Engineer

Corsair Private Media Platform

Built a private full-stack media catalog and playback orchestration prototype with account state, provider abstraction, and ZeroTier-secured access.

2026

GoReactTypeScriptPostgreSQLRedisDockerAWSZeroTier
multi-service Docker deployment on AWS
private access through ZeroTier overlay networking
database-driven provider priority and fallback model

Context

Corsair is a private engineering prototype for media catalog discovery, account state, and embedded playback orchestration. The project does not host media files. The core engineering work is around metadata, user workflows, provider integration boundaries, and private deployment.

Architecture

The system is split into small services and stateful dependencies:

  • - React and TypeScript frontend served as a single-page app
  • - Go member API for authentication, sessions, profiles, watchlists, and progress
  • - Go movies API for catalog metadata, search, seasons, episodes, and provider sources
  • - PostgreSQL for member and catalog state
  • - Redis for token and session-adjacent workflows
  • - Docker Compose deployment on an AWS instance
  • - ZeroTier overlay networking for invited private access

Key Engineering Challenges

  • - Private access without public exposure: I moved access behind ZeroTier so users can join through an overlay network instead of exposing the app broadly to the internet.
  • - Provider abstraction: Playback integrations are modeled in the database with priorities, origins, allowlists, and fallback behavior, which keeps the frontend from hardcoding provider logic.
  • - Stateful user workflows: Watch progress, lists, sessions, refresh tokens, and profile state are handled through a separate member domain.
  • - Operational repeatability: The deploy script provisions the host, syncs code, applies environment values, starts Docker Compose, and lets database migrations move with the service.
  • - Responsive watch experience: The interface supports desktop and mobile layouts with touch-friendly carousels, adaptive navigation, and compact player controls.

Implementation Highlights

  • - Added database migrations for video provider configuration and priority changes.
  • - Implemented health checks and deployment verification for frontend, member API, and movies API.
  • - Built a source ordering model where VidAPI can be made the primary player without changing UI code.
  • - Tuned mobile layouts across home, search, carousels, and the watch page.
  • - Kept the deployment private by using ZeroTier IPs for app and API access.