DataSF and scraping planning applications for my inner YIMBY

I am doing a series of blog posts diving into 400 Divisadero Street, a defunct car wash and gas station in San Francisco that they're trying to turn into apartments — and have been for over a decade without breaking ground. The reasons for the lack of (visual) progress is multifaceted, but to properly dive into it and explain the timeline I wanted to dig into the raw planning documents. They're widely available as part of SF’s PIM (Property Information Map), but I wanted to download them all locally for OCR, manually review them all, and process them with Claude.

Read More

Claude Code's thinking animation

I am unfortunately spending more and more of my time interacting with LLMs through terminal interfaces. While the sentient silicon churns through thousands of tokens I find myself scrolling short-form videos contemplating next steps, freeing my time up for deeper mental pursuits, and much more importantly (and realistically) getting entranced by the blinking cursors. But how do they work?

Read More

Adding snippets to the blog

As you may have noticed by my propensity for footnotes sidenotes I love asides. Likewise there are a lot of small things I come across that either aren't meaty enough for a full post, or trend so narrowly technical that I feel hesitant about broadcasting (a reticence my college self didn't share based on my post setting up my router). I still want them to be searchable as a reference for myself and potentially others, but I want them to take up less presence on the blog (and not be sent out in email blasts). The solution? Snippets!

Read More

Long live Dog-a-Day! (kinda)

Back in college I ran a service called Dog-a-Day, where I emailed subscribers a picture of a dog every day, along with a fun caption. This was initially just a Christmas present for my dad but it spiraled into a full service with some ~200 subscribers. I stopped it in 2020 after five years, but am resurrecting it for the month of December as an Advent calendar, complete with a hidden Santa Mouse each day.

Read More


Snippets

January 3, 2026
December 22, 2025
December 9, 2025
— view all snippets —