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
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.
The Playback Rail is the canonical temporal and scalar instrument for seeking and projected controls, keeping time-based interaction in one vocabulary.
The product reports the processing and output path it can verify, and names capabilities according to that evidence.
BPM, key, energy and spectral analysis support visual topology, shuffle and transition evidence, while media-type contracts keep the broader playback model coherent.
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.
Canonical episode detail, enrichment, independent speed profiles, downloads and offline retention use media-specific podcast semantics.
Audio, video and live recovery use media-specific contracts and compatible fallback paths.
Cleanup consolidates controls, stores, compatibility layers and guidance so current behavior has one explicit owner.
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