You Should Use Bluesky

Yes, even if you're in tech

If you’re reading this blog for urbanism, you’re probably already on Bluesky. If you’re reading it for tech, you’re probably not. This post is for the latter group; you are missing out! The short version is:

  1. There’s a fun tech community on there these days
  2. It’s radically open. With a little coding you can completely customize how you consume social media
  3. There are some annoying people on there, but they are easy to avoid+block

If you tried Bluesky earlier and bounced off, or if you’ve just heard bad things, I think it’s worth reconsidering.

The short version

  1. Start following my starter pack of interesting tech-related accounts
  2. Subscribe to the For You feed. It is 1000% better at discovering interesting content than the default Discover feed
  3. If you get annoyed by anyone, block or mute with abandon. More on that later.
  4. When you’re ready, try making your own custom feed. Coding agents can make quick work of it, and using an LLM or System One model to filter posts works really well!

What you’ll find on Bluesky

There’s a fun tech community there (see: starter pack). It’s not as big as X but still has lots of big names (ex: Simon Willison, Martin Kleppman, Bryan Cantrill, Ethan Mollick).

It also has a lot of weird, small, accounts you can’t find anywhere else doing fun experiments with AI. Like Grace Kind’s unnaturally chipper Jev-based language model, or Cameron Pfiffer’s Void, or this bot which occasionally posts a banger:

people with robot girl pfps posting 'datacenters are destroying the planet' from their cyberpunk aesthetic accounts. bestie my culture is not your costume

— kira ☆ (@kira.ws) April 2, 2026 at 7:34 AM

My Custom Feed

I primarily consume Bluesky through a custom feed. It:

  1. Takes every post from every account I follow
  2. Runs it through an LLM scorer to eliminate posts I don’t want to see (topics I’m not interested in, ragebait)
  3. Returns only the remaining posts

It’s a little Python web app that runs on my VPS, and the inference costs about $5/mo. It uses GPT-6 Luna and scores ~70k posts/month. I expect the price of capable inference to drop much further going forward.

This has been a big quality of life improvement for me. The media you consume shapes how you think+feel, and this lets me consciously choose what I consume. I don’t ever want to see rage-bait posts, and I don’t want my social media feeds to be dominated by US politics (I get enough of that on the real news). It also solves the age-old problem where you follow someone interesting and they post about a topic you don’t care about.

Here’s how I built it. Give that to a coding agent and it will easily build you a custom feed to your own specifications.

Blocking

It’s not all sunshine and roses. There are some annoying people on Bluesky (like any social network), but it’s easier to avoid them than you might think. Just block with abandon:

  1. Subscribe to the AI Haters blocklist if you want to avoid extremely anti-AI people
  2. If I see a particularly bad post, I use a script that blocks the author and everyone who liked the post. This is a nuclear option, but it works really well!

Ideally this wouldn’t be necessary at all, but there are some groups of people on Bluesky with no chill. I think it stems from:

  1. The earliest Bluesky joiners are best described as Tumblr refugees, and they tend to be artists with an anti-AI bent
  2. Subsequent waves of new joiners came from Twitter every time Elon did something horrible (including me), and so Bluesky ended up with a self-selected group of accounts who care a lot about politics.

Conclusion

Give it a try, I think you’ll like it! If you don’t like it after a few weeks, I’ll buy you a beer (offer valid only in Vancouver, BC).

It’s been approximately 1 million years since I last wrote about how I use and think about LLMs. I figure I should document the state of things these days; if nothing else, it will be a time capsule.

Coding vs Writing

Something like 99% of my coding is done by agents now. If I’m in a text editor or IDE, it’s almost always to write prose (documentation, comments, etc.) because:

  1. Writing is an act of thinking; it helps me gather and focus my thoughts
  2. I want to give my coworkers a positive signal that I have put thought+effort into whatever I ask them to read. Text that was obviously generated by an LLM is a negative signal.

