Skip to content
Rymflux Documentation
Esc
navigateopen⌘Jpreview
On this page

Vision statement + KPIs

Vision statement + KPIs

Status

Draft v1 — 2026-07-30

Vision statement

Rymflux is an audio platform that treats every listening experience as a unique space. Instead of forcing all audio into one generic interface — the same queue, the same metadata layout, the same player — Rymflux provides specialized rooms, each optimized for how people actually consume that type of audio.

A music listener browses albums and builds queues. A podcast listener subscribes to shows and resumes episodes. An audiobook listener tracks chapter progress and takes notes. Live radio has no chapters at all. Rymflux does not ask these experiences to share a UI. It asks them to share a platform.

Underneath the rooms, a language-agnostic plugin system decouples content sources from the experience layer. Spotify, local files, podcasts, and future services each live in their own plugin. They speak JSON over a standard protocol to the core. The core does not know or care what language the plugin was written in. It only knows what capabilities the plugin advertises.

The result is a platform where new content sources and new listening experiences can be added independently — without changing the core application and without forcing users into a one-size-fits-all interface.

What Rymflux is

Rymflux is not a media player. It is a platform for audio experiences.

  • It is a plugin host for content sources.
  • It is a room framework for experience designers.
  • It is a playback engine that does not know or care where the audio came from.
  • It is a library system that treats all content uniformly regardless of source.

Rymflux does not ship with Spotify support, or podcast support, or audiobook support. It ships with a plugin system and a room system. Content sources and experience designs are both installed separately.

Platform philosophy

These principles guide every design decision in the platform. Every feature, every API, every contract is evaluated against them.

Principle 1: Content is independent of source

A user saves “Song X”, not “Song X from Plugin A.” The library, queue, and history record what was played — not which plugin the user used to find it. Plugin attribution is stored as a resolution detail, not as content identity. Two saves of the same track from different plugins share one content UUID.

Principle 2: Rooms own experiences

The core platform does not decide how audiobooks look. The Audiobook Room does. Each room defines its own navigation, search behavior, metadata layout, player expansion, context menus, sorting, and filtering. The core provides services; rooms compose them.

Principle 3: Plugins provide capabilities, not UI

A plugin advertises “I can search,” “I can stream,” “I can provide lyrics.” It does not render search results, design the player, or decide how metadata is displayed. The room framework owns presentation. Plugins own data and operations.

Principle 4: The playback engine is source-agnostic

The engine receives audio — a stream URL, a file path, a byte stream — and plays it. It does not know whether the audio came from Spotify, a local file, a podcast RSS feed, or a university lecture plugin. It has no concept of plugins, rooms, or content types.

Principle 5: Everything communicates through contracts

Whether it is the core talking to plugins, rooms talking to the playback engine, or the library reacting to events, interactions happen through well-defined interfaces rather than direct dependencies. Any component can be replaced or extended as long as it respects the contract.

Architecture vision

                ┌──────────────────────┐
                │   Navigation & Shell │
                ├──────────────────────┤
                │  Room Framework      │
                │  (Music / Podcast /  │
                │   Audiobook / Radio) │
                ├──────────────────────┤
                │  Platform Services   │
                │  Library | Search    │
                │  | Playback Engine   │
                ├──────────────────────┤
                │  Event Bus / Cache   │
                │  / Identity          │
                ├──────────────────────┤
                │  Plugin Runtime      │
                ├──────────────────────┤
                │  Spotify | Podcasts  │
                │  | Local Files | …   │
                └──────────────────────┘

This diagram shows the full platform vision. v1 delivers only the Music Room and Home (Lobby) — see scope.md. Additional rooms and the event bus are v2 targets.

The plugin system is at the bottom, providing content and capabilities. The room system is near the top, deciding how users experience that content. Platform services in the middle are shared by all rooms.

Target audience

Audience Who they are What they need
Listeners End users consuming audio A tailored experience for each type of content they engage with
Plugin developers Developers integrating a content source (Spotify, YouTube, Archive.org, a podcast directory) A clear, language-agnostic API contract; minimal boilerplate; freedom to use any language
Room authors Developers or designers creating a new experience type (e.g., a Meditation Room) A framework to define navigation, player behavior, search filters, and metadata without modifying core
Platform operators Project maintainers Stable contracts, good observability, and a manageable surface area for bug fixes and evolution

Success criteria & KPIs

Platform health

Metric Target (Year 1)
Plugin API specifications published Complete and stable
Room framework API specifications published Complete and stable
Plugins published (non-tutorial) 2+ (aspirational: 3+)
Rooms published 2+ (reference Music Room + one external)
Core platform crash-free rate 99.5%+

Developer ecosystem

Metric Target
Time to write and register a new plugin (with docs) Under one hour (aspirational — depends on language, author familiarity, and doc quality)
Languages in which at least one plugin exists 3+
Plugin API version bumps requiring migration 0 breaking changes in year 1

User experience

Metric Target
Search success rate (user finds what they’re looking for) 90%+
Content source diversity (unique plugins accessed per session) 2+
Room switching without playback interruption Always

Was this page helpful?