Stephen G
@jovianmoon.io
having fun building things on the internet and sometimes writing about it: 🔗 https://jovianmoon.io
Pinned
Best thing for my productivity in the past month? This mix: youtu.be/fahqiGL6LUw
I am completely addicted to liquid dnb and I don't want help
I am completely addicted to liquid dnb and I don't want help
London Elektricity inspired Liquid Drum & Bass DJ Mix, September'25
YouTube video by OffbeatDooter
youtu.be
November 8, 2025 at 4:56 PM
Best thing for my productivity in the past month? This mix: youtu.be/fahqiGL6LUw
I am completely addicted to liquid dnb and I don't want help
I am completely addicted to liquid dnb and I don't want help
Built a discussion forum into an existing project- decided to just build it myself instead of trying to integrate 3rd party software.
Project already had a full SvelteKit frontend connected to a Directus backend w/ users, data etc.
My first time using tailwind w/ a component library (shad)
Project already had a full SvelteKit frontend connected to a Directus backend w/ users, data etc.
My first time using tailwind w/ a component library (shad)
November 6, 2025 at 4:55 PM
Built a discussion forum into an existing project- decided to just build it myself instead of trying to integrate 3rd party software.
Project already had a full SvelteKit frontend connected to a Directus backend w/ users, data etc.
My first time using tailwind w/ a component library (shad)
Project already had a full SvelteKit frontend connected to a Directus backend w/ users, data etc.
My first time using tailwind w/ a component library (shad)
I just got ultra nerd sniped by youtu.be/QYM3TWf_G38
Quality commentary on the challenges of designing complex user interfaces.
Quality commentary on the challenges of designing complex user interfaces.
How We're Designing Audacity For The Future
YouTube video by Tantacrul
youtu.be
October 3, 2025 at 10:15 PM
I just got ultra nerd sniped by youtu.be/QYM3TWf_G38
Quality commentary on the challenges of designing complex user interfaces.
Quality commentary on the challenges of designing complex user interfaces.
Accidentally unplugged my raspberry pi analytics server while cleaning and started getting error alerts...
September 27, 2025 at 2:34 PM
Accidentally unplugged my raspberry pi analytics server while cleaning and started getting error alerts...
Looking at optical thunderbolt cables for the first time...
a man in a black jacket and hat says i am never going to financially recover from this
ALT: a man in a black jacket and hat says i am never going to financially recover from this
media.tenor.com
September 26, 2025 at 7:46 PM
Looking at optical thunderbolt cables for the first time...
Woke up early yesterday and decided to cook up a new navigation menu for my blog:
September 15, 2025 at 4:11 PM
Woke up early yesterday and decided to cook up a new navigation menu for my blog:
A redditor asked how to implement SSR dark/light mode with cookies to avoid all possible flashes of the wrong theme.
Instead of replying directly, I wrote it out as a blog post: jovianmoon.io/posts/ssr-th...
Instead of replying directly, I wrote it out as a blog post: jovianmoon.io/posts/ssr-th...
SSR Theme Switching Without Flash in SvelteKit - JovianMoon.io
How to implement theme switching that avoids flash when users prefer the opposite of their system theme
jovianmoon.io
September 14, 2025 at 12:37 AM
A redditor asked how to implement SSR dark/light mode with cookies to avoid all possible flashes of the wrong theme.
Instead of replying directly, I wrote it out as a blog post: jovianmoon.io/posts/ssr-th...
Instead of replying directly, I wrote it out as a blog post: jovianmoon.io/posts/ssr-th...
I need help from the Svelte community with a question at the end of this thread. For 2 years I've been working on a SvelteKit project with a friend who lost their son to pancreatic cancer.
the11.us (password: edgerton)
It's a collection of stories for his kids to know him by.
the11.us (password: edgerton)
It's a collection of stories for his kids to know him by.
September 13, 2025 at 3:07 PM
I need help from the Svelte community with a question at the end of this thread. For 2 years I've been working on a SvelteKit project with a friend who lost their son to pancreatic cancer.
the11.us (password: edgerton)
It's a collection of stories for his kids to know him by.
the11.us (password: edgerton)
It's a collection of stories for his kids to know him by.
The way I got into web dev as a kid was through the Quake 1 and Quake 2 communities - mods, clans, planet quake, etc.
Quake clans had some of the coolest, most avant-garde, stunning, + advanced sites on the internet. They were nerd passion projects.
I still think about the old deathrow.com
Quake clans had some of the coolest, most avant-garde, stunning, + advanced sites on the internet. They were nerd passion projects.
I still think about the old deathrow.com
September 9, 2025 at 4:38 PM
The way I got into web dev as a kid was through the Quake 1 and Quake 2 communities - mods, clans, planet quake, etc.
Quake clans had some of the coolest, most avant-garde, stunning, + advanced sites on the internet. They were nerd passion projects.
I still think about the old deathrow.com
Quake clans had some of the coolest, most avant-garde, stunning, + advanced sites on the internet. They were nerd passion projects.
I still think about the old deathrow.com
I have all the indicators of becoming a model train person when I get older and I'm not sure how I feel about that.
September 5, 2025 at 8:34 PM
I have all the indicators of becoming a model train person when I get older and I'm not sure how I feel about that.
day 1 of switching to home row mods
can't capitalize anything yet, keep killing apps by accident via window manager binds
still need to dial it in, but i can already tell why home row mods get a lot of hype
new config is currently sating my desire to hop to a new board
check it out here
can't capitalize anything yet, keep killing apps by accident via window manager binds
still need to dial it in, but i can already tell why home row mods get a lot of hype
new config is currently sating my desire to hop to a new board
check it out here
Oryx: The ZSA Keyboard Configurator
A powerful, visual tool to configure your keyboard. Based on the open-source QMK firmware.
configure.zsa.io
August 30, 2025 at 11:18 PM
day 1 of switching to home row mods
can't capitalize anything yet, keep killing apps by accident via window manager binds
still need to dial it in, but i can already tell why home row mods get a lot of hype
new config is currently sating my desire to hop to a new board
check it out here
can't capitalize anything yet, keep killing apps by accident via window manager binds
still need to dial it in, but i can already tell why home row mods get a lot of hype
new config is currently sating my desire to hop to a new board
check it out here
Keyboard gods, hear my cry, grant me the strength to close these vendor tabs and accept that my current board is perfectly fine.
August 29, 2025 at 2:32 PM
Keyboard gods, hear my cry, grant me the strength to close these vendor tabs and accept that my current board is perfectly fine.
Vercel is dropping Node 18.x support. I've got Svelte 3/early SvelteKit projects that work fine as-is. Rather than wrestle with major framework updates, moving them to my basement Coolify server. Here's a thumbnail generator for my mom's (very successful) craft channel a few years ago:
August 28, 2025 at 7:04 PM
Vercel is dropping Node 18.x support. I've got Svelte 3/early SvelteKit projects that work fine as-is. Rather than wrestle with major framework updates, moving them to my basement Coolify server. Here's a thumbnail generator for my mom's (very successful) craft channel a few years ago:
New post! Recent win with Claude Code that saved me from 150+ manual audio recordings. Built a system that auto-generates narration for a memorial site's 100+ articles
jovianmoon.io/posts/adding...
(the blog post took a lot longer)
jovianmoon.io/posts/adding...
(the blog post took a lot longer)
Adding Audio Narration to a Memorial Website in 45 Minutes - JovianMoon.io
How Claude Code helped me build an automated audio pipeline for 100+ markdown articles using ElevenLabs
jovianmoon.io
August 21, 2025 at 2:16 PM
New post! Recent win with Claude Code that saved me from 150+ manual audio recordings. Built a system that auto-generates narration for a memorial site's 100+ articles
jovianmoon.io/posts/adding...
(the blog post took a lot longer)
jovianmoon.io/posts/adding...
(the blog post took a lot longer)
I've been a build-it-myself developer for a long time, but here's when I know it's time to give in: if you need a custom <select>, reach for a component library
August 17, 2025 at 2:14 PM
I've been a build-it-myself developer for a long time, but here's when I know it's time to give in: if you need a custom <select>, reach for a component library
Producing a live YouTube show tonight with an audience.
July 25, 2025 at 7:02 PM
Producing a live YouTube show tonight with an audience.
I need to write a blog post about all the silly/cool Svelte OBS stream overlays I've made. But for now, here is a quick video of a prize wheel that has been in use for 3 years on a weekly youtube show. It loads / saves data to the central DB and is controlled via websockets triggered by stream decks
July 10, 2025 at 5:48 PM
I need to write a blog post about all the silly/cool Svelte OBS stream overlays I've made. But for now, here is a quick video of a prize wheel that has been in use for 3 years on a weekly youtube show. It loads / saves data to the central DB and is controlled via websockets triggered by stream decks
me IRL: Getting ready for an event at the end of the month with huge lists of things to do
my brain:
my brain:
July 10, 2025 at 4:12 PM
me IRL: Getting ready for an event at the end of the month with huge lists of things to do
my brain:
my brain:
Big shoutout to @paolo.ricciuti.me for swooping in like a svelte superhero and whipping the svelte-component-to-image package into shape! No more weird dependency fudgery! It now exports a vite plugin that takes care of it in one step!
Had to rewrite the blogpost: jovianmoon.io/posts/genera...
Had to rewrite the blogpost: jovianmoon.io/posts/genera...
Generating Open Graph Images with SvelteKit Components - JovianMoon.io
Create dynamic Open Graph images using SvelteKit components with svelte-component-to-image - now with simplified installation!
jovianmoon.io
June 30, 2025 at 4:08 PM
Big shoutout to @paolo.ricciuti.me for swooping in like a svelte superhero and whipping the svelte-component-to-image package into shape! No more weird dependency fudgery! It now exports a vite plugin that takes care of it in one step!
Had to rewrite the blogpost: jovianmoon.io/posts/genera...
Had to rewrite the blogpost: jovianmoon.io/posts/genera...
Spent the morning working on Svelte Component to Image - render svelte components as raster images on the fly.
There are some tricks to deploying it to serverless, so I wrote a blog post tutorial.
This is how I render the OG images for my blog, like the one below!
Let me know if you use it.
There are some tricks to deploying it to serverless, so I wrote a blog post tutorial.
This is how I render the OG images for my blog, like the one below!
Let me know if you use it.
Installing and using Svelte Component To Image with Svelte 5 - JovianMoon.io
Generate dynamic raster images on the fly for Open Graph, Email Marketing, or anything else.
jovianmoon.io
June 27, 2025 at 7:02 PM
Spent the morning working on Svelte Component to Image - render svelte components as raster images on the fly.
There are some tricks to deploying it to serverless, so I wrote a blog post tutorial.
This is how I render the OG images for my blog, like the one below!
Let me know if you use it.
There are some tricks to deploying it to serverless, so I wrote a blog post tutorial.
This is how I render the OG images for my blog, like the one below!
Let me know if you use it.
been working on bingmmo.com - a multiplayer async bingo-like
always wanted to make a multiplayer game but I'm too smooth brain for 3d stuff
svelte 5 / { ws } / drizzle / postgres / better auth
video below is me 'calling actions' + playing, then I spawn 100 bots and bring up the OBS scoreboard
always wanted to make a multiplayer game but I'm too smooth brain for 3d stuff
svelte 5 / { ws } / drizzle / postgres / better auth
video below is me 'calling actions' + playing, then I spawn 100 bots and bring up the OBS scoreboard
June 24, 2025 at 5:09 AM
been working on bingmmo.com - a multiplayer async bingo-like
always wanted to make a multiplayer game but I'm too smooth brain for 3d stuff
svelte 5 / { ws } / drizzle / postgres / better auth
video below is me 'calling actions' + playing, then I spawn 100 bots and bring up the OBS scoreboard
always wanted to make a multiplayer game but I'm too smooth brain for 3d stuff
svelte 5 / { ws } / drizzle / postgres / better auth
video below is me 'calling actions' + playing, then I spawn 100 bots and bring up the OBS scoreboard
this has happened too many times
June 18, 2025 at 8:32 PM
this has happened too many times
I just made a guestbook for a project.
June 12, 2025 at 4:59 AM
I just made a guestbook for a project.
Ok. Building some admin type stuff using tailwind and the new shadcn-svelte and I get it now. The forward momentum it gives you compared to building your own css / components is pretty wild.
I've definitely reinvented the wheel too many times to count. It's nice to concentrate on business logic.
I've definitely reinvented the wheel too many times to count. It's nice to concentrate on business logic.
June 11, 2025 at 8:45 PM
Ok. Building some admin type stuff using tailwind and the new shadcn-svelte and I get it now. The forward momentum it gives you compared to building your own css / components is pretty wild.
I've definitely reinvented the wheel too many times to count. It's nice to concentrate on business logic.
I've definitely reinvented the wheel too many times to count. It's nice to concentrate on business logic.
26 miles (41 km) on the bike today.
June 4, 2025 at 10:28 PM
26 miles (41 km) on the bike today.