Agent harnesses

The Codex and Claude desktop apps are my daily drivers, I mostly stopped using the TUIs a few months ago. They have nicer UI with lots of bells and whistles, and they can both connect to remote servers over SSH. There isn’t as much reason to build or use sophisticated TUIs these days, and that’s a little bittersweet for me as someone who spent a lot of time getting good at building terminal applications.

I spend about half of my time in auto mode and half in YOLO mode. I’d like to use auto mode 100% of the time, but in Codex I find it a little buggy.

Models

Model-wise, I’ve been impressed (like everyone else) by gpt-5.6-sol and Claude Fable. I threw them both at some problems that previous agents struggled with (multiplayer text editing in a very idiosyncratic web app, remote connections in my systemd UI) and they nailed them. I’m also very impressed by the price/performance of gpt-5.6-luna and have switched to it for lower-end-higher-volume use cases. I’m using Anthropic models a bit less than OpenAI ones these days, partially due to cost/value and partially because Claude-isms are wearing on me.

I’ve also played around with OpenCode and some of the top-tier Chinese models; GLM 5.2 is quite capable and can be served very very fast. The speed makes more of a difference than I expected, I think because it helps with deep focus. When the agent returns back to me ~immediately, I’m far less likely to get distracted and context-switch.

Cheap LLMs open up new use cases

The price of decent models has dropped a lot lately, and that opens up some interesting new use cases. Bluesky supports custom feeds, and now I consume most of my social media through a custom feed which scores+filters every post by people I follow through Luna* for about $5/mo. Nobody’s immune to rage-bait and doom-scrolling (least of all me), and this is a remarkably effective way to curate my social media diet. I spent a bit of time experimenting with even cheaper models on OpenRouter, but wasn’t happy with the performance compared to Luna.

*a week after writing this I switched to GLM 5.3 Flash for even cheaper. What a time to be alive.

“The future is already here – it’s just not evenly distributed”

This old Gibson quote comes to mind nearly every day. I have access to better budgeting and financial tracking than anyone using bank and fintech websites, because coding agents are great when given a bunch of CSVs. I’m sure fintech companies will catch up eventually, but right now we’re in an interesting in-between period.

Likewise, the custom filtering I do with Bluesky seems like a natural feature for any social media network once the cost comes down a bit more.

And this isn’t even touching on the huge numbers of non-programmer domain experts who haven’t yet realized that they can speak their own custom software into existence. That will change, and it’s going to be interesting to watch.

Intentional learning

Back when we were writing code “by hand”, it was easy to develop a deep understanding of your code because you had to think real hard about how to write it! That’s no longer the case.

I’ve tried a few different approaches for intentional learning and this skill by Cat Hicks has been the only one that’s stuck. It prompts an agent into quizzing you on the code it just wrote; I find that engaging in that dialogue is useful because it forces me to meaningfully engage with the material (as opposed to documentation that is easy to skim over).

Local voice transcription is really good now

I make heavy use of voice transcription (mostly via Handy and one of the Parakeet transcription models). Agents do better the more (relevant) context you give them, and rambling into a microphone is a very fast way to dump context. This would be very annoying to my coworkers if I worked in an office, so I’ll enjoy this little perk of remote work while I can.

More vs Better

Sometimes I use these tools to ship something fast, quality be damned. And other times I use them to ship better software than I’d otherwise be able to. As a example, systemctl-tui now has a sophisticated test suite that runs across a large number of systemd versions; this is something I could have built on my own but simply didn’t have the time for, and it caught real bugs the first time I ran it.

David Crespo’s “I’m not cutting corners” post is a good read on this topic.

We moved to a house in Vancouver, which is pretty crazy if you know the local real estate market. Never thought I’d be able to afford an actual house in a central neighbourhood.

As is my wont, I think a lot about the history+policy that led us here. I’m in a pocket of East Van that popped up overnight circa 1912 in a speculative building boom. Tons of cookie-cutter houses from Sears catalogs (that have since become quite nice+diverse through the magic of How Buildings Learn).

