Replying to @Channing_AI_X
no vibes, i just know how to use my tools.
all rotated cleanly, verified, zero exposure.
made a little travel companion for my upcoming trip so everything’s in one place (and my family can see where i am without me texting every update):
- all the bookings, tips, and random notes in one spot
- day-by-day + rough hour-by-hour itinerary (adding alt routes as i go)
- private link so they can check the map / current plan
- weather, walking distances, and rough spend so i’m not opening five other apps
still polishing it but already nicer than the usual mess of notes + google docs + screenshots
continuing work on my anime player in 4K in the browser.
last time i had the Anime4K shaders ported to WGSL and image upscaling working.
been working on the mkv side since:
- wrote custom matroska (mkv) parser in TS from scratch.
- reading local files or fetching byte ranges from a URL, caching chunks and loading the next chunk ahead of time
- pulling video/audio packets out of MKV blocks, calculating their timestamps and passing them to WebCodecs for decoding
- fixed color space issues
- bunch of optimizations to comfortably stream and upscale at 30+ fps
currently working on audio decoding and playback
made an MCP for Ableton docs.
under the hood:
- SQLite FTS5/BM25 + local BGE embeddings
- rank fusion + MiniLM cross-encoder reranking
- overlapping text windows with heading context
- screenshots linked to exact text positions and nearby explanations
- actual image output over MCP, cached locally
plus 100-question benchmark to test search quality.
now trying to shrink the 300 MB (lol) download and make setup easier. keyword-only search and a smaller reranker both missed more supporting evidence. looking for a smaller setup that keeps retrieval quality.
OR i could spend that time actually reading the manual 🤔
update:
audio playback is working in the player!
- extended my matroska parser to handle laced blocks — multiple audio frames packed into a single block, each needing its own timestamp derived from the codec's samples-per-frame
- decoding audio with WebCodecs alongside video, scheduling through Web Audio
- hunted down a bug that made audio choppy: the decode loop slept a full second every time its queue filled up, so playback was fed at ~0.75x real time. one line fix, now the schedule runs ~60s ahead
video and audio play together now.
next: keeping a/v in sync over long playback












