Sign in

Matt Rossman

@mattrossman.com
97 followers 265 following 69 posts

AI Tooling @supabase.com Writing: mattrossman.com I build web applications with emerging tech. Geeked about @effect-ts.bsky.social

PostsRepliesMedia
Matt Rossman @mattrossman.com · 11/09/2025
Supabase laptop looking fresh
A silver MacBook Pro with a black skin and green Supabase logo adhered, its lid lifted, positioned atop the original laptop box relabeled with masking tape as "SupaBook Pro".
130
Matt Rossman @mattrossman.com · 13/08/2025
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!
Matt stands in front of a wall of greenery wearing a black hoodie with Supabase branding atop a green T-shirt, and a black ball cap with the Supabase logo.
050
Matt Rossman @mattrossman.com · 25/06/2025
Updated my project template dashboard new.mattrossman.com to a more space-efficient masonry layout with the help of `astro-masonry`
100
Matt Rossman @mattrossman.com · 14/06/2025
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!
151
Matt Rossman @mattrossman.com · 11/06/2025
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.
"""
Usage in browser console:

webRTCApp.smallWebRTCTransport.sendMessage({
  type: "user_content",
  content: "What's the weather in SF?"
})
"""

@transport.event_handler("on_app_message")
async def on_app_message(transport, message: dict):
    match message:
        case {"type": "user_content", "content": content}:
            await task.queue_frames(
                [
                    LLMMessagesAppendFrame([{"role": "user", "content": content}]),
                    context_aggregator.user().get_context_frame(),
                ]
            )
100
Matt Rossman @mattrossman.com · 11/03/2025
Heads up I tried using this today, I think there's an issue with the way the types are published. arethetypeswrong.github.io?p=bluesky-oa...
Report from "arethetypeswrong" website on bluesky-oauth-kit v0.2.7 indicating a problem "No types" with description "Import resolved to JavaScript files, but no type declarations were found."
120
Matt Rossman @mattrossman.com · 02/03/2025
I love how easy it is to add observability to Effect programs. To avoid overloading my computer I split the data into batches to embed/upload, Effect made it easy to compose this behavior and monitor each step.
Jaeger trace showing a bunch of successive "uploadDocs" spans under a "program" span.
110
Matt Rossman @mattrossman.com · 02/03/2025
Practicing Effect by embedding the Effect API reference
Qdrant visualization of vector embeddings as 2D points. Each point is colored according to Effect modules (e.g. "Fiber", "HttpClient", etc.)
140
Matt Rossman @mattrossman.com · 23/01/2025
A few years ago I published an interactive visual explanation of MVP matrix transformations in #threejs vertex shaders. The original CodeSandbox project broke, so I moved it to a more stable home on GitHub Pages. mattrossman.github.io/mvp-visually...
1183
Matt Rossman @mattrossman.com · 10/01/2025
Tortellina the crocheted turtle #GaussianSplatting splats.mattrossman.com/tortellina
000