24Seven.FM PlayerProject portal GitHub

Native Android · Alpha

Five stations.
One native player.

A responsive, community-built Android experience for StreamingSoundtracks.com, 1980s.FM, Adagio.FM, Death.FM, and Entranced.FM.

  • Kotlin
  • Jetpack Compose
  • Media3
  • No WebView

The network in your pocket

Built for listening

More than a stream button

The Alpha brings the network's live listening and community workflows into an adaptive Android interface, while keeping station-specific behavior behind clear capability boundaries.

01

Playback that follows you

Service-owned Media3 playback, system media controls, audio focus, notification-to-app navigation, and automatic recovery after validated connectivity returns.

02

Live station context

Now-playing metadata and artwork, bounded Queue and History views, five-station switching, and station-scoped request availability.

03

Member workflows

Independent protected station sessions, chat, song requests, request history, membership details, and responsive 1,500-track Favorites lists.

04

Community safeguards

Adult and Terms gates, mature-content reveal, report-content and report-user flows, plus local station-scoped blocking and management.

Inside the project

Follow the product and the process

This portal connects the user experience to the architecture, validation evidence, milestone history, and release work behind it.

Adaptive by design

Phone, foldable, and tablet ready

Compact, medium, and expanded layouts are exercised across emulator and physical-device states, including a complete Motorola Razr hinge cycle.

Evidence before claims

A tested Alpha

24
completed milestone checkpoints
146
unit tests passing
40/40
current tablet connected suite
5
certified station integrations

Validated across API 26 through API 36, a 16 KB runtime, Pixel Fold and Tablet emulator states, accessibility enlargement, network loss/recovery, and a physical Razr hinge cycle.

Toward Google Play testing

Current roadmap

Explore the full roadmap

Complete

M23.3 · Android 16

API 36 targeting, predictive Back, edge-to-edge behavior, and connected-device coverage.

Complete

M23.7 · Store polish

Legacy, adaptive, and monochrome launcher resources with revalidated store artwork.

In progress

M23.1 · Release candidate

Protected Linux signing and Android developer-verification email confirmation are green; per-app Console status, version eligibility, and delivered-install checks remain.

In progress

M23.6 · Device matrix

Local device coverage is green; Play delivery, pre-launch results, and spoken TalkBack remain.

Waiting externally

M23.2 / M23.4 / M23.5

UGC receipt reconciliation, Play declarations, credentials, and rights evidence await administrator input.

Complete

M24 · Sleep Timer

Service-owned presets and custom duration, live remaining time, adjust/cancel, system cancellation state, restoration, and real-device expiry validation are complete.

Complete

M25 · Cast / Audio-Output Selection

Android's native output switcher and live route state cover system-managed device, Bluetooth, wired/USB, and remote routes without a relay or new endpoint; Google Cast remains capability-gated.

Complete

M26 · In-App Diagnostics

A user-reviewed fixed-allowlist snapshot covers app/build, coarse device/API, station, bounded playback/error/network/output state, and five enum-only transitions with explicit Android copy/share and no automatic transfer.

M27.1 complete · delivery pending

M27 · Community Push Notifications

The local exact-name detector, station controls, filtering, dedupe, private channel, and Chat navigation are complete for actively observed Chat. M27.2 true closed-app push and future PM delivery still require an authorized event source.

Final pre-Alpha gate

M28 · Alpha Publication

Revalidate the changed release candidate and publish the explicitly authorized signed bundle to internal or closed testing only after M23–M27 have closed.

Private Messages (M17) remain deliberately deferred until the legacy server delivery failure is repaired and verified. M27.1 now supplies station controls and local exact-name Chat alerts for the actively observed feed. M27.2 still requires an authorized event source for reliable closed-app delivery; live PM alerts activate only when M17 works, and continuous background polling will not be presented as push.

Follow the build

Development is open.

Review the implementation, milestone evidence, and active release gates on GitHub.