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/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/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 · 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 · 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/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 · 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/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 · 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/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/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/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 · 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
Matteo Gassend @matteogassend.com · 20/12/2025mlogs.leaflet.pubJobtrail EP 4: Feature Parity & Trails 000
Matteo Gassend @matteogassend.com · 16/12/2025New jobtrail update: a bit of an explanation of the original architecture and the new onemlogs.leaflet.pubJobtrail EP 3: Laravel New'd 010
Matteo Gassend @matteogassend.com · 15/12/2025Now this is what I like to see! Had a little issue with docker images and containers taking up way too much space (even though snapshots only took like 50gb). Pruned some stuff and storage is being free 000
Matteo Gassend @matteogassend.com · 10/12/2025Second log for Jobtrail: a bit of rambling about creating effective checkpointsmlogs.leaflet.pubJobtrail EP:2 Thinking about Checkpoints 000
Matteo Gassend @matteogassend.com · 09/12/2025Decided to give leaflet a try! Think of this publication kind of like a devlog. I'll later look into incorporating these posts in my website, but that will be way down the roadmlogs.leaflet.pubJobtrail EP 1: The art of yak shaving 010
Matteo Gassend @matteogassend.com · 01/12/2025How did I find myself building a job application platform instead of looking for and applying for jobs? Is this what they call yak shaving? Will have more info on this soon, since it will be open source and mostly free to use 👍 000
Matteo Gassend @matteogassend.com · 26/11/2025Well, looks like I'm on hunt for a place to work... So here's the spiel: if you need a developer that can do frontend, backend, PHP, JS, Go (kind of), Rust (kind of), Python and can work on its own (remote), hit me up! You can check what I do/write in my website (link in bio) 010
Matteo Gassend @matteogassend.com · 08/11/2025And now my other package (for remark, this time) is updated to use tsdown & esm only github.com/matfire/remark-directive… 010
Matteo Gassend @matteogassend.com · 07/11/2025just tagged v1.0.0 of rehype-photoswipe early this morning! It's now fully converted to typescript, esm only and built on tsdown :) You can find the repo here: github.com/matfire/rehype-photoswipe And it's also what I use on my website for blog/project images 😉 030
Matteo Gassend @matteogassend.com · 24/10/2025What if, instead of focusing on writing a new blog post, I remade my website once again ? And, on top of that, I built my own "framework" ? It would be stupid right ? Unless... I mean I've been trying to find a reason to dive into making Vite plugins & testing nitro v3... But it would be stupid... 020
Matteo Gassend @matteogassend.com · 21/10/2025Concorde (concorde.sh) has been indexed by context7! Now you can easily use it with your agent of choice 🥳 (llms.txt coming soon-ish) 000
Matteo Gassend @matteogassend.com · 14/10/2025I think I finally made something useful: Concorde (concorde.sh)! Concorde is a type safe wrapper for Pusher (server & client side) that provides a way to declare all the events you'll handle in advance... 200
Matteo Gassend @matteogassend.com · 22/09/2025New article just dropped! Learn how to build an rss/atom feed for your @nuxt.com website using server routes and nuxt content collections: www.matteogassend.com/articles/nux...matteogassend.comMaking an RSS Feed for a Nuxt Websitelearn what an rss feed is and how to build one for Nuxt website 010
Matteo Gassend @matteogassend.com · 20/09/2025I have a newsletter ! You can sign up for it on mostly any page of my website (www.matteogassend.com). I swear I won't spam you :)matteogassend.comMatteo GMatteo Gassend is a fullstack developer with 3 years of experience 010
Matteo Gassend @matteogassend.com · 01/09/2025New portfolio is up! 🎉🎉 Based on the "spotlight" template from @tailwindcss.com and reworked to work with @nuxt.com and nuxt content. Works like a charm ! You can find it here: www.matteogassend.com 000
Matteo Gassend @matteogassend.com · 09/08/2025An unholy (or most holy) union has been performed! I am using resend’s React-email inside a @nuxt.com 4 project, along with the preview server and full type safety up to the api route 🎉 Article coming soon, but I’ll need to polish the implementation a bit 100
Matteo Gassend @matteogassend.com · 14/07/2025I recently (kind of) participated in the T3Chat Cloneathon where I tried to build my own ai chat webapp. Here's the postmortem for it! www.matteogassend.com/blog/t3-clon...matteogassend.comT3Chat Cloneathon PostmortemI participated in the T3Chat cloneathon; here's how it went 020
Matteo Gassend @matteogassend.com · 11/07/2025I scored 11/28 on jsdate.wtf and all I got was this lousy text to share on social media.jsdate.wtfnew Date("wtf")How well do you know JavaScript's Date class? 000
Matteo Gassend @matteogassend.com · 15/06/2025Currently trying to compete in the #t3chat cloneathon. Just merged the feature allowing you to BYOK (Bring Your Own Key) to any provider that supports it (whihc right now is only OpenRouter) 000
Matteo Gassend @matteogassend.com · 10/06/2025The epitome of procrastination: building a text editor to write articles in instead of actually writing articles I'm almost done, I swear! 000