Sign in

Matteo Gassend

@matteogassend.com
125 followers 244 following 198 posts

Software Developer, trying to build useful stuff that (probably) nobody will ever use aside from me

PostsRepliesMedia
Matteo Gassend @matteogassend.com · 26/08/2026
Managed to write a whole Minecraft server management app in laravel and deploy it on a vps where only users in a NetBird group can connect, ama Will share the source code once it’s done, but for now I can connect and play on a server running in docker
000
Matteo Gassend @matteogassend.com · 14/08/2026
works really well in Laravel and Spatie's laravel-markdown package
010
Matteo Gassend @matteogassend.com · 14/08/2026
Other small php package i've tagged yesterday: commonmark-directives! It adds a parser & renderer for markdown directives into the commommark package; just add a class with a render method and you're off to the races :) github.com/matfire/comm...
github.com
GitHub - matfire/commonmark-directives
Contribute to matfire/commonmark-directives development by creating an account on GitHub.
110
Matteo Gassend @matteogassend.com · 09/08/2026
Here's something I tagged earlier today: a helper package to use electricsql with laravel! I wrote and tested it to use with inertia + react + tanstack db and it works really well :) github.com/matfire/lara...
github.com
GitHub - matfire/laravel-electricsql
Contribute to matfire/laravel-electricsql development by creating an account on GitHub.
000
Matteo Gassend @matteogassend.com · 22/07/2026
It's still a bit rough around the edges, but I've using it on my personal website for a few days and nothing broke (yet). I can finally say goodbye to mdx!
010
Matteo Gassend @matteogassend.com · 22/07/2026
Here's the latest package I've been working on for @astro.build: npmx.dev/package/@matfire/astro-dir… You can register your astro components as handler for markdown directives (with Sätteri) and have them replaced with said component at render time (no js needed)...
140
Matteo Gassend @matteogassend.com · 11/07/2026
static.klipy.com
I'm Doing My Part! - Soldier's Declaration
ALT: I'm Doing My Part! - Soldier's Declaration
000
Matteo Gassend @matteogassend.com · 09/07/2026
Coming soon™️, but I’ll share more once I have more of it hashed out
000
Matteo Gassend @matteogassend.com · 09/07/2026
Also some long overdue refactoring that makes it easier to add new forges. Why? Because I recently added: - support for gitlab - support for forgejo I have also started speccing support for @tangled.org, if anyone wants to help with that 😉 Might also have a small analytics kind of dashboard…
100
Matteo Gassend @matteogassend.com · 09/07/2026
Better-releases just got some well deserved love! github.com/better-relea... Here’s a list of new things that just landed: - Support for changelogen alongside git-cliff - better workflow generation with commands instead of inlined bash - support for yaml files ⬇️
github.com
GitHub - better-releases/brel
Contribute to better-releases/brel development by creating an account on GitHub.
100
Matteo Gassend @matteogassend.com · 06/07/2026
might be nice if I could integrate all of this with the Astro compiler so that I can simply map components and they get inserted into the generated tree instead of having to load js just to have this kind of dx (I don't really like mdx xD )
000
Matteo Gassend @matteogassend.com · 06/07/2026
thanks! It was honestly pretty smooth given it was basically a 1:1 conversion from a rehype plugin I had :) Might hit you up when I start working on another plugin: since satteri supports containers, I might bring back my plugin to map container directives to custom tags (for webcomponents and such)
100
Matteo Gassend @matteogassend.com · 05/07/2026
following the new @astro.build release, I decided to make a satteri version of my photoswipe plugin (originally for rehype); you can find it here: npmx.dev/package/@mat... And also see it live on any article on my website :)
npmx.dev
@matfire/satteri-photoswipe - npmx
A Satteri plugin that prepares images for PhotoSwipe
1110
Matteo Gassend @matteogassend.com · 14/06/2026
Btw if you’re interested in trying it out and help me find any rough edges hit me up 🤙
000
Matteo Gassend @matteogassend.com · 14/06/2026
Some news about Facteur: things are moving!
mlogs.leaflet.pub
Facteur EP 2: Status Update
000
Matteo Gassend @matteogassend.com · 17/05/2026
Did I mention a made a small tool for Release management? It's called better-releases (aka Brel) and I just wrote a small blog post about it. You can find it here: go.mgsnd.link/brel
go.mgsnd.link
Better Release PRs with brel
Better releases, a universal tool for release prs that just works
030
Matteo Gassend @matteogassend.com · 08/05/2026
Something I've been thinking about for a while. More on it soon™
mlogs.leaflet.pub
Facteur EP 1: Architecture
000
Matteo Gassend @matteogassend.com · 14/03/2026
types could definitely be a bit tighter, but it works!
010
Matteo Gassend @matteogassend.com · 14/03/2026
I tried building a sluggifier package for @drizzle.team inspired by laravel-sluggable from spatie and I just tagged v1.0.0. If this is something that might come in handy, you can find it here: npmx.dev/package/@mat... Do let me know what you think (can definitely be improved I think)
npmx.dev
@matfire/drizzle-sluggable - npmx
Generate unique scoped slugs for Drizzle ORM inserts and updates
100
Matteo Gassend @matteogassend.com · 02/03/2026
media.tenor.com
kermit the frog is wearing a black hoodie and kermit the frog is wearing a black hood .
Alt: kermit the frog is wearing a black hoodie saying "do it"
000
Matteo Gassend @matteogassend.com · 28/02/2026
I can’t remember their name, but a while ago a company made a computer case shaped like a radiator that would heat the room it was in (this was when bitcoin was rising for the first time and everyone was mining)
080
Matteo Gassend @matteogassend.com · 20/02/2026
I think I did this right? All my articles should be synced to a standard publication, with links working correctly between the publication and the documents 🎉🎉
000
Matteo Gassend @matteogassend.com · 11/02/2026
focuscast is coming to a streamdeck near you! 🎉 (it just needs to be approved first)
show a table of versions for focuslive with version 0.1 in a status of "pending review"
000
Matteo Gassend @matteogassend.com · 05/02/2026
ah, that feeling when you're just debugging adding things to the screen and it looks terrible but you haven't had to go down the rabbit hole of ui/ux and lost hours on it...
a yellow block, a green block and a red block with random text inside
000
Matteo Gassend @matteogassend.com · 27/01/2026
And now we have a website: focuscast.live
focuscast.live
Focuscast | OBS scene automation from your focused window
Focuscast is a terminal UI app that automatically shows or hides OBS scene items based on the focused window. Configure mappings, run a clean CLI, and keep your stream in sync.
000
Matteo Gassend @matteogassend.com · 26/01/2026
you can find it here github.com/matfire/focu... with a steam deck integration coming soon(ish); I'll probably start working on it on stream this afternoon
github.com
GitHub - matfire/focuscast
Contribute to matfire/focuscast development by creating an account on GitHub.
000
Matteo Gassend @matteogassend.com · 26/01/2026
I made a thing that's practically finished! Focuscast is a @ratatui.rs tui that allows users to create mappings between applications and obs sources. It will automatically toggle the visibility of the created mappings when the focused window gets changed
120
Matteo Gassend @matteogassend.com · 25/01/2026
Also did this for a yet to be released package, more on it soon
000
Matteo Gassend @matteogassend.com · 25/01/2026
Finally setup proper distribution for balzac using @release-plz.dev and dist! I am happy to announce you can now get balzac from brew, npm and as binary packages: you can check the latest release here github.com/getbalzac/ba... Easiest way to use it definitely to just npx balzac build
github.com
Release 0.1.8 - 2026-01-25 · getbalzac/balzac
Release Notes 🐛 Bug Fixes Npm release Install balzac 0.1.8 Install prebuilt binaries via shell script curl --proto '=https' --tlsv1.2 -LsSf https://github.com/getbalzac/balzac/releases/download/v...
000
Matteo Gassend @matteogassend.com · 23/01/2026
Yeah, I saw the demo video and was like: I need this 🤩! Thanks for the info, I’ll definitely keep an eye out for it
010
Matteo Gassend @matteogassend.com · 22/01/2026
But I’m sure I’ll figure something out. Maybe a custom stream handler instead of using the built-in sse stream helper function?
100
Matteo Gassend @matteogassend.com · 22/01/2026
Wow is @tanstack.com ai good! Managed to setup a small website generator with custom system prompts, tools and such in record time and with little friction on the package size (more of a prompting issue). Still need to figure out a way to save/restore message history server side…
110
Matteo Gassend @matteogassend.com · 21/01/2026
Anyway, still a far way off 1.0, but getting closer 👍
000
Matteo Gassend @matteogassend.com · 21/01/2026
« latest articles » section, build menus and such (none of this is built/finalized yet). One of the things I want / need to implement is the option to replace html tags with custom components (think replacing img tags with figures, for example - this is something nuxt content does)
100
Matteo Gassend @matteogassend.com · 21/01/2026
Oh yeah, forgot to mention Balzac now has support for automatic sitemap generation! This required some (a lot of) rework of the build pipeline, but now it has opened the path more useful helpers which were impossible before, like being able to get the list of all elements in a collection to build a
100
Matteo Gassend @matteogassend.com · 20/01/2026
Live working on a linear alternative built (partly) with automerge, come hang out! www.twitch.tv/code_tavern
twitch.tv
Code_Tavern - Twitch
Your friendly neighborhood developer.Mostly working on side projects.Also created Magitools, a suite of productivity tools
000
Matteo Gassend @matteogassend.com · 17/01/2026
codemirror
110
Matteo Gassend @matteogassend.com · 15/01/2026
mlogs.leaflet.pub
Jobtrail EP 5: The end of the Trail (For Now)
000
Matteo Gassend @matteogassend.com · 13/01/2026
Aaand we've got docs fresh out the oven! built with starlight (honestly I did not want to remake all components in handlebars to use balzac to build balzac's docs - though that's possible) docs.balzac.rs
docs.balzac.rs
Balzac
Fast, safe static site generator in Rust
000
Matteo Gassend @matteogassend.com · 12/01/2026
In hindsight this was a bit of a stupid mistake, but I have a huge refactor planned that should make it simpler to implement other spots for hooks to run (docs should help too), but that will take a bit of time
000
Matteo Gassend @matteogassend.com · 12/01/2026
For example, the current available hooks either run before the whole build starts or after it has ended. Part of the build deletes the output directory and recreates it. If vite outputs to the same directory (it should), then the manifest never exists when template compilation happens
100
Matteo Gassend @matteogassend.com · 12/01/2026
Balzac has experimental support for vite as a bundler. If enabled, it will read the vite manifest file and provide a {{vite_url}} handlebars helper to automatically get the proper url for an asset. Or will be merged shortly, but still needs some more logic to work flawlessly
100
Matteo Gassend @matteogassend.com · 09/01/2026
Finally started looking into #automerge and I think I’m hooked. Still need to figure network sync with authentication, but shouldn’t be too hard (hopefully)
000
Matteo Gassend @matteogassend.com · 08/01/2026
bringing Balzac closer to being able to have its own documentation website built using Balzac (just some QoL improvements left). Will probably continue building it on stream in the following days :)
010
Matteo Gassend @matteogassend.com · 08/01/2026
Balzac 0.1.3 is out! Partially built live on twitch, this is an experiment in static site generation using #rust. You can find more info on it at balzac.rs and the latest release at github.com/getbalzac/ba.... 0.1.3 brings markdown collections with frontmatter parsing...
balzac.rs
Balzac - Fast, Safe Static Site Generator
Memory-safe static site generator with Handlebars templating and Markdown content collections.
110
Matteo Gassend @matteogassend.com · 06/01/2026
between commits. Been thinking about this a lot and might just do it myself (I have an astro blog, which uses unified, where I could theoretically jump into the mdast and render out the blocks I need), though I don't know when yet
100
Matteo Gassend @matteogassend.com · 06/01/2026
Theoretically, I think you could just loop over your posts (or just get the newest one) and create a record in a leaflet publication (if mirroring a blog) with the article content parsed into leaflet blocks. and then publish it to your pds. Could probably do it with GH based on the changed files...
100
Matteo Gassend @matteogassend.com · 04/01/2026
Got collection rendering working with markdown files 🎉 Now I just need to get frontmatter parsing working (& some. refactor to make it easier to read) and we're off to the races btw the website is here: balzac.rs (currently also working on docs)
balzac.rs
Balzac - Fast, Safe Static Site Generator
Memory-safe static site generator with Handlebars templating and Markdown content collections.
000
Matteo Gassend @matteogassend.com · 04/01/2026
Live again working on balzac, a static site generator written in #rust www.twitch.tv/code_tavern
twitch.tv
Twitch
Twitch is the world
000
Matteo Gassend @matteogassend.com · 03/01/2026
Going live to learn rust here in a few minutes, come and have fun ! www.twitch.tv/code_tavern
twitch.tv
Twitch
Twitch is the world
000