Short answer
RaftLabs built a custom Android app for ULT Movies, an Indian film distributor, enabling weekly digital releases to 4,000 small-screen theaters via set-top boxes. It includes offline playback for theaters with unreliable internet, cutting infrastructure costs by 60% and raising watch time by 45% (distributor-reported). Built with GoLang, AWS, and SQL Server in 18 weeks, it maintains 99% uptime.
The situation
ULT Movies is one of India's leading film rights distributors. Their network: 4,000 small-screen theaters equipped with Android set-top boxes, spread across the country including many remote locations with unreliable internet.
Their distribution model relied on physical film reels. Every time they licensed a new film, they coordinated physical delivery to hundreds of locations. Theaters received content late, missed new releases, and had no way to access on-demand titles. The distributor had no visibility into what was being watched or how often.
They came to us with a straightforward goal: replace the reel system with a digital platform that could push weekly film releases to every Android set-top box in their network, handle the realities of poor connectivity in remote locations, and give the distribution team a central dashboard to manage it all.
We delivered in 18 weeks. The distributor reported infrastructure costs dropped 60% against the physical reel model, average watch time increased 45%, and the platform runs at 99% uptime across 4,000 screens.

Engagement
The ULT Movies engagement
- Client
- ULT Movies, one of India's leading film rights distributors
- Network
- 4,000 small-screen theaters on Android set-top boxes, including remote locations with unreliable internet
- What we built
- A digital distribution platform replacing physical film reels: weekly releases pushed to every box, offline playback cache, distributor dashboard
- Delivery
- 18 weeks
- Status
- Live across the theater network
Before and after
What changed
- Weekly releases relied on physical film reel delivery to each theater location
- Remote theaters in poor connectivity areas received content late or not at all
- Distributors had no visibility into what was being watched or how often
- Limited content variety due to the cost and logistics of physical reel distribution
- No way to quickly update or add content without physical intervention
- Each theater operated independently with no centralized management
- New releases arrive at every theater digitally, every week, with no physical logistics
- Offline playback cache lets theaters download content in advance for areas with poor internet
- Distributor dashboard shows viewership data across all 4,000 screens in real time
- Content catalog updates happen instantly from the central admin panel
- Theaters always have the latest releases available, regardless of internet reliability
- Billing and subscription management handled through the same system
What we had to solve
Content delivery when internet is unreliable
Standard streaming fails in low-bandwidth environments. Many theaters in ULT's network sit in areas where internet connectivity is intermittent or slow. We built an intelligent caching system that lets theaters download the week's content during off-peak hours, overnight or during slow periods, so they can play it back without an active internet connection. The theater operator never has to think about connectivity. The app handles the download window automatically.
Protecting digitally distributed film content
Physical film reels are difficult to duplicate. Digital files are not. Moving a distributor from physical reels to digital delivery means building content protection from day one. We implemented encryption and access controls so content stored on the set-top box cannot be extracted or played outside the authorized device. Each screen's license is tied to its hardware ID, and content expires automatically when the license period ends.
Proof
What the distributor reported, and what this page can't claim
Outcome figures reported by the distributor after launch. These are operator reports, not independently audited measurements.
| Result | What changed | Period or context | Evidence and limitation |
|---|---|---|---|
| Infrastructure costs | 60% lower than the physical reel model | No more logistics coordination, physical transport, and per-location storage at 4,000 screens | Distributor-reported. The cost comparison is against the physical distribution model, which is where the bill was |
| Engagement | 45% increase in average watch time | Theaters that received content late or not at all now get weekly releases on time | Distributor-reported after launch |
| Reliability | 99% uptime across 4,000 screens | Theaters download during off-peak hours and play back without an active connection | Distributor-reported. Offline playback cache is the design decision behind the number |
the build
What we built
The system has two sides: the Android app that runs on each theater's set-top box, and the admin panel the distributor uses to manage content and subscriptions.
Non-technical theater operators select a film and press play, nothing else to manage
The STB app is designed for theater operators who are not technical. A clean grid shows available films with poster art. The operator selects a film and plays it. No accounts to manage, no complex settings. The app handles everything else, including downloads, license checks, and content expiry, in the background.

New releases arrive on every device before the theater opens, no manual update
Every week, the distributor publishes a new batch of releases through the admin panel. The app on each STB checks for updates automatically and queues downloads during off-peak hours. By the time the theater opens, the week's new releases are already on the device and ready to play.

Films keep playing even when the internet drops mid-screening
Content is downloaded and cached on the device so playback works without an internet connection. If connectivity drops during a screening, the film keeps playing. This was the core technical challenge for theaters in remote areas where internet stability cannot be guaranteed.

Distributors see which titles perform across 4,000 screens, data that didn't exist before
The admin panel tracks movie viewership trends across all 4,000 screens. The distributor can see which titles are most watched, which theaters have the most engagement, and how viewing patterns shift week to week. This data was not available at all under the physical reel model.

The lesson
Design for the worst connection, not the best
Standard streaming assumes the connection is there. Half of this network's theaters sit in places where it isn't, and a screen that fails at showtime is not a degraded experience, it is a dead screen in front of a paying audience. The caching system that lets theaters download the week's content overnight is not an optimization. It is the product working at all.
The same logic applied to the cost side. Physical reels are difficult to duplicate, which is why distributors trusted them. Digital files are not, so content protection had to be built from day one: encryption, hardware-tied licenses, automatic expiry. The format changed. The trust the reels used to carry had to be rebuilt in software.
How it runs
- GoLang
- The backend handles thousands of simultaneous connections from 4,000 set-top boxes checking for new content and reporting playback analytics. Go handles high-concurrency workloads efficiently without the memory overhead of heavier runtimes.
- AWS
- Content delivery to 4,000 devices across India needed a global CDN and reliable cloud infrastructure. AWS handles both with 99% uptime and a delivery network that covers the geographic spread of ULT's theater network.
- SQL Server
- The distributor's billing system and content catalog already ran on SQL Server. Building on the same database technology simplified integration with their existing infrastructure and reduced the learning curve for their internal team.
Common questions
The app downloads content during off-peak hours when the connection is available, usually overnight. Once downloaded, the content is cached on the set-top box and plays back without any internet connection. Theater operators do not have to manage the download process manually.
Each piece of content is encrypted and tied to the specific set-top box's hardware ID. Content cannot be extracted or played on a different device. License periods are enforced automatically: content expires when the license ends, without any manual intervention from the distributor.
The admin panel shows viewership data across all connected screens: which films are being watched, how long each screening runs, which theaters are most active, and which titles underperform. The distributor can also manage the content catalog, set release dates, and control billing from the same interface.
18 weeks from kickoff to a live platform deployed across the full 4,000-screen network. The Android STB app, admin web panel, content delivery infrastructure, and offline caching system were all delivered in that timeline.
Yes. The architecture, an Android STB app with offline caching, central admin panel, and content rights management, applies to any regional content distributor working with hardware-equipped venues. The technical challenges (unreliable connectivity, digital rights protection, central control over a large screen network) are not unique to India.