← All work
Private media ecosystem / PRODUCT CASE STUDY

Vibes.

Your feed. Your rules.

A personal short-video experience. A Flutter player, Angular dashboard, and self-hosted API put your media back in your hands.

9:41 ••• ▰
Original alpine sample artwork from the Vibes product website
YOUR LIBRARYA little further
from the noise.
vibes.♡   ⋯
ILLUSTRATIVE PLAYER / ORIGINAL DEMO MEDIA
PRODUCTVibes
DISCIPLINEPrivate media ecosystem
BUILT WITHFlutter · Angular · Node.js · SQLite
01 / OVERVIEW

What it does.

  • Vertical video browsing in Flutter
  • Private media API and JWT authentication
  • Angular dashboard for uploads and content
  • Docker Compose deployment with persistent media storage
02 / THE PROBLEM

The problem.

A personal video collection should be browsable without handing its organization to a social platform. The engineering problem spans playback, media administration, authentication, and deployment.

03 / THE SOLUTION

The solution.

Separate the mobile viewing experience from the dashboard and media service. The Flutter player offers vertical browsing, while an Angular administration interface manages content served by an Express API.

04 / PRODUCT EXPERIENCE

Product experience.

The system supports a private collection, vertical playback and liked-video metadata. The public website demonstrates sample playback and labels conceptual notes and dashboard interactions separately from shipped app functionality.

05 / ENGINEERING DECISIONS

Engineering decisions.

SQLite and a persistent media volume keep self-hosting approachable. Docker Compose assembles the backend and dashboard without coupling them to the independent marketing website.

06 / CHALLENGES & TRADE-OFFS

Challenges & trade-offs.

The mobile app, API and dashboard have distinct runtime and deployment needs. A sample in the public site is not evidence that a visitor is connected to a private media server.

THE SYSTEM

Clear boundaries.
Connected parts.

  1. 01Flutter player
  2. 02Angular dashboard
  3. 03Express media API
  4. 04SQLite & media volume
FlutterAngularNode.jsSQLite
SCOPE & EVIDENCE

The honest edges.

The live link opens the public product website. A personal server and app setup are separate; public demo media is illustrative.

Capabilities are grounded in repository documentation and implementation. No adoption figures or performance improvements are inferred.

NEXT IN THE ECOSYSTEM

Envision.