Skip to main content

Engineering over Bloat

Building a player that does less, better.

The Motivation

The modern web browser is effectively a virtual machine operating system. It ships with a hyper-optimized networking stack, a high-performance JIT JavaScript compiler, and direct hooks into the host OS's GPU rendering and media foundation pipelines.

Yet, for local media playback, users are still told to download 40MB+ native binaries built on aging UI frameworks. We wanted to see if the web platform had matured enough to handle 90% of a user's daily media needs without a single installation step.

It has.

The Architecture

uPlayVideo is entirely static. There is no backend server handling logic, no database storing user sessions, and no node.js middle tier parsing files.

  • HTML5 Media API: Handles playback, buffering, and OS-level hardware decoding.
  • File API: Grants strictly isolated, temporary memory access to local files via Drag & Drop.
  • Service Workers: Caches the HTML/CSS/JS shell, allowing the app to function with Wi-Fi disabled.
  • Custom Subtitle Parser: Javascript intercepts SRT/VTT timecodes and renders them in sync with the requestAnimationFrame loop for precise offset control.

Open Source & Transparency

We believe software handling local files should be auditable. You can view the entire un-minified source code of our player logic simply by opening your browser's Developer Tools (F12). There are no obfuscated telemetry scripts or hidden network calls.