// journal
Short notes on real bugs.
Whatever bit me recently and seemed worth writing down. Mostly web platform gotchas, Three.js sharp edges, performance findings. Each entry is the thing I wish I'd searched for an hour earlier.
38 entries · updated Aug 21, 2026 · RSS
-
3 minutes Wrangling Warnings and Embracing Accessibility in The Wrong Chosen
Our latest update unclutters warnings, embraces accessibility, and keeps our CDN streamlining efforts alive. Observations along the way are richer than mere fixes.
Read it
-
4 min Adding Umami Cloud to SquishyMind
We integrated Umami Cloud analytics across SquishyMind, embracing a new level of user insights and challenges.
Read it
-
3 Watching FuhNNY Fail Better
We added Sentry error monitoring and watched the coffins roll upstream.
Read it
-
4 min A text adventure should not feel like filing taxes
We shipped The Castle of a Thousand Bedroom Doors, a full-length fantasy comedy parser game and the reusable Defy Destiny TEXT engine beneath it.
Read it
-
4 Catching Errors in the Darkroom
Exploring the intricacies of incorporating Sentry error monitoring into Poetry Obscura, elevating our workflow and keeping the verses flowing.
Read it
-
4 Launching into the Abyss: Instrumentation and Error Monitoring in Make Enemies
Our latest updates to Make Enemies involve key improvements in error tracking and environment-specific SDK gating, providing us with unseen insights and tighter control.
Read it
-
4 Keeping it Squishy: Sentry Joins the Team
We've just integrated Sentry into SquishyMind to keep an eye on errors before they become existential threats. It's like adding a little safety net beneath our creative acrobatics.
Read it
-
3 Keeping Tabs on the Errors
We've added Sentry error monitoring to Excuse My Blank, and it's already showing us everything we've missed.
Read it
-
5 min The blank project was the wrong starting point
We are turning project kickoff into a guided workshop that chooses a credible stack, establishes the design system, and produces something working before the real build begins.
Read it
-
3 min The television is not a browser
Make Enemies reached Fire TV and Android TV with one shared client. Roku made us draw a harder line.
Read it
-
3 min The games studio gets its own door
We shipped games.threesided.com: a patch-notes front door for the party games, browser RPGs, and desktop pests.
Read it
-
3 minutes Repositioning and Reality: threesided's Independent Leap
We repositioned threesided as an independent product studio and updated our portfolio — and learned a thing or two about pushing boundaries.
Read it
-
3 Shipping Across Dimensions: The New Phase of Critical Fail
A behind-the-scenes look at the latest updates and improvements in Critical Fail, where shards, interiors, and game performance collide in a symphony of code.
Read it
-
3 minutes Canvas Polish and the Art of Constant Refinement
Reflecting on recent updates to SquishyMind, from E2E tests to UX enhancements, and the gentle satisfaction found in polishing details.
Read it
-
4 Unhooking the Lighthouse
A journey through decoupling, syncing, and securing our deployment process.
Read it
-
4 Rethinking the Landing of Big Black Cards
We've leveled up the Big Black Cards experience with a thoughtful remodel of the landing page, lobby, and more. It's all about creating a smoother, more consistent journey.
Read it
-
4 Steadying the Ship: Lighthouse Performance on Dungeon Jerks
We've been quietly stabilizing our performance metrics on Dungeon Jerks, bringing a more consistent experience to adventure-seekers.
Read it
-
4 Shipping Experiments and Embracing Chaos
We navigated new waters with fresh demos and a graceful fallback for AI, while wrestling with storage limits and syncing challenges.
Read it
-
5 minutes Shipping New Features on dnd.chat
Exploring the recent updates and what's coming into play on dnd.chat.
Read it
-
3 min Six demos, almost no libraries
We added six bleeding-edge demos to the lab. The thread through almost all of them: the thing we used to reach for a library to do, the browser now does itself.
Read it
-
4 min The Unseen Shapes of Vegas Kiddos
We dive into the subtle tweaks and background efforts that shape a more seamless experience for families exploring events in Vegas.
Read it
-
3 min The cookie banner most of you won't see
We added analytics to threesided without slapping a cookie wall in front of everyone. The banner only shows where the law actually requires it.
Read it
-
4 min Building a grimoire instead of forking one
We had a Kanban fork in the drawer and open-source VTTs on the shelf — we still greenfielded DND Cards.
Read it
-
4 min Relaunching AntiPretty from zero, not WordPress
Fifteen years of galleries on the old stack — we rewrote in two days on Payload instead of theme-hacking forward.
Read it
-
4 min Campaign chat that shares the grimoire
We split the table from the board — same Supabase login, auditable rolls, conjures from the deck.
Read it
-
3 min When bots write their own jokes
Big Black Cards Quiplash mode needed bots that improvise, not just pick from the deck.
Read it
-
3 min Scrape pipelines should fail loud
Vegas Kiddos taught us that a quiet empty scrape is worse than a red build.
Read it
-
3 min Spectator links for party games
Dungeon Jerks needed a way to watch the tavern without holding the dice.
Read it
-
4 min Importing D&D Beyond without a second app
We wanted characters on the Kanban board, not a parallel sheet product.
Read it
-
5 min Card-native VTT on a Kanban board
We merged a full combat engine into DND Cards without pretending the board was a battle map.
Read it
-
4 min When CPU bots need to wait for narration
Async Dungeon Jerks felt broken until bots stopped rolling while the tile was still talking.
Read it
-
4 min Desktop gremlins that perch on your title bar
Desk Gremlins walks the screen edge in Tauri — perch is a one-time transport, not a second window.
Read it
-
2 min MarchingCubes lets you color blobs. The material has to ask.
Six blobs, three colors, all rendered hot pink. The fix is one boolean.
Read it
-
4 min Lighthouse 100s are mostly a font problem
We had 88s and 92s on demo pages. One preload tag took them to 100.
Read it
-
3 min The Astro CSS scoping gotcha that ate my afternoon
Twelve custom view transitions, all looking identical. Took an embarrassing amount of time to spot why.
Read it
-
4 min Quote posts deserve real art, not gradients
Poetry Obscura v2 replaced flat quote cards with generated illustrations — one image per author, atmospheric, committed.
Read it
-
3 min When position:sticky silently dies
A scroll-driven 3D scene worked everywhere except where I needed it. The bug was three properties up the tree.
Read it
-
4 min Migrating a comedy blog off Webflow
FuhNNY relaunched on Astro with the same engineering playbook as Poetry Obscura — different vibe, same Jimp thumbs.
Read it
// no schedule
Posts when something breaks.
I don't write to a calendar. New entries appear when something bites and the fix is worth documenting.