Private · active product development · Media systems

Slipmat

A playback-first multimedia client for owned and self-hosted media, designed around the idea that playback itself—not the media server, page, or provider—should be the product’s center of gravity.

Niche
Self-hosted and local media playback
Core stack
React 19 · TypeScript · Rust · Tauri v2 · WASM
Sources
Jellyfin + native local media
Focus
Playback authority, signal transparency, music intelligence

The niche

Most media clients are either server remotes or conventional players. Slipmat is aimed at the space between them: a serious playback instrument for media you control.

Jellyfin is a first-class source, but it does not own the queue, clock, renderer, interaction model or product identity. Local files enter the same playback model. That makes the client useful as a coherent media system rather than a skin over a single provider.

What is different

The unusual part is not any single visualizer or DSP feature. It is that playback state is treated as explicit architecture.

One interactive timeline

The Playback Rail is the canonical temporal/scalar instrument for seeking and projected controls instead of adding unrelated sliders and clocks.

Signal transparency

The product reports what the processing/output path can actually prove rather than advertising unsupported “bit-perfect” or exclusive-output claims.

Music intelligence with evidence

BPM, key, energy and spectral analysis inform visual topology, shuffle and transition evidence without narrowing the whole product to music.

Provider-neutral authority

Providers supply catalog and source candidates; they do not create competing playback state machines.

Product & design thinking

The interface is designed to show its work.

Waveforms, buffering, transition telemetry, lyrics, artwork, spectra and immersive surfaces are not separate decorative modes; they are different projections of the same playback state. The product deliberately exposes state when doing so improves control or trust, while keeping one clear authority for actions.

Capabilities are also tiered by what is genuinely wired end to end. Foundations for future providers are kept distinct from shipping product claims. This makes the roadmap ambitious without turning the interface or documentation into marketing fiction.

Development approach

Architecture is used to prevent whole classes of playback bugs rather than merely fixing them after they surface.

Logical media identity, source identity and playback generation are modeled explicitly so stale asynchronous elements cannot silently regain control. Browser and native capabilities sit behind boundaries; Rust/WASM is used where analysis or native processing benefits from it, while React remains responsible for the product surface.

The codebase favors strict types, explicit invariants, capability detection, source-backed documentation and visual/behavioral laboratories before broad promotion into production paths.

Private repository · case study describes product architecture without exposing source
Next: FireOne