Stephen G
banner
jovianmoon.io
Stephen G
@jovianmoon.io
having fun building things on the internet and sometimes writing about it: 🔗 https://jovianmoon.io
Pinned
using git blame on personal projects
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
London Elektricity inspired Liquid Drum & Bass DJ Mix, September'25
YouTube video by OffbeatDooter
youtu.be
November 8, 2025 at 4:56 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)
November 6, 2025 at 4:55 PM
I just got ultra nerd sniped by youtu.be/QYM3TWf_G38

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
Accidentally unplugged my raspberry pi analytics server while cleaning and started getting error alerts...
September 27, 2025 at 2:34 PM
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
Woke up early yesterday and decided to cook up a new navigation menu for my blog:
September 15, 2025 at 4:11 PM
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...
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
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.
September 13, 2025 at 3:07 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
September 9, 2025 at 4:38 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.
September 5, 2025 at 8:34 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
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
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
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
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)
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
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
Producing a live YouTube show tonight with an audience.
July 25, 2025 at 7:02 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
July 10, 2025 at 5:48 PM
me IRL: Getting ready for an event at the end of the month with huge lists of things to do

my brain:
July 10, 2025 at 4:12 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...
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
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.
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
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
June 24, 2025 at 5:09 AM
this has happened too many times
June 18, 2025 at 8:32 PM
I just made a guestbook for a project.
June 12, 2025 at 4:59 AM
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.
June 11, 2025 at 8:45 PM
26 miles (41 km) on the bike today.
June 4, 2025 at 10:28 PM