Skip to main content
Joel Lithgow / Blog
  • 01 Work portfolio
  • 02 Blog the log
  • 03 Art artwork
  • 04 About bio
December 29, 2025
December 29, 2025

After Intelligence Microsite

After Intelligence microsite homepage showing dark minimal aesthetic

A quick prototype for CCA's upcoming AI lecture series.

California College of the Arts is hosting After Intelligence, a lecture series exploring AI through artistic, ethical, and speculative lenses.

I prototyped this microsite using Claude's frontend skills in a single afternoon session. Dark minimal aesthetic, responsive nav, custom button system, view transitions.

View the site

#ai-collaboration #rapid-prototyping #frontend
1 min read
December 26, 2025
December 26, 2025

Building a Better Pictionary for Family Game Night

Screenshot of the Pictionary game showing a hand-drawn snowman with a timer, scores, and team information

I got tired of getting out-shouted playing Netflix Pictionary, so I built my own version with typed answers, custom words, and an AI that draws.

My family loves playing Netflix's Pictionary game. We'll pull it up on the TV, pass a phone around for drawing, and spend an hour yelling guesses at the screen while someone frantically scribbles.

It's fun. But there's a problem.

The Shouting Problem

Some people are just louder than others. And when you're playing a game where the first person to shout the correct answer wins, the loud people dominate. Every. Single. Time.

I noticed I'd sometimes just... not guess. Not because I didn't know the answer, but because I couldn't compete with the speed-shouters. The people who machine-gun twenty guesses in three seconds while the rest of us are still processing the drawing.

I wasn't alone in this. I'd catch other family members going quiet too, watching instead of playing.

Looking back, I think what I wanted was to make the game more accessible. To give everyone—not just the fastest, loudest person in the room—a fair shot at guessing.

So I Built My Own

Over the winter break, I threw together a custom Pictionary game. The idea was simple: what if you could type your answers instead of shouting them?

With typed answers, you're not competing on volume. Everyone submits their guess, the system checks it, and the first correct answer wins. Quiet people can play. Introverts can play. People who need an extra second to think can play.

I added a few other features while I was at it:

  • Multiple guessing modes: Typing for fair competition, buzzing for buzzer-style gameplay, or classic shouting for when you want chaos

  • Custom word entry: Players can submit their own words, so you can add inside jokes and family-specific references

  • Team modes: 2, 3, or 4 teams, plus free-for-all

  • AI bot players: For when you need an extra person (more on this below)

The result is live at pictionary.joellithgow.com.

The AI That Draws

This is the part that got weird and fun.

I built two types of AI bots that can join the game as players. When it's their turn to draw, they actually draw—stroke by stroke, just like a human would.

One bot uses GPT-4o to generate drawings. I prompt it with a word, it returns a description of shapes (circles, rectangles, paths), and I convert those into animated strokes. It's like watching an AI think through how to represent "elephant" or "birthday party" in simple shapes.

The other bot pulls from pre-defined drawings when the AI is unavailable or slow.

Building these bots was mostly for my own entertainment during solo dev time, but they're actually useful when you have an odd number of players.

The Holiday Test

I was excited to play it with the family over the holidays. We loaded it up, everyone joined the room on their phones, and...

We hit bugs. Immediately.

Turns out I'd never actually tested it with more than one real person. Multiplayer games have this pesky requirement where you need multiple players to properly test them. Who knew.

We played for a bit, laughed at the jank, and I took notes on what was broken. Classic MVP experience: ship it, watch it break, fix it, repeat.

I've since worked out the major bugs, and I'm excited for next time we all gather. The game actually works now.

What I Learned

The best part of this project wasn't the code—it was the speed. I went from "what if I could type answers?" to a working prototype in a few days. Then from prototype to a real game over a couple weeks of evening sessions.

That's the magic of side projects. No stakeholder reviews. No sprint planning. No waiting for approvals. Just an idea, a laptop, and the freedom to build something dumb and fun for the people you love.

I'm excited to make more multiplayer games. There's something deeply satisfying about building something your friends and family actually use—even if the first session is mostly debugging in real-time while everyone watches.


