DMITRY MELNIKOV
Project 02 · Personal

AtmoCast

Your library, anywhere. Seamless cloud streaming with native performance.

Year2026
StatusDone
Stack
Kotlin · Jetpack Compose · Media3
Backend
Google Drive API · Room DB
Protocols
OAuth2 · HTTP/Progressive
One-liner
Sound, delivered by the cloud.
Fig. 01

Player, main view

Overview 01

Play your cloud library.

AtmoCast was born from a simple frustration: the gap between desktop-class file management and mobile music consumption. Most cloud players fail to deliver seamless streaming from Googl Drive platform.

The app connects directly to Google Drive, parsing folder structures as playlists and albums. It utilizes the modern Android Media3 stack (ExoPlayer) for low-latency streaming and includes a robust synchronization engine that allows for selective offline downloading via Room DB.

The focus is on a “zero-buffer” experience, leveraging proactive caching and a custom data source for Google Drive that treats cloud files as if they were local.

Timeline Q1 · 2026 Scope Mobile UX Design
Android Development
Cloud Sync Engine Scale Personal library
100% Offline support

Architecture 02

A reactive media stack built for modern Android.

AtmoCast architecture diagram showing the relationship between Jetpack Compose, Media3, and Google Drive
Fig. 02 — System overview · Native Android architecture and cloud integration
Decisions 03

Engineering for performance in the cloud.

/01
Native application

Availability of native APIs and libraries helped to solve the paramount goals - smooth playback and seamless integration with Android OS and Android Auo.

Tradeoff · development complexity, dependence on ai
/02
Media3 for stability

Media3 stack provides a unified API for both the UI and the background playback service, ensuring that audio never stops, even when the system is under heavy memory pressure.

Tradeoff · API surface complexity, feature richness
/03
Room as the truth

Every cloud file is mirrored in a local Room database. This allows for instant metadata searches and playlist management without needing a network connection to browse your library.

Tradeoff · DB sync overhead, total offline reliability
/04
Custom DriveDataSource

Instead of relying on standard HTTP URLs, a custom DataSource for ExoPlayer is used. This handles OAuth2 token refreshing and byte-range requests directly from Google Drive, significantly reducing start-up time.

Tradeoff · manual byte handling, zero latency
/05
Compose-first UI

The entire UI is built with Jetpack Compose. This allowed for a highly dynamic interface where the player state and library browsing are perfectly synced across all screens.

Tradeoff · custom view complexity, high interactivity

The goal was to make the cloud feel as fast as a local SD card.

Outcome 05

Native performance, delivered.

AtmoCast successfully replaced several fragmented streaming apps. The technical bet on native stack provided a highly responsive UI that remains fluid even during massive library synchronizations.

The project highlights the power of native Android development when combined with modern cloud APIs, creating a tool that is both highly personal and technically robust.

Impact Zero-latency streaming
Unified cloud library Cost 12 weeks · Solo build Next Multiple cloud providers
FLAC support

Fig. 02

Player with dark theme

Fig. 03

Standard widget in notifications

Fig. 04

List of files in a folder

Fig. 05

Menu

Fig. 06

Landscape view