Matt Rossman
@mattrossman.com
AI Tooling @supabase.com Writing: mattrossman.com I build web applications with emerging tech. Geeked about @effect-ts.bsky.social
Supabase Select brings together the top builders in the industry Join Guillermo Rauch, CEO and Founder of @vercel.com speaking in Track 1 Apply today: select.supabase.com
Delighted to share that I’ve joined @supabase.com to work on AI tools! Open source has taught me so much, so it’s a privilege to now contribute full-time in this space. Excited to help make this excellent developer platform even better!
We're really proud to show off the final design for Pebble Time 2*! It's quite a bit sleeker and imo more awesome looking than the original design for Core Time 2 we showed off in March. I hope you like it!
My Voices of VR interview is out! I spoke to @kentbye.com at @awexr.com about my game, WebXR broadly, and publishing on @viverse.com. I'm a huge fan of this podcast b/c of Kent's journalistic objectivity and ethics, but also his genuine enthusiasm and deep experience voicesofvr.com/1615-viverse...
#1615: Viverse’s WebXR Publishing Strategy with James C. Kane & “In Tirol” Game – Voices of VR Podcast
voicesofvr.com
ECMAScript excitement 😉 Congrats to @bakkot.com on advancing UInt8Array ↔️ Base64/Hex to Stage 4 at TC39 this week 🎉 UInt8Array.prototype. toBase64 toHex UInt8Array. fromBase64 fromHex It lets you convert directly between binary data and Base64/Hex strings 👍
Exporting video with correct colors from #DaVinciResolve is unexpectedly difficult... Something that looks great in editor looks maddeningly "off" in different viewers. I have a lot respect for creators who have mastered this! www.youtube.com/watch?v=1Qln...
Quicktime Color Management: why so many ISSUES?!
YouTube video by LE LABO DE JAY
youtube.com
I wrote about why I'm tired of reading about takes on quality. ericwbailey.website/published/qu...
Quality is a trap
It is a proxy phrase, often born of an inability or unwillingness to articulate other concerns.
ericwbailey.website
Updated my project template dashboard new.mattrossman.com to a more space-efficient masonry layout with the help of `astro-masonry`
Early builds of a rewritten SpotMenu (Spotify controls for Mac menu bar) are popping up in this thread, looking nice 👀 github.com/kmikiy/SpotM...
TIL about ::part() for letting web component consumers more easily style elements within the shadow DOM
::part() - CSS | MDN
The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute.
developer.mozilla.org
On device voice assistant running on my Mac Mini w/Ollama and Home Assistant: mattcool.tech/posts/home-a...
The @vercel.com MCP adapter works with @val.town HTTP triggers (for streamable HTTP at least) meaning you can write and deploy MCP servers with TypeScript instantly, right in your browser!
Spotted on the changelog for Deno Deploy EA... Playgrounds! - Create and edit playgrounds - Multi-file playground support - Playground templates and settings docs.deno.com/deploy/early...
When testing @pipecat.bsky.social examples with their prebuilt UI, you can manually submit user messages (or trigger other behavior of your choice) through the browser console via app messages by including a handler like this.
I use a $35 HP T620 Thin Client as my home server. I measured its energy usage over the past couple of months to assess how much it costs me to run a lightweight always-on server with #HomeAssistant and media management software (around $0.08/day).
Cost of running a thin client home server
mattrossman.com
Sometimes I want to interrupt an async function that doesn't support abort signals. In situations without side-effects, here's a wrapper to abort a promise and lazily discard its result. I generally prefer safer interruption patterns (as in #Effect-TS) but it's handy in a pinch.
Naive promise interruption
mattrossman.com
A helpful calculator for learning optimal synergies in #Balatro efhiii.github.io/balatro-calc...
Balatro Calculator
Calculate the score of any Balatro hand
efhiii.github.io
I like to put `ignore/` in .gitignore for most projects I work on. When I want to create an untracked file (e.g. private notes, large static asset for dev) I can toss it in an `ignore/` folder anywhere. Wish something like this came in more starter templates! #git
I was going nuts trying to figure out why Cloudflare logs for my MCP server were showing requests every 5 minutes from my location. Turns out Claude Desktop was the culprit, even though I closed the app and removed the MCP server config it left an `mcp-remote` process running in the background 🙃
I want to upgrade my @home-assistant.io install soon to play around with their latest assistant features and MCP integration. www.home-assistant.io/integrations...
Model Context Protocol
Instructions on how to use the Model Context Protocol with Home Assistant.
home-assistant.io
If you use moonrepo.dev/proto to manage Node versions and face `EOENT` / `EPIPE` errors when configuring local MCP servers in Claude desktop, here's a solution that worked for me: github.com/modelcontext...
Building an MCP server with @cloudflare-dev.bsky.social agents SDK. It's an interesting mental shift writing an API where do you don't have to worry so much about the shape of your response. E.g. for a Bluesky tool I can neatly format feed data or dump it as-is, the model makes sense of it.
🚀 All week, we’re sharing powerful voices from the VIVERSE stage at GDC 2025. Today, meet @jamesckane.bsky.social — a game dev pushing boundaries and redefining XR design with #VIVERSE. 🎥 Watch now: www.youtube.com/watch?v=un5ZZKupV-E #WebXR #JamesKane #VIVERSE #PlayCanvas
How James Kane Is Building XR Games Without Limits | VIVERSE @ GDC 2025
🎮 Don't just build games, build new realities. James Kane shares his journey into VIVERSE and WebXR, developing immersive games with PlayCanvas and pushing creative boundaries in digital space. Learn how experimentation, freedom, and powerful tools enable new storytelling inside XR.
youtube.com
Phone auto switched to Gemini Assistant. Not only was it incapable of basic things like setting reminders, it confidently told me it set a reminder when it in fact did nothing. The lack of hallucination prevention is strange... Glad I had the option to switch back.
The tsdown documentation site is now live! Check it out here: tsdown.dev
tsdown | The Elegant Bundler for Libraries
The Elegant Bundler for Libraries
tsdown.dev
"It makes doing the hard, tedious, and error-prone tasks that require discipline – easy, natural, first-class." – Dillon Mulroy @dillonis.online on why the Domains team at @vercel.com is betting on Effect. Watch Dillon’s full talk from Effect Days 2025 ⤵️ youtu.be/VZpr91dU03c
Effect for Domains at Vercel | Dillon Mulroy (Effect Days 2025)
YouTube video by Effect | TypeScript at Scale
youtu.be