RU Discuss your project
Discuss your project

Case study · Retail · Built for a major roofing manufacturer

A company radio station: on air in the browser, in the app and in the car

The brand's own radio station with a web player, an iPhone app and CarPlay: live stream, favorites, program schedule and a fallback track that starts by itself if the connection drops.

How it works: stream, server, web player, app, listener

  1. Stream

    station stream and track titles

  2. Server

    schedule, cache, statistics

  3. Web player

    two concepts, two themes

  4. App

    iPhone, CarPlay, offline fallback

  5. Listener

    at the office, at home and on the road

Interactive prototype

Live stream, favorites, settings — as in the app

The prototype reproduces the web player screens and plays the real stream: press Play, and the sound and song titles come from the station's server. Save a song to favorites, switch the concept and theme, set a sleep timer.

Concept

Stream tile and three tabsGraphite: music only

Press Play to start the stream. The heart saves a song to favorites.

Roofingradio
Live stream

Live stream

on air
radioGood music. Every day.

Love Tonight

Shoby, Fijy, Lindal

Music is here. Press Play

Listen live

Screen systemKey screens and states. Static previews with demo data.

  • Live stream01

  • Favorites02

  • Settings03

  • Sleep timer04

  • The task

    A major roofing manufacturer launched its own radio station for customers and employees. It wanted the station to be easy to listen to anywhere: on the website, on a phone and in the car. It needed a player in the company's style that keeps the stream going when the connection is poor, shows what is playing now and lets listeners save songs they like.

    The radio team needed feedback: listening statistics, diagnostics from listeners' devices and a notification for every app release.

    What was needed

    • Listen to the radio on the website, on a phone and in the car
    • Keep the stream going when the connection is poor
    • Statistics and diagnostics for the radio team

    What we delivered

    • A web player and an app for iPhone and CarPlay
    • A fallback track instead of silence when the stream drops
    • Listening statistics in the staff dashboard

What we did

  • Web player in two concepts

    Two visual concepts, dark and light themes, and a background that adapts to the track's cover art. Screens for the live stream, favorites and settings. We tested the player in browsers on different engines.

  • iPhone and CarPlay app

    A native app with the same concepts. In the car, the stream opens straight on the Now Playing screen. The CarPlay menu switches the mode, and there is a sleep timer.

  • Offline fallback

    The app downloads a verified track in advance. If the stream freezes or the network drops, it plays that track with a smooth fade-in. When the connection returns, it fades back to the live stream the same way.

  • Program schedule

    A daily program grid that returns to the live stream automatically within a set window. A detector tracks the boundaries and does not cut off a program that has already started.

  • Statistics and diagnostics

    The server collects daily listening statistics in a separate database. The staff dashboard receives reports only. A listener can send a limited diagnostic log straight from the app.

  • Releases with team notifications

    Every build passes automated checks for signing and CarPlay compatibility. After publication, the team gets a release message in its group.

  • The result

    • The radio sounds the same in the browser, on the phone and in the car, in the company's style.
    • Poor connections no longer interrupt the stream: listeners hear the fallback track, not silence.
    • The team sees listening statistics in the same dashboard as the website metrics.
    • The web player is available. The app is in internal testing before publication in the App Store.

    Statuses as of October 2026.

Tell us what you do by hand today

For example: managers copy requests from email into the CRM by hand, and we want to automate that.

Budget

We reply within an hour during business hours: Mon–Fri, 9:00–20:00 Moscow time (UTC+3). If you need an answer sooner, call or write to us directly using the contacts above.