Matteo Gassend @matteogassend.com · 26/08/2026Managed 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/2026works really well in Laravel and Spatie's laravel-markdown package 010
Matteo Gassend @matteogassend.com · 14/08/2026Other 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.comGitHub - matfire/commonmark-directivesContribute to matfire/commonmark-directives development by creating an account on GitHub. 110
Matteo Gassend @matteogassend.com · 09/08/2026Here'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.comGitHub - matfire/laravel-electricsqlContribute to matfire/laravel-electricsql development by creating an account on GitHub. 000
Matteo Gassend @matteogassend.com · 22/07/2026It'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/2026Here'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/2026static.klipy.comI'm Doing My Part! - Soldier's DeclarationALT: I'm Doing My Part! - Soldier's Declaration 000
Matteo Gassend @matteogassend.com · 09/07/2026Coming soon™️, but I’ll share more once I have more of it hashed out 000
Matteo Gassend @matteogassend.com · 09/07/2026Also 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/2026Better-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.comGitHub - better-releases/brelContribute to better-releases/brel development by creating an account on GitHub. 100
Matteo Gassend @matteogassend.com · 06/07/2026might 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/2026thanks! 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/2026following 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 - npmxA Satteri plugin that prepares images for PhotoSwipe 1110
Matteo Gassend @matteogassend.com · 14/06/2026Btw 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/2026Some news about Facteur: things are moving!mlogs.leaflet.pubFacteur EP 2: Status Update 000
Matteo Gassend @matteogassend.com · 17/05/2026Did 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/brelgo.mgsnd.linkBetter Release PRs with brelBetter releases, a universal tool for release prs that just works 030
Matteo Gassend @matteogassend.com · 08/05/2026Something I've been thinking about for a while. More on it soon™mlogs.leaflet.pubFacteur EP 1: Architecture 000
Matteo Gassend @matteogassend.com · 14/03/2026types could definitely be a bit tighter, but it works! 010
Matteo Gassend @matteogassend.com · 14/03/2026I 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 - npmxGenerate unique scoped slugs for Drizzle ORM inserts and updates 100
Matteo Gassend @matteogassend.com · 02/03/2026media.tenor.comkermit 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/2026I 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/2026I 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/2026focuscast is coming to a streamdeck near you! 🎉 (it just needs to be approved first) 000
Matteo Gassend @matteogassend.com · 05/02/2026ah, 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... 000
Matteo Gassend @matteogassend.com · 27/01/2026And now we have a website: focuscast.livefocuscast.liveFocuscast | OBS scene automation from your focused windowFocuscast 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/2026you 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 afternoongithub.comGitHub - matfire/focuscastContribute to matfire/focuscast development by creating an account on GitHub. 000
Matteo Gassend @matteogassend.com · 26/01/2026I 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/2026Also did this for a yet to be released package, more on it soon 000
Matteo Gassend @matteogassend.com · 25/01/2026Finally 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 buildgithub.comRelease 0.1.8 - 2026-01-25 · getbalzac/balzacRelease 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/2026Yeah, 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/2026But 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/2026Wow 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/2026Anyway, 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/2026Oh 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/2026Live working on a linear alternative built (partly) with automerge, come hang out! www.twitch.tv/code_taverntwitch.tvCode_Tavern - TwitchYour friendly neighborhood developer.Mostly working on side projects.Also created Magitools, a suite of productivity tools 000
Matteo Gassend @matteogassend.com · 15/01/2026mlogs.leaflet.pubJobtrail EP 5: The end of the Trail (For Now) 000
Matteo Gassend @matteogassend.com · 13/01/2026Aaand 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.rsdocs.balzac.rsBalzacFast, safe static site generator in Rust 000
Matteo Gassend @matteogassend.com · 12/01/2026In 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/2026For 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/2026Balzac 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/2026Finally 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/2026bringing 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/2026Balzac 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.rsBalzac - Fast, Safe Static Site GeneratorMemory-safe static site generator with Handlebars templating and Markdown content collections. 110
Matteo Gassend @matteogassend.com · 06/01/2026between 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/2026Theoretically, 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/2026Got 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.rsBalzac - Fast, Safe Static Site GeneratorMemory-safe static site generator with Handlebars templating and Markdown content collections. 000
Matteo Gassend @matteogassend.com · 04/01/2026Live again working on balzac, a static site generator written in #rust www.twitch.tv/code_taverntwitch.tvTwitchTwitch is the world 000
Matteo Gassend @matteogassend.com · 03/01/2026Going live to learn rust here in a few minutes, come and have fun ! www.twitch.tv/code_taverntwitch.tvTwitchTwitch is the world 000