If you want to try it: pictionary.joellithgow.com

Fair warning: the servers aren't heavily load-tested. But if you want to solve the shouting problem at your next game night, give it a shot.

#side-project #game-design #family #multiplayer
4 min read Continue reading →
December 1, 2025
December 1, 2025

What I've been listening to — December 2025

The songs I liked in December 2025.

Picture Book (Expanded Version) — Simply Red · 3 songsCartoon Darkness — Amyl and The Sniffers · 2 songsPolyester — Radio Free Alice · 1 songThe Miraculous Hump Returns From The Moon — Sopwith Camel · 1 songDanger in Fives — Wombo · 1 songHomesongs — Adem · 1 songBlackwater Holylight — Blackwater Holylight · 1 songMoonflowers — Constant Smiles · 1 songOracolo — Skinshape · 1 songBuffalo Springfield Again — Buffalo Springfield · 1 songGord's Horse — Cool Ghouls · 1 songWe The People — Ellen McIlwaine · 1 songHow Will I Live Without a Body? — Loma · 1 songSixteen Tons — Tennessee Ernie Ford · 1 songSophisticated Funk — Jack McDuff · 1 songOs Afro-Sambas — Baden Powell, Quarteto Em Cy · 1 songOther Directions (Remastered and Unreleased Tracks) — Nicola Conte · 1 songCouldn't Stand The Weather (Legacy Edition) — Stevie Ray Vaughan · 1 songPeace Beyond Passion — Meshell Ndegeocello · 1 songNautical Antiques — Pinback · 1 songWhere Have I Known You Before — Return To Forever, Chick Corea · 1 songChet Baker Reimagined — Ornithology, Ian Ewing · 1 songFinding Ways — Sebastian Rochford, Finding Ways · 1 songOne — Jonathan Kreisberg · 1 songFree Ride — Dizzy Gillespie · 1 songBrunswick Top 40 Singles 1966-1975 — The Lost Generation · 1 songBlack Moses — Isaac Hayes · 1 songAs I Am (Expanded Edition) — Jack White, Alicia Keys · 1 songA Man For All Seasons — Insecure Men · 1 songSomething Becomes You — voyeur · 1 songBlue Desert — Jack J · 1 songThe Hand That I Put Down — Starcleaner Reunion · 1 songRibbon Le Chou / Moss on my Brick Wall — Starcleaner Reunion · 1 songPretty Darlin — Eric Relph · 1 songIn The Age Of Data — Move 78 · 1 songA Plea — Flea · 1 songSpiralic — Hank · 1 songThe Church With One Bell — John Martyn · 1 songCafe Bleu — The Style Council, Tracey Thorn · 1 songThe Girl In The Other Room — Diana Krall · 1 songLet's Straighten It Out — Gwen McCrae · 1 songWorrisome Heart — Melody Gardot · 1 songThe Very Best of Bonnie Tyler — Bonnie Tyler · 1 songMen Amongst Mountains — The Revivalists · 1 song

47 songs

#music
November 18, 2025
November 18, 2025

Catching the Wave: Arc Raiders and the Organic Spread of Gaming Moments

Reflecting on a rare gaming moment where I'm inside the wave instead of watching it pass by, and what it means to be part of something as it spreads through your community

I bought Arc Raiders on a Tuesday because I'd been itching for a dumb FPS to zone out on. Two weeks later, everyone I know is playing it. So much fun.

#gaming #arc-raiders #cultural-moments #reflection
6 min read Read the full story →
November 11, 2025
November 11, 2025

Return on Passion: Why ROI is the Wrong Metric for Creative Work

ROI thinking has poisoned creative career advice. Here's why Return on Passion (ROP) is the metric that actually matters for artists, designers, and makers.

I'm so tired of hearing about ROI in creative fields. Return on Investment. As if the point of going to art school, learning ceramics, or becoming a designer is to maximize how quickly you can turn your education into the biggest possible paycheck.

What if we measured creative careers by a different metric entirely? What if instead of ROI, we talked about ROP—Return on Passion, or Return on Practice?

#career #creativity #work-life-balance #opinion #design-industry
8 min read Read the full story →
November 10, 2025
November 10, 2025

