🌈 ~khtdr/

Welcome, here is my inconsistently-curated collection of software, writings, notes, and whatever, that I've created over the years.

Apps

  • Zazen

    A no-frills Android meditation timer. Pick a length, settle in, sit with a bell at each end and a soft bed of noise in between. Every sound is synthesized on the phone. No accounts, no stats, no streaks.

  • Mood Ring

    A private Android check-in app for noticing how you've been feeling. Quick mood nudges, an end-of-day check-in, and occasional standard questionnaires. No accounts, no servers, no analytics.

  • The Well Rounded Climber

    An Android climbing log built on the idea that grades don't transfer between gyms. Track difficulty distribution and style variety instead — on-device, no account, no ads.

  • pexro

    A personal mobile app that runs and tracks any exercise routine described by an uploaded JSON program. Have your LLM write the program for you.

Software Projects

  • css-vars-design-token

    CSS Variables as Design Tokens: A Simple Approach to Design Systems

  • opts.js

    Command line options and arguments parser for NodeJS

  • agents

    An agent platform where agents are database rows instead of code. Every save is versioned, everything is editable in the browser, and pipelines are graphs you draw.

  • pageboy

    Write your shell scripts in any combination of scripting languages.

  • treeify-paths

    Converts a list of paths into a directory-like tree structure

  • react-zondicons

    A dependency-free, small, fast, good-looking React SVG icon set.

Tutorial Posts

  • agents: your first agent

    Describe one agent and let the install draft it, run it on a repository from the terminal and the browser, read the run back in history, then edit it in the browser. The first of three tutorials.

  • agents: a pipeline

    Put the changelog writer in a graph as one step, with a git read before it and a file written after it, read the cost of the whole run, then add a gate that sends bad work back. The second of three tutorials.

  • Creating a Custom Emacs Mode

    Learn how to create a custom major mode in Emacs with persistent state

  • A Developer's Design Implementation Checklist

    A comprehensive checklist for developers to use when receiving design mockups from designers

  • A Tailwind-CSS development server

    Simple quick way to get started learning and playing with Tailwind CSS

  • agents: a router

    Sort support messages with a classifier whose answer is checked JSON, send each one down the branch it belongs on, and ask a person when the classifier can't tell. Then stop the server while it waits, and watch the run pick up where it left off. The third of three tutorials.

  • Simple live-reloading Nodejs web server

    A hot-reloading web server using ExpressJS, built one step at a time.

Snippets and Notes

Music

What's with the domain name?

The song kicks ass https://youtu.be/pvZ4MN-SoJA