Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 107
  1. Moons now available on the App Store

    I've shipped my first iOS app!

  2. Claude, meet my Obsidian vault

    My notes live in Obsidian.

  3. This site now comes in four flavours

    Every few years I get the itch to redesign this site, and every time I do it the content is the boring bit.

  4. shotframe

    Released shotframe, a little CLI for the job I'd been doing by hand for every iPhone app: turning raw simulator captures into App Store screenshots.

  5. zed-ios-app-starter

    Put together zed-ios-app-starter, a template for native iOS apps and the fourth member of the Zed Stack.

  6. What should actually go in your CLAUDE.md?

    If you go looking for advice on how to write a CLAUDE.md file, you'll find plenty of it.

  7. astro-d1-search released on npm

    The site search I built last month is now a package: astro-d1-search is an Astro integration that adds full-text search backed by Cloudflare D1 to any Astro site running on the Cloudflare adapter.

  8. astro-d1-search: site search for Astro in one integration

    A couple of weeks ago I wrote about building site search with Astro and Cloudflare D1: an FTS5 index built at deploy time, a /api/search endpoint, bm25 ranking with a recency boost, and a Raycast extension on top.

  9. A native iOS app for Otter

    Otter now has a proper native iOS app, written in SwiftUI.

  10. Building site search with Astro and Cloudflare D1

    For a while, the search on this site was a bit of an odd duck.

  11. Site-wide search + Raycast extension

    This site now has proper full-text search at /search, with no Algolia and no third-party service.

  12. I don't know about you, but every time a long URL blows out a layout, I do the same dance: type word- or break, stare at the autocomplete, and pick one of word-wrap, word-break or overflow-wrap more or less at random until the overflow goes away.

  13. Lab experiments + ZUI playground

    A batch of new experiments on lab.zander.wtf: a keyboard-only navigation demo, a clock quiz for practising telling the time (with relative-time questions), and a procedural page, an endless one that builds itself as you scroll.

  14. Letterboxd watchlist for Radarr

    Added a Radarr-compatible Letterboxd watchlist endpoint to my-api-tools, my growing collection of personal APIs running on a Cloudflare Worker.

  15. The ZUI ecosystem

    I just wrote about the ecosystem of apps around Otter, and it turns out I've done the same thing to ZUI, my CSS-first UI library.

  16. The Otter ecosystem

    Otter is my self-hosted bookmarking app and media tracker, and it's the side project I actually use: many times a day, every day.

  17. zed-astro-starter

    Put together zed-astro-starter, an opinionated Astro starter ready to deploy to Cloudflare Workers.

  18. Zero: my project factory

    In my zero-to-one stack post I ended with an admission: the one part of shipping side projects I hadn't cracked was the boring ceremony between "I've just had an idea" and "something is actually being built".

  19. The modern CSS hiding inside ZUI

    I've been building ZUI, my CSS-first UI library, for a while now.

  20. My zero-to-one stack

    I build a lot of side projects.

  21. Launched fonts.zander.wtf

    Launched fonts.zander.wtf, a hand-picked catalogue of free, high-quality typefaces.

  22. React Status Bar v1

    Released react-status-bar v1.0.0, a lightweight, portal-based status bar system for React.

  23. Spotify Favourites

    Built spotify-fave-artists to answer a question Spotify gets wrong: who are my actual favourite artists and albums?

  24. Add a projects page

    Added a projects section to the site: side-projects, packages and other things I've made or am making.

  25. Using hunk as a diff viewer in lazygit

    I've been using lazygit a lot recently and since hunk was released, I wanted to use it within lazygit.

  26. agent-skills

    Set up agent-skills to manage the various AI agent skills I use, shared across Claude Code, Amp and Codex.

  27. Launched Reps

    Built Reps, a daily JavaScript puzzle for your coding muscles.

  28. Otter web v1.1.0

    Otter shipped otter-web-v1.1.0.

  29. Launched lab.zander.wtf

    Spun up lab.zander.wtf, a home for experiments, little tools and demos.

  30. zed-stack-starter

    Put together zed-stack-starter, a modern full-stack React starter so I can stop reassembling the same pieces every time I start something new.

  31. Otter web v1.0.0

    Otter reached its otter-web-v1.0.0 milestone.

  32. UK Primary School Maths

    Made uk-primary-school-maths, a little learning site to explore key maths concepts year by year.

  33. Launched ZUI (Zooey)

    I started ZUI (Zooey), a CSS-first UI library with optional React, Astro, Solid, Svelte and Vue components.

  34. xtractr

    Back in 2023 I built a Cloudflare Workers page scraper. xtractr is the proper, grown-up version of that idea: extract clean, structured content from web pages with automatic short-link expansion and lightweight page-type detection.

  35. strifx

    Released strifx, like clsx but for strings. clsx is perfect for conditionally composing classNames, but I kept wanting the same ergonomics for any string, not just classes.

  36. zed-surround

    I've been using Zed more and more, and one thing I really missed from VS Code was being able to wrap a selection in a snippet.

  37. vite-plugin-atlas

    Built vite-plugin-atlas, a convention-driven component documentation plugin for Vite + React.

  38. I'm constantly evaluating AI agents.

  39. url-merge

    Published url-merge, a zero-dependency URL path joiner.

  40. Code notes come to the site

    I finally pulled my code notes into this site.

  41. my-api-tools

    I started my-api-tools, a growing collection of small APIs for my personal projects.

  42. Add Now page

    I finally added a /now page to this site.

  43. Homepage updates

    I have been tweaking the styles on the site.

  44. Otter Raycast Extension

    I built a Raycast extension for Otter a long time ago.

  45. Moving to Cloudflare

    After the craziness where a Netlify customer was charged $104K because of a DDoS attack, I decided to move my personal site and as many web things to Cloudflare.

  46. Add matching collections to Otter feed items

    Bookmark feed items in Otter already show the tags associated with that item, but now I added matching collections to them as well.

  47. Otter Bookmark entry improvements

    When adding or editing a bookmark, Otter checks the contents of the title, description and note fields to see if they match existing tags.

  48. Otter database upgrade

    I updated Otter's PostgreSQL database to version 15 through the Supabase dashboard.

  49. Otter Collections

    Added collections to Otter.

  50. Opengraph images

    I finally added Opengraph images to this site today.