UTV.
A personal smart TV project that brings UTube for YouTube videos and UMovie for movies and series into one app. Built for Android TV and Samsung Tizen, with remote navigation, local viewer profiles, and saved watch history. I use Brave Shields to block ads and trackers in the Brave-based viewer.
A problem worth exploring.
I wanted a TV experience that felt comfortable from the couch: clear browsing, controls that work with a remote, and a quick way to move between videos and movies. UTV brings those two experiences together without making the viewer navigate a desktop-style browser.
Less friction. More intention.
UTV is made of two parts: UTube handles YouTube browsing, search, and video playback; UMovie handles movie and series discovery, title details, seasons, and episodes. Android uses a native Java interface over a WebView, while Samsung uses an HTML, CSS, and JavaScript interface with a Node.js service running on the TV. Shared JavaScript handles playback and local data, and each screen gives the remote a clear path from one control to the next.
- Switch between UTube and UMovie inside the same app.
- Brave Shields for ad and tracker blocking in the Brave-based viewer.
- Browse shelves, search with an on-screen keyboard, and control playback with a TV remote.
- Local viewer profiles with separate watch histories, searches, and recommendations.
- Movie and series browsing with genre filters, season selection, episode cards, and continue watching.
- Playback settings for video quality, subtitles, audio, and a sleep timer.
What the system enables.
- Before
- The project started with a browser-based TV viewer and grew into a need for dedicated browsing, search, and playback screens.
- With UTV
- The app brings UTube and UMovie together with remote controls and local viewing history. Android builds and a Samsung Tizen package are prepared for physical-TV testing.
What this project taught me.
On a TV, focus is part of the design. Every shelf, keyboard key, menu, and player control needs a predictable next step with the remote. Sharing playback logic across the native Android and Samsung web interfaces keeps the two versions consistent while allowing each to fit its platform.
BUILT WITH
- Android TV app
- Java, Android SDK, Android WebView
- Samsung TV app
- Tizen, HTML, CSS, JavaScript
- Browser viewer & ad blocking
- Brave, Brave Shields
- On-TV service
- Node.js, HTTP, HTTPS
- Playback & local data
- JavaScript, Web Audio API, IndexedDB, localStorage
- Movie catalog
- Cinemeta, JSON APIs
Aral AI
A teaching companion for every Filipino classroom.
