Private · active product development · Media systems

Slipmat

A playback-first multimedia client for owned and self-hosted media, with playback itself as the organizing model across sources, pages and media types.

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

System view

SourcesPlayback authorityRail · output · analysis

The study

Slipmat is a playback instrument for media you control, connecting server libraries and local sources through one interaction model.

Jellyfin supplies catalog data and source candidates, while the client owns queue, clock, renderer, interaction state and product identity. Local files enter the same model, giving the application a consistent playback vocabulary across source types.

System structure

The defining architectural choice is to make playback state explicit.

One interactive timeline

The Playback Rail is the canonical temporal and scalar instrument for seeking and projected controls, keeping time-based interaction in one vocabulary.

Signal transparency

The product reports the processing and output path it can verify, and names capabilities according to that evidence.

Music intelligence with evidence

BPM, key, energy and spectral analysis support visual topology, shuffle and transition evidence, while media-type contracts keep the broader playback model coherent.

Provider-neutral authority

Providers supply catalog data and source candidates; playback authority stays in the client.

Product and interaction design

The interface makes playback state observable at the point where that information supports control and understanding.

Waveforms, buffering, transition telemetry, lyrics, artwork, spectra and immersive surfaces are coordinated projections of the same playback state. One action authority keeps interaction predictable across those surfaces.

Capabilities are tiered by end-to-end implementation. Future provider foundations are documented separately from shipping capabilities, keeping roadmap, product surface and technical evidence precise.

Recent development

The product surface has expanded through the same playback model.

Podcasts reuse the same playback authority and Rail as music while adding chapters, sections, advertisement markers, transcripts, notes, media-specific speed profiles and offline retention.

Video and Live TV apply the same discipline to program, channel and source identity, recovery contracts and session lifecycles. Modernization also consolidates ownership and keeps Rail feedback passive and focus-preserving.

Podcast as a first-class medium

Canonical episode detail, enrichment, independent speed profiles, downloads and offline retention use media-specific podcast semantics.

Domain-aware resilience

Audio, video and live recovery use media-specific contracts and compatible fallback paths.

Clear ownership

Cleanup consolidates controls, stores, compatibility layers and guidance so current behavior has one explicit owner.

Certification as product work

Storybook, Vitest, Playwright and boundary tests provide executable evidence alongside design and engineering documentation.

Development approach

Architecture acts as a creative constraint: prototype the experience at full fidelity, observe its behavior and give proven interactions explicit authority.

A crossfade gesture, waveform animation, podcast chapter model or Live TV recovery path can begin as a focused Storybook experiment or boundary test using realistic media. Design, timing and interaction are worked out against running behavior, then documented as interaction intent.

Strict types, ownership contracts, accessibility checks, performance traces and automated regression tests preserve useful experiments. The working cycle is wonder → prototype → evidence → invariant, giving exploratory design a durable technical form.

Private repository · public case study focuses on product architecture and method
Next: FireOne