Long time no see! It's been a sec since I've had the time (or space) to write my weekly notes.

There's a lot of things that I want to cover, so I'll do a bit of a different format. Lots of things touched on, not as much depth as usual.

For my sanity, we're gonna use bullets. Christ I feel rusty.

What I've been up to

  • I road-tripped from Portland to Edmonton, Alberta with my parents to attend my grandfather's funeral. Along the way, I got to see Banff, buy a bunch of records, acquire a GameBoy Camera, and spend lots of time with my extended family.

  • I flew from Edmonton straight to Denver to assist with competing in the United States Barista Championship (USBC). We placed fourth this year. I'm proud of her, even though I know it's not the outcome she wanted.

  • I got a little sick and had a depressive episode. Bleh.

  • I went with to Proud Mary and had a great time catching up over excellent food and coffee. This year's USBC champion is from Proud Mary, by the way—but Jak is based in Austin TX. He's great.

  • I signed up to be an Apple Developer. More on why in a bit, but I kept thinking about how 2008-me considered spending the required $99 to be a pipe dream.

  • I hatched an insane plan to make the July 7th meetup livestream the best we've ever had—and then I pulled it off. has generously inducted our account into the VOD beta, so I'll upload the recording there soon. I'll also do a stream writeup, in case it helps other meetups run their own streams.

What I've been working on

Hoo boy. Too many things.

  • Some personal agent stuff, using and (eventually) Umans. Currently blocked because I haven't wiped my Proxmox machine yet. I do have a Letta agent using a Gemma4 31B model hosted by a friend—it's decently smart, and about as fast as having a Slack conversation with a real person.

  • letta-agent-acp is, as you might guess, an ACP bridge for a Letta agent. It uses the new App Server paradigm with letta-code, and I verified that it works with a remote server—I just haven't had the time to push the code to Tangled.

  • Dither, a React Native app for quickly extracting GameBoy Camera photos from a .sav file. It has its own photo library that you can share from, and it de-dupes based on hash so you don't need to worry about importing photos twice.

  • Trawler, an all-Rust outliner of my design. Not a whole ton of features yet, since I'm trying to build something mostly for me—but I've used it for a week, and I'm happy with it so far.

    • Graham's avatar

      Dug this back up to tease that I’m dogfooding a Rust-based outliner. Query language is Scheme, rendered with Zed’s GPUI, Loro+CRDTs in anticipation of multi-device sync

  • Marionette, a combo OBS plugin and mobile app capable of remote scene switching, effect/filter toggles, and video preview. It uses Iroh for cross-NAT holepunching, meaning that it can control OBS without being on the same network. This was a big part of improving the livestream—I was able to transition scenes while I was across the room, far from the machine running OBS! I'm super proud of this, and I can't wait to get other folks using it.

What I've enjoyed

Let's do a recommendation section as a treat.

  • I started playing Sea of Stars, which has been a delightful turn-based RPG. I'm a sucker for good pixel art, but this game has everything: great music, gorgeous animations, an intriguing world, and lovingly-detailed cooking animations.

  • My car's in the shop right now, so I have a 2025 Impreza as a loaner. It's the Sport model, too—super peppy and fun to drive. Not electric, though. Oh well.

  • Here's some music that I've had on repeat:

    • Can't believe I didn't find this earlier. Koperu has such an interesting voice, and Fumiya is the perfect DJ to produce this

    • This is an earworm, TOMGGG is great

    • Criminal that this band has so few subscribers, I found them randomly and I love the instrumental here

    • Such a great sound and interesting MV, Silica Gel never misses

    • My guilty pleasure on-repeat song. I don't even think it's that good, it's just sassy enough that it's lodged in my head

    • New Bialystocks = obligated listen. Impeccable vibes from this band as usual


Let me know how you feel about the format. There's always time to settle into something new, now that I'm out of the old weekly journal habit.

Until next time—thanks as always for reading, and I hope you have a great week!