Privat · aktiv produktutveckling · Mediesystem
Slipmat
En medieklient för egen och självhostad media, byggd kring idén att själva uppspelningen — inte medieservern, sidan eller leverantören — ska vara produktens tyngdpunkt.
- Nisch
- Uppspelning av självhostad och lokal media
- Kärnstack
- React 19 · TypeScript · Rust · Tauri v2 · WASM
- Källor
- Jellyfin + native lokal media
- Fokus
- Uppspelningsauktoritet, signaltransparens, musikintelligens
Systemvy
Nischen
De flesta medieklienter är antingen fjärrkontroller till en server eller konventionella spelare. Slipmat riktar sig mot utrymmet däremellan: ett seriöst uppspelningsinstrument för media du själv styr.
Jellyfin är en förstklassig källa, men äger inte kö, klocka, renderer, interaktionsmodell eller produktidentitet. Lokala filer går in i samma uppspelningsmodell. Därmed fungerar klienten som ett sammanhängande mediesystem i stället för ett skal ovanpå en enda leverantör.
Vad som skiljer det
Det ovanliga är inte en enskild visualisering eller DSP-funktion. Det är att uppspelningstillstånd behandlas som uttrycklig arkitektur.
Playback Rail är det kanoniska tids- och skalinstrumentet för sökning och projicerade kontroller i stället för att lägga till fristående reglage och klockor.
Produkten redovisar vad bearbetnings- och utgångsvägen faktiskt kan bevisa i stället för att marknadsföra obelagda påståenden om “bit-perfect” eller exklusiv utgång.
BPM, tonart, energi och spektralanalys informerar visuell topologi, shuffle och övergångsunderlag utan att reducera hela produkten till musik.
Leverantörer tillhandahåller katalog och källkandidater; de skapar inte konkurrerande tillståndsmaskiner för uppspelning.
Produkt- och designtänkande
Gränssnittet är utformat för att visa sitt arbete.
Vågformer, buffring, övergångstelemetri, låttexter, grafik, spektra och immersiva ytor är inte separata dekorativa lägen; de är olika projektioner av samma uppspelningstillstånd. Produkten visar avsiktligt tillstånd när det förbättrar kontroll eller tillit, samtidigt som en tydlig auktoritet för handlingar behålls.
Funktioner nivåindelas också efter vad som faktiskt är kopplat från början till slut. Grundarbete för framtida leverantörer hålls skilt från påståenden om levererad funktionalitet. Det gör färdplanen ambitiös utan att gränssnitt eller dokumentation blir marknadsföringsfiktion.
Senaste utvecklingen
Omfånget har vuxit utan att skapa en andra uppspelningsmodell.
Podcaster återanvänder nu samma uppspelningsauktoritet och Rail som musik men lägger till kapitel, sektioner, annonsmarkörer, transkriptioner, anteckningar, hastighetsprofiler och mediespecifik offlinebevaring.
Arbetet med video och live-tv tillämpar samma disciplin på program-/kanal-/källidentitet, återställningskontrakt och sessionslivscykler. Samtidigt tar moderniseringen bort parallella äldre ägare och håller Rail-meddelanden passiva utan att stjäla fokus.
Kanonisk episoddetalj, berikning, separata hastigheter, nedladdningar och offlinebevaring utan att låtsas att en podcast är ett musikalbum.
Återställning för ljud, video och live måste respektera mediets kapacitet i stället för att dela inkompatibla fallback-vägar.
Upprensning tar bort föråldrade kontroller, stores, kompatibilitetslager och dokumentation så att nuvarande beteende har en tydlig ägare.
Storybook, Vitest, Playwright och gränstester används för att bevisa verkliga kontrakt i stället för att räkna dokumentation som körbar täckning.
Utvecklingsmetod
Här fungerar arkitektur som en kreativ begränsning: prototypa upplevelsen med full fidelitet, observera vad den faktiskt gör och ge bara bevisat beteende auktoritet.
En crossfade-gest, vågformsanimation, podcast-kapitelmodell eller återhämtningsväg för live-TV kan börja som ett fokuserat Storybook- eller gränsexperiment med realistiskt media. Design, timing och interaktion arbetas fram mot körande beteende i stället för att lämnas över som statisk intention.
När ett experiment visar sig användbart bevaras det med strikta typer, ägarskapskontrakt, tillgänglighetskontroller, prestandaspår och automatiserade regressionstester. Det ersätter den vanliga kedjan design → implementation → buggrättning med en tätare loop förundran → prototyp → evidens → invariant, så systemet kan vara disciplinerat utan att produkten blir försiktig.
Privat kodarkiv · fallstudien beskriver produktarkitekturen utan att exponera källkoden