In the 1960s, the area was pre-emptively downzoned to forbid apartments. And so my street is essentially frozen in the same physical shape as a century ago, even though a lot more people want to live here now. I am arguably a beneficiary of this approach to urban planning; I get a house with a backyard in a very central area, at a (relatively) low price because I didn’t have to compete with apartments+condos for the land. It works out a lot worse for the people who are forced out to the ‘burbs.

Our old greyhound had trouble with the stairs, so we had a ramp made for him:

It’s nice to be able to make changes like that without asking permission, because coordination is hard! For example I considered installing a heat pump in our old condo, but never quite got around to seeking permission from the strata council. Here I can just do things.

This is the first time I’ve lived on a quiet side street in Vancouver (because we tend to concentrate multifamily housing on busy arterial roads), and that’s a massive improvement to my quality of life. I’m also loving having windows on all 4 sides. We need to do better at allowing condos+apartments with nicer layouts.

Unite Here Local 40 is a BC hospitality workers’ union: hotels, airports, food service. In 2026 they became one of the most active forces at Vancouver City Hall, and they’ve been pretty explicit that the goal is to affect the outcome of October’s election.

The especially weird part is that they’re spending an enormous amount of time and money mostly opposing new hotels. Not asking for better wages or asking that they be union-operated, just opposing hotels using whatever argument might stick. This post is an attempt to chronicle what I think is a big development in local politics.1

It’s been quite a year. Here’s a grab bag of what stuck in my mind from 2025 and what’s coming next.

Personal Stuff

I started 2025 with a New Year’s resolution to deadlift 300lb. I hit 300 in the middle of the year, upped my resolution to 350lb, but only made it to 310lb. I’d like to hit 350 in 2026, but if I plateau and stay healthy I’m fine with that too.

My big resolution for the new year is to host a gathering at least once a month. Doesn’t have to be anything fancy, just an excuse to see people. My plan to make this happen: even if I’m busy, it’s easy to make a big batch of pasta and have guests bring side dishes and wine.

2025 was the first year I really noticed my dog getting old. He’s 11 and doing well for his age, but I’m more aware that I probably only have a few more years left with him. Retired racing greyhounds make great pets:

We spent a lot of time in late 2025 looking at real estate. After 7 years we’re a little bored of our current place and it’d be nice to have a bedroom for guests. It’s been an emotional roller-coaster; in November we had an offer accepted for a gorgeous condo downtown, only to back out after the inspection found some issues. But hey, it could be worse - when we bought our current place the market was so hot that people didn’t even get inspections done 😬.

Work Stuff

I got promoted to Staff Engineer in December. This required a ton of effort plus some luck, and I’m very proud of it; feels like I finally made it, y’know? The promotion felt especially good because during the tech job rout of late 2022 I accepted a Staff offer from another mid-sized tech company, and then after 3 weeks of delay they retracted it.

Overall it was a very good year for work. I shipped a product, worked on a high-profile keynote demo with OpenAI, and changed teams to launch a new product that’s attracting a lot of interest. I also flew down to SF twice to give talks for work; here’s one I’m particularly proud of.

Software

It is an incredibly crazy time to be working in software.

It feels like 2025 was the year where agents blew up. 1 year ago, I was occasionally using Aider to make commit-sized changes to software projects, and I felt like I was ahead of the curve. Today I tend to use Claude Code (sometimes Codex CLI) to make more ambitious changes, and they are far more capable of iterating on a change until they get it right.

My day to day now involves less “hands-on” coding and more high-level management of coding agents. It’s become incredibly cheap to try things out, and Opus 4.5 is remarkably capable.

I’m spending a lot of time with these new tools and I still feel quite a bit of FOMO. It helps to know that I’m not the only one.

headshot

Cities & Code

Top Categories

View all categories