OpenAPI + Fastify: let the contract build your serverβMartian Chronicles, Evil Martiansβ team blog
Wire your OpenAPI contract into a Node.js Fastify backend with auto-generated routes, typed handlers, and request validationβno manual route definitions, no type drift, no integration surprises.
You know that feeling when you generate a typed SDK from your API spec on the frontend? No manual types, everything in sync, life is good. Now imagine the same thing but for backend: your OpenAPI spec generates typed route handlers and you just... implement them. Read this walkthrough:
10.03.2026 17:59
π 5
π 2
π¬ 0
π 2
SIX
Welcome to the show! Astro 6 is here
astro.build/blog/astro-6/
10.03.2026 17:37
π 36
π 3
π¬ 3
π 1
The JSDoc compiler is insanely fast. It takes 0.00000s to compile my JavaScript app.
06.03.2026 16:09
π 28
π 6
π¬ 3
π 0
Gosh this feed is awesome: @goodtrailcams.bsky.social
09.03.2026 19:34
π 1
π 0
π¬ 0
π 0
Quite recently, I had a built-in "ad blocker" in a browser remove a full h2 on a docs site, because it had a specific word in it (maybe it was "share" too, forgot). That was the last hit I needed to uninstall it :D
09.03.2026 19:28
π 1
π 0
π¬ 1
π 0
Journal: Installing web apps
BeforeInstallPromptEvent vs. navigator.install
πhttps://adactio.com/journal/22444
09.03.2026 15:05
π 1
π 1
π¬ 0
π 0
How to Make a DOM Library Render Anything w/ Paolo Ricciuti
YouTube video by Syntax
@techniq.dev just made me realize that I'm such an idiot I didn't share my appearance on @syntax.fm here π€¦π»ββοΈ
Anyway here's me chatting with @tolin.ski and @wesbos.com about the svelte custom renderers initiative π§‘
It was so fun...thanks for having me ππ»
youtu.be/RZ9_9bcIKwk
08.03.2026 17:35
π 30
π 3
π¬ 0
π 1
Refreshed neo:lights:out
My game neo:lights:out has gotten a little face-lift.
My game neo:lights:out has gotten a little face lift.
Play it here neolightsout.grooovinger.com or read more:
grooovinger.com/notes/2026-0...
08.03.2026 12:45
π 2
π 0
π¬ 0
π 0
CSS Daily - A Daily CSS Challenge
A daily CSS challenge - like Wordle, but for CSS!
Watched March MadCSS and thought "what if we could do this every day?"
So I built it. In a day.
cssdaily.dev β a daily CSS challenge. Write CSS to match a target, get pixel-diffed in real-time. New challenge every morning.
Scoring adapted from @wesbos.com and @tolin.ski's open-source SynHax.
07.03.2026 03:05
π 60
π 10
π¬ 7
π 1
Request for developer feedback: focusgroup Β |Β Blog Β |Β Chrome for Developers
Try out focusgroup and comment on the proposal.
Open UI has been working on speccing out the focusgroup attribute: a declarative way to support roving focus & add keyboard nav to composite widgets like toolbars/menus
We'd love your feedback!
Learn more & see open questions: developer.chrome.com/blog/focusgr...
H/t to Edge folks for prototyping
05.03.2026 16:54
π 73
π 22
π¬ 8
π 3
Svelte goes beyond the DOM
Svelte is well loved as a web framework, and now the team is working to take it multi-platform. Svelteβs custom renderers API will enable native apps, terminals, and more to be build with Svelte.β¦
This evening, @paolo.ricciuti.me will join @codetv.dev's The Web Dev Podcast to talk about our work on the Svelte Custom Renderers Initiative! Check it out if youβre interested in rendering beyond the DOM with Svelte π
Tune in at 18:30 CET πΒ www.youtube.com/watch?v=nPac...
#Svelte #SvelteKit
05.03.2026 09:17
π 20
π 5
π¬ 1
π 0
Your skip link targets don't need tabindex=-1 to work properly - Manuel Matuzovic
I'm a frontend developer in Graz, specialized in HTML, accessibility, and CSS layout and architecture.
Recently, someone posted on LinkedIn that skip links are often broken because their target elements are missing a `tabindex` attribute. I was really surprised to see that because I thought that was an issue of the past. That's why I decided to test it.
matuzo.at/blog/2026/sk...
04.03.2026 19:37
π 33
π 8
π¬ 7
π 0
Epic!
github.com/platformatic...
03.03.2026 18:46
π 4
π 1
π¬ 0
π 0
Every Node.js developer has lost a background job to a server restart.
We just open-sourced @platformatic/job-queue, a new queue library built for reliability from day one.
Deduplication, retries, request/response, graceful shutdown. All out of the box.
π§΅π
03.03.2026 16:59
π 21
π 4
π¬ 3
π 1
The Merger That Needed A War
YouTube video by The Drey Dossier
we're so fucking cooked
youtu.be/-TlYoVsW5ko?...
02.03.2026 17:55
π 4
π 1
π¬ 0
π 0
Oh right! I forgot about animation-range, great stuff!
I will update the article and demo tonight. Thank you!
02.03.2026 15:35
π 1
π 0
π¬ 0
π 0
If only Safari supported `viewport-fit=cover` in Portrait Mode on iOS. The combo with the safe-area insets gives you full control over which colors to use where.
(For completeness: They support `viewport-fit=cover` in Landscape mode on iOS. And on iPadOS they do nothing but the cover behavior)
02.03.2026 09:36
π 13
π 2
π¬ 1
π 0
Thanks Manuel! I wasn't aware the frustration was so obvious, but oh well, it's the truth π
02.03.2026 15:33
π 1
π 0
π¬ 0
π 0
Notes
Collection of notes
I plan to publish more on grooovinger.com/notes
(with the occasional posts around Svelte too!)
01.03.2026 14:42
π 3
π 0
π¬ 0
π 0
The attacks on Iran are illegal
They constitute aggression
Pre-emptive self-defence would only be legal if an attack by Iran was imminent and thatβs simply not the case
Iran now has the right to self-defence
Every country can support Iran in exercising its right to self-defence
28.02.2026 08:52
π 65
π 19
π¬ 3
π 4
Define the Theme Color for Safari 26
With theme_color unshipped, what are our options to control the background color of Safari 26 browser UI?
It bugged me that it is not obvious how Safari 26 decides which background color to use for its browser chrome. I wrote about what I found out so far, including a trick to apply a custom theme color and a demo:
grooovinger.com/notes/2026-0...
28.02.2026 12:30
π 13
π 1
π¬ 1
π 3
Native Random Values in CSS
The CSS Working Group has published the Values and Units Module Level 5, which introduces native mechanisms for generating random content using only CSS. This is the tl;dr of a longer article explorin...
CSS is getting native randomness π²
random() and random-item() are coming with:
- per-element randomness
- step-based ranges
- shared value options
- zero JS required
I wrote an overview of the feature, how it works, and what browsers support it.
alvaromontoro.com/blog/68092/n...
#css #webdev
27.02.2026 16:02
π 46
π 11
π¬ 3
π 1
I don't know if anyone actually subscribed to my blog via RSS, but I just noticed I've been listing "draft" posts in the RSS feed as well. Whoopsi π
grooovinger.com/rss.xml now without all the draft posts π
27.02.2026 12:35
π 2
π 0
π¬ 0
π 0
#TIL Safari 26 supports local overrides for network requests.
webkit.org/web-inspecto... suggests this feature existed since January 2020, can this be true?
27.02.2026 12:14
π 1
π 0
π¬ 0
π 0
SvelteKit 2 now fully supports Vite 8
SvelteKit 3 will require it - giving additional optimizations and functionality. E.g. SvelteKit 3 will use @rolldown.rs hook filters to spend more compilation time in rust and less in JavaScript. And SvelteKit 3 adapters use only rolldown without esbuild
27.02.2026 00:40
π 98
π 11
π¬ 1
π 1