Case studiesDevotional streaming app

Bhaktidwar TV: a streaming app designed to feel calm.

A devotional streaming app for bhajans, spiritual films, discourses and short videos, built by Apexnova with its own warm, light design, layouts that work properly on tablets, and offline viewing.

The challenge

Streaming apps are designed for thrillers: black screens, bright posters, players that hide in the dark. A devotional audience, from families on a tablet to people who use few other apps, needed something warm and welcoming, and a light theme quietly breaks half of what a streaming app takes for granted.

What Apexnova built
  • Android & iOS apps
  • Web app
  • Backend
  • Visual design system
  • Tablet layouts
  • Offline viewing
At a glance
Client
Bhaktidwar TV
Content
Devotional music, spiritual films, series and discourses, short videos
Platforms
Android phones and tablets, iOS, web
Stack
Flutter, one codebase for every platform
Sign-in
Google, Facebook, Apple, mobile number
Monetisation
Subscription plans

Most streaming apps look alike: a black screen, bright posters and a player that hides in the dark. That template was built for thrillers.

It is the wrong room for someone who opens an app in the morning to listen to an aarti.

Bhaktidwar TV is a devotional streaming service: bhajans and aartis, spiritual films, discourses and short devotional videos, for an audience of more than 100k YouTube subscribers. Apexnova built the Android, iOS and web apps and the backend they run on. This is the story of a streaming app that does not look or behave like every other one, and the engineering a different look quietly demands.

01

A streaming app that feels like a quiet room

The audience for devotional content is broad. It includes people who use few other apps, families watching together on a tablet, and people who simply want a calm few minutes in a busy day. For all of them the app has to feel welcoming before it feels clever.

A visual identity of its own. Warm and light, drawn from the colours of the subject, not borrowed from entertainment apps.

Nothing to learn. Five clear destinations: Home, Search, Reels, Offline and More.

Home screen on the light sandalwood background, with the featured carousel and the Bhajan shelf.
02

Sandalwood and saffron, built once

The app is built on a sandalwood palette: a warm, pale background, slightly deeper tones for cards and dividers, and saffron for anything the viewer can act on. The sign-in flow is the one place that goes dark, a deep temple-wood gradient with a soft saffron glow, so opening the app feels like stepping inside.

A palette is easy to pick and hard to keep.

A streaming app has dozens of screens, and the usual result is that each one drifts. Here the shared pieces were built once and reused.

One set of detail-page parts. The film, series and episode pages differ only in what they list under the player, so the app bar, player frame, title block, buttons and section headers exist once and are styled once.

One set of panel parts. Profile, contact and settings screens are all stacks of labelled cards, built from the same components.

One sign-in frame. The login screen and the code-verification screen share their chrome, so the two steps read as one continuous flow.

Icons, never emoji. Emoji look different on every phone. An icon looks the same everywhere, including on the subscription page.

Loading states that stay visible. Shimmering placeholders are designed for dark apps and vanish on a pale background. They were darkened within the same hue, so a loading screen still reads as one.

The dark sign-in screen: mobile number first, with Google and Apple below.
03

The player controls nobody could see

This is the kind of problem a light theme creates that nobody plans for.

Video player controls are white: white play button, white seek bar, white timestamps. That works because players normally sit on black. Bhaktidwar TV plays video inline on its pale detail pages, where white controls wash out, and over a bright frame they disappear entirely.

The controls were redrawn in black, with a light scrim behind them.

The scrim is what makes it work in both directions: the controls stay readable against the page, and they stay readable when the video itself goes dark.

04

Tablets, without giant posters

Devotional content is often watched on a larger screen, propped up and shared. The first layout sized every poster as a share of the screen width, the standard approach. On a phone, fine. On a tablet, a poster came out three times its phone size, and a single carousel item could fill the whole screen.

The fix was a change of principle.

A poster should be about the same physical size on any device. A bigger screen should show more of them, not bigger ones.

Rows show more tiles. Tiles are anchored to their phone size and allowed to grow only slightly on a tablet, which sits further from the eye.

Grids add columns. Never fewer than the phone layout, and enough that a poster stays near its natural size.

No jumps on foldables. The rule applies at every width, so a tile grows smoothly as a foldable opens instead of snapping at a breakpoint.

The carousel answers to height. A tall poster sized from a tablet's width is taller than the screen and pushes everything else out of view. Its height is capped to what is left under the app bar, and the width follows.

Lone banners become spotlight cards. A single wide banner looks lost on a tablet. There it becomes a full-width card with the artwork on one side and the title, genres and synopsis beside it, using room the phone layout does not have.

The phone layout was left exactly as it was. All of this only takes effect once the window is larger than a phone.

Search opens on a poster mosaic of the whole catalogue.
05

Reels, offline and what's coming next

Reels. Short devotional videos have their own tab: a full-screen vertical feed for the moments when there is no time for a full film or discourse.

Offline as a main tab. Films and episodes can be downloaded and watched without a connection, from a tab of their own, not a setting buried in a menu. Downloads show progress and can be paused, resumed or cancelled, and saved titles open in a dedicated offline player.

Upcoming, at a glance. Each upcoming title carries a small tear-off calendar block with the month, the day and a count of the days remaining.

Picking up where you left off. Episode lists show a resume bar on anything partly watched.

06

A home screen that follows the calendar

The home screen is not fixed in the app. The backend Apexnova built sends an ordered list of sections, and each one names its shape and size: a slider, a row of posters, wide banners, large or small variants. The app draws what it receives.

A festival one week, a new series the next, with no app update in between.

Each row also has a "show all" page with the complete collection behind it. The subscription page follows the same idea: plans are compact rows, so any number of them stays easy to compare, with quiet reassurance beneath the button and no clutter around it.

Plans page: three durations, an order summary and one saffron call to action.
07

One codebase, every screen

Bhaktidwar TV is written in Flutter. The Android app, the iOS app and the website share one codebase and one backend, and the web version has its own video player and home layout where a browser calls for it.

Combined with the layout rules above, that one codebase covers phones, tablets, foldables and desktop browsers, and a design change made once shows up on all of them.

Lessons

What we would tell a team building something like this.

  1. 01

    Design for the subject, not the category

    A streaming app does not have to be black. The right palette is the one that makes the content feel at home.

  2. 02

    Budget for what a light theme breaks

    Player controls, loading placeholders and input fields all assume a dark background. Plan to redraw them.

  3. 03

    Size for the hand, not the window

    Keep tiles at a constant physical size and let larger screens show more. Tablets and foldables stop being special cases.

  4. 04

    Build shared screens once

    A calm, consistent app is mostly the result of having one of each component.

Planning a devotional or faith-based streaming app?

Apexnova builds religious and devotional streaming apps, video streaming apps and players end to end. You own the code, the brand and the data.

Book a call See Bhaktidwar TV for yourself:Google Play
Next case studyWatchStar Subscription OTT app