I made all my posts standard.site compatible last weekend, which means I can write in pckt.blog, Leaflet, or Offprint and have the post show up on keith.is. This is my first one from pckt 🎉 🎉 🎉!! I'd been using a combination of Tina, and just writing in my editor. Then I went to share one of those posts on bluesky to see the cool new embed and saw that.... and my old OG image. I think I spent fifteen minutes on it once when I migrated from eleventy to Astro, gave it some bright colors and a shap...
I made all my posts standard.site compatible last weekend, which means I can write in pckt.blog, Leaflet, or Offprint and have the post show up on keith.is. This is my first one from pckt 🎉 🎉 🎉!! I'd been using a combination of Tina, and just writing in my editor. Then I went to share one of those posts on bluesky to see the cool new embed and saw that.... and my old OG image. I think I spent fifteen minutes on it once when I migrated from eleventy to Astro, gave it some bright colors and a shap...
We rebuilt the onboarding experience from scratch — now you can upload your resume and let AI do the heavy lifting, or skip straight to building things yourself.
I've been using AI coding agents daily for a few months, and the thing that shifted my thinking was a simple reframe: LLMs automate typing, not thinking. The craft is still yours.
Before Subeta, before I knew I wanted to build communities, there was HeadBone Zone, a browser-based kids site that taught me everything about what the internet could be.
Apple could change the world overnight by removing X from the App Store. They won't.
How I built an interactive year-in-review page using Astro's content collections, pulling together blog posts, movies, books, music, and more into a single retrospective. Plus: polaroid selfies, goals for 2026, and lessons about actually tracking things throughout the year.
After discovering I'm definitely not a "growth team" person and watching Glitch wind down, I'm back in civic tech where I belong, this time in an AI Residency at Propel. We're building tools to help states and SNAP beneficiaries navigate HR1's massive changes, including new penalties that charge states more money for higher error rates. During the recent shutdown, I built crawlers to get real-time benefit updates to people and created the most comprehensive database of active food pantries using AI tools. The work isn't the AI that gets TED talks. It's the kind that keeps benefits from being wrongly terminated because a system finally understood that gig work counts as employment.
After 40 days (the longest government shutdown in U.S. history) eight Democratic senators broke ranks on November 9, 2025, voting with Republicans to advance a continuing resolution that provided Democrats virtually nothing they had fought for.
After three months at Handshake, I made great friends, worked with talented early career engineers, and discovered that being on a growth team wasn't for me. I'm a thoughtful, document-everything kind of engineer, not a move-fast type, and the fit wasn't there. This post reflects on what worked, what didn't, and the lessons I'm taking forward about vetting opportunities and knowing your own work style.
A personal reflection on a month that tested us all, in a year that feels like it will never end
Mike Duncan's latest season of *Revolutions* takes a wild turn into science fiction with a fictional Martian revolution, and it's surprisingly compelling.
Glitch is shutting down, and it's a bummer. Here's what I think about it.
A small node script to create a markdown file for each movie review in a Letterboxd RSS feed
i share how i built a fully customizable resume website with eleventy, complete with seo-friendly features and pdf generation.
EasyPanel gives you a cPanel/Heroku (retro!) way of managing sites, but self hosted. Click to deploy a template, which is thousands of self-hosted services.
Trying to take the time to build more websites, even for small things. Wanted to do more with this one, but, Eurovision was a mess lol
Re(re-re) building my personal site with Eleventy and web components
Removing one of many excuses I usually have for starting a blog post
In a world saturated with information, the ability to discern credible sources and retain control over our online experiences is more crucial than ever.
I miss the internet where everything wasn't fed to me in an 'for you' page. I hope you'll all join me on being a little less self conscious about what I put on the internet in 2024.
How to listen and process information at work, leading to stronger relationships and less checkins
Part one in a series of posts on building Subeta, an early virtual pet game I made as a teenager. Subeta was also one of the first pioneers of what is now called micro-transactions, but to me it was just getting quarters in the mail to pay for something I loved making.