Claude Code Interactive Prompts

From delightful discovery to curious about balance—all in one session

I was using Claude Code this morning and asked it to suggest a few repository names. Instead of just listing them in text, it gave me this:

Claude Code interactive prompt showing repository name options with descriptions

An interactive prompt! Right in the terminal, with numbered options, descriptions, and keyboard navigation instructions.

This is such thoughtful UX for a CLI tool. It makes the interaction feel polished and actually fun to use. Small touches like this make all the difference.

And Then It Happened Again

But here's where it gets interesting. Ten minutes later, while working on this very blog post, I told Claude to add the screenshot to the post. And instead of just doing it, Claude prompted me again:

Claude Code asking whether to include the screenshot in the blog post

Same feature, same delightful UI—but this time asking if I wanted to include the image in the post.

Wait. I just asked you to include the image. Why are you asking me if I want to include the image?

My reaction was completely different. Not "wow, this is cool!" but "this feels redundant and kind of weird."

Finding the Balance

It's fascinating how quickly a feature can go from delightful discovery to potential friction. The first time felt like a pleasant surprise. The second time felt... redundant.

And maybe that's the key difference: the first prompt was asking for new input I hadn't given. The second was asking me to confirm something I'd already explicitly requested. That's not helpful interactivity—that's friction.

This isn't a criticism—it's just an interesting UX challenge. When do you prompt for input versus making a smart default? And more importantly, when should you skip the prompt entirely because the user already told you what to do?

I don't know the answer. Maybe the first prompt (choosing repo names) deserved the interactive treatment because it's genuinely hard to auto-select from multiple good options. But the second one? If I say "add the image," maybe just... add the image.

Or maybe I just need more time with the feature to appreciate when it shows up.

(Oh, and one more thing: the "Type something" option doesn't support vim keybindings, so hitting Esc cancels the entire prompt instead of exiting insert mode. That's... particularly annoying for vim users.)

Actually, I just hit an even more frustrating issue. Or did I? I was mid-sentence in one buffer when my interactions with Claude completely stopped—not crashed, just unresponsive. Turns out there was an interactive prompt waiting in another buffer, and it was blocking all interactions everywhere until I answered it.

That's a real problem for multi-buffer workflows. But here's the thing: I can't replicate it now. Maybe it was a bug, maybe I'm misremembering. Live blogging/QAing, I guess!

Either way, it'll be interesting to see where Anthropic lands on this balance. Too few prompts and you miss chances for user input. Too many and you're breaking flow.

For now, I'm still impressed by the execution even if I'm curious about the strategy.

#claude-code #tools #discovery #cli
2 min read Continue reading →
November 3, 2025
November 3, 2025

Learning Faster, Not Less: How AI Helped Me Discover git add --patch

I asked Claude for help splitting a commit. What I got wasn't just a solution—it was a git feature that changed my workflow and a reminder that AI tools can accelerate learning rather than replace it.

I was staring at a file with multiple unrelated changes—some refactoring, some bug fixes. I wanted to commit them separately to keep my git history clean. But they were all in the same file.

My brain went to what felt like the only option: manually revert changes, commit, then painstakingly re-add them. Or worse, ask Claude to automate this tedious dance for me.

The Unexpected Teaching Moment

So I asked Claude: "Help me split this into two commits."

Here's what I half-expected: a series of commands to execute. Do the work for me.

Instead, Claude pointed me to something I didn't know existed:

git add --patch

It lets you interactively stage parts of a file, not just the whole thing. You review each change and decide what goes in which commit. Clean, surgical, no reverts necessary.

Using Tools to Accelerate Learning

What struck me wasn't just the git feature (though it's now muscle memory). It was the realization about how I was learning.

Claude didn't do the work for me—it pointed me to a capability that made me more capable going forward. I didn't just get a solution; I got knowledge I'll use forever.

I could have spent hours reading git documentation and maybe never stumbled on this feature. Or I could ask a question when I hit a real problem and learn about it in context, immediately applicable.

There's a narrative that AI tools make you think less, learn less, become more dependent. I get the concern. But this showed me something different: the gap between having a question and finding relevant knowledge went from hours (or never) to seconds. The understanding still had to happen. The practice still had to happen. It just happened faster and in the exact moment I needed it.

Maybe the question isn't whether using AI makes you learn less, but whether you're using it in ways that build capability or just solve immediate problems.

This built capability.


What's something you learned through AI tools that you might never have discovered otherwise?

#git #workflow #learning #ai
2 min read Continue reading →
November 1, 2025
November 1, 2025

What I've been listening to — November 2025

The songs I liked in November 2025.

Mic City Sons — Heatmiser · 2 songsFish — ShitKid · 2 songsKnock Knock — Smog · 1 songSometimes I Wish We Were An Eagle — Bill Callahan · 1 songPink — Boris · 1 songMagnolia Electric Co. (Deluxe Edition) — Songs: Ohia, Jason Molina · 1 songYellow No. 5 - EP — Heatmiser · 1 songEra Vulgaris — Queens of the Stone Age · 1 songDYLM — Hank · 1 songSkinty Fia — Fontaines D.C. · 1 songLOTTO — They Are Gutting a Body of Water · 1 songBuild a Box Then Break It — Ulrika Spacek · 1 songLate Again — Sven Wunder · 1 songElegant Soul (Reissue) — Gene Harris & The Three Sounds · 1 songBaby Breeze (Expanded Edition) — Chet Baker · 1 songHoly Smokes — Shtëpi · 1 songI Wanna Live With You — Opus Kink · 1 songBinge — DEADLETTER · 1 songPowell Place — Kurralta Park · 1 songFlux (Deluxe Edition) — Love Spirals Downwards, Anji Lum · 1 songShe got the bomb — Billylildove · 1 songCommon Sense — Viagra Boys · 1 songCome And See — Gurriers · 1 songBig Swimmer — King Hannah · 1 songCall Of The Wild — Viagra Boys · 1 songEgg — Twelve Point Buck · 1 songCrisps — Getdown Services · 1 songFaster — PERSONA 749 · 1 songLoud Music for Quiet People — Twelve Point Buck · 1 songSomething Soft — Mhaol · 1 songTake A Look — Irma Thomas · 1 songIf You Know Me (demo) — Hudson Freeman · 1 songBeware of the Dogs — Stella Donnelly · 1 songSunbeam Sound Machine — Sunbeam Sound Machine · 1 songThe Academy — Lutalo · 1 song

37 songs

#music
October 25, 2025
October 25, 2025

What does it mean to make a trail?

Starting to think about 'trail-making'...more to come...

Circular spiral pattern made with branches on the forest floor

Hillside trails carved through vegetation

Panoramic view of the landscape

#art #land-art #installation #nature
1 min read
October 25, 2025
October 25, 2025

He's Going the Distance: Making a Minecraft Difficulty Scaling Mod

What happens when you make a Minecraft mod where the game gets harder the farther you travel from spawn? Zombies. So many zombies. A quick dev journal about building a distance-based difficulty scaler and discovering it's secretly a co-op game.

I was coding when "The Distance" by Cake came on. He's going the distance, he's going for speed... And I thought: what if that was a Minecraft mod? What if the farther you traveled from spawn, the harder the game got? Not just a little harder. Exponentially, absurdly, ridiculously harder.

So I built it. And thanks to my previous mutualism mod experience and Claude Code, what would've taken weeks happened in a few focused sessions. The implementation touches everything—mob health, spawn rates, damage scaling—but it's all variations on a single idea: distance equals difficulty.

Then came the playtesting. A friend and I loaded up the mod, built boats, and started exploring across oceans. At first, normal Minecraft. But as we traveled farther, the game revealed its teeth. Zombies started spawning on our boats. Not near us. Not in the water. Literally materializing on the boat we were riding. We died. A lot. And we laughed the entire time.

That's when I discovered something unexpected: this isn't really a single-player mod. Solo, the difficulty curve felt punishing. With a partner? Perfect. The escalating challenge became a shared adventure instead of personal frustration. So I tuned the scaling for co-op, and the mod became something way more interesting than I originally envisioned.

#minecraft #modding #dev-journal #game-design #multiplayer #claude-code
8 min read Read the full story →
October 6, 2025
October 6, 2025

Full Circle: From Java Tutorials to Vibe Coding a Minecraft Mutualism Mod

After years away, I'm back to where I started: making Minecraft mods. This time with Claude Code, a book about ecological partnerships, and a few hours of pure creative flow.

I got into programming because of Minecraft—not through CS classes, just YouTube tutorials and learning enough to make custom blocks. After years of professional web development, I'm back where I started. And it feels awesome.

Inspired by The Call of the Honeyguide, a book about ecological partnerships, I built Symbiotic Survival—a Minecraft mod that teaches mutualism through gameplay. Honeyguide birds lead you to honey. Pollinators keep trees producing fruit. Destroy the partnership, lose the resources. You learn by watching NPCs interact with the world, not through tutorial pop-ups.

The wildest part? I went from idea to working prototype in hours using Claude Code. It even generated all the pixel art assets. And I discovered something unexpected: Claude codes games completely differently than web apps—working incrementally, leaving TODOs as creative scaffolding rather than tech debt. For rapid prototyping, this approach is actually ideal.

  • The Call of the Honeyguide by Rob Dunn ↗
  • Symbiotic Survival - Minecraft Mod ↗
#minecraft #modding #dev-journal #game-design #ecology #claude-code
10 min read Read the full story →
October 1, 2025
October 1, 2025

What I've been listening to — October 2025

The songs I liked in October 2025.

Three American Songs — Good Actor · 2 songsMucho Mistrust — Fake Fruit · 2 songsHoneyglaze — Honeyglaze · 1 songis a Folk Artist — Hudson Freeman · 1 songShapeshifter — IAN SWEET · 1 songMagnolia Electric Co. (Deluxe Edition) — Songs: Ohia, Jason Molina · 1 songWhat Took You So Long — Plain Blue · 1 songAdrenaline — Deftones · 1 songVulgar Display of Power (Expanded) — Pantera · 1 songThe Three — Pulsr · 1 songpg.4 a picture of three hedges/through your window — julie · 1 songThe Moon Song — beabadoobee, Oscar Lang · 1 songFormless — Ora Cogan · 1 songMinnows — Marc Benno · 1 songThe Road — Quiet World · 1 songVoice Of Chunk — The Lounge Lizards · 1 songThe Moon Song (Music From And Inspired By The Motion Picture Her) — Karen O · 1 songThank You Happy Birthday — Cage The Elephant · 1 songCozy — Operelly · 1 songRevival Of A Friend — Sour Widows · 1 songSpace Heavy — King Krule · 1 songThe Gloss — Cola · 1 songHow To Be Cool At Parties/Circe — Sex Mask · 1 songBaggy$$ — Fcukers · 1 songU Should Not Be Doing That / Facts — Amyl and The Sniffers · 1 songMellowdramatic — A Forest Mighty Black · 1 songThere Is a Well — Shallowater · 1 songSHHHHHHH! — King Krule · 1 songMother's Milk — Red Hot Chili Peppers · 1 songLive to 388, NYC — Ulrika Spacek · 1 songAfterglow — Dot Allison · 1 songParadise With An Ocean View — Country Joe McDonald · 1 songOther Peoples Rooms — Mark-Almond · 1 songKung Fu Super Sounds — Roger Webb · 1 songHow Insensitive — Duke Pearson · 1 songI'm Not Made of Iron — Chrissy Zebby Tembo, Ngozi Family · 1 songI, Swinger — Combustible Edison · 1 song

39 songs

#music
2022 Q2
2024 Q3 Q4
2025 Q1 Q2 Q3 Q4
2026 Q1 Q2 Q3 Q4

Browse

All posts 102 → Links 17 → Music 22 → Birds 31 → Dictionary 15 →

Choose Your Theme

Keyboard shortcuts available: Ctrl+T to cycle themes, Escape to close modals, Enter/Space to activate buttons
FPS: --
Memory: --
This website uses themes. Press Ctrl+T to cycle through available themes.
Some elements on this page are interactive and can be dragged around.