Week of 2026-03-16

Hi there! I'm low energy at the moment because I spent 4 hours writing today's other blogpost, which you should read, announcing atp.pics:

Fetch a picture; it’ll make the moment last longer - graham.systems

Put faces to names with atp.pics

Let's crush these notes.

atp.pics

I'm glad I got this service out, I wanted to have it announced before ATmosphereConf so I had something to talk about there.

I'm not gonna explain what atp.pics is--that's covered in the linked post. However, since my weekly notes have recently been a saga of trying different agentic coding styles, I figured I'd cover that aspect.

If you take a look at the repo , you'll notice the openspec directory, because I took a stab at spec-driven development for this project. I really liked it!

OpenSpec provides a CLI and the relevant skills for your agent to perform their idealized development loop, which roughly goes:

It's an interesting approach, because it treats the limited context window of the agent as a feature rather than a limitation. Practically, each step can be accomplished in a separate agent session, with each conversation acting as a set of fresh eyes. I found this very useful, particularly for the verification step.

Instead of the Letta approach where the agent owns the text files that comprise the agent "memory", the spec-driven approach makes those memories artifacts of the project, and then takes advantage of the fact that any individual agent is not present for long.

Would I want this for a personal agent? Absolutely not. For coding, however, I enjoyed it a lot. I suspect it will make collaboration difficult, and I'm curious to see how the method holds up over time.

Ooof... I don't have all that much more in me. Too much writing for one day.

Don't expect notes for next week, since I'll be up in Vancouver still and trying to spend a little time as vacation.

If you read all of my words today, thank you so much--it means a lot. I hope you have a great week!