Things I’ve built.
Some are for work, some are for me, and a few are just for fun. Press any of them to read more.
Kind
Showing all 12
-
My consulting site. I set up AI tools and build custom software for small businesses, and clients follow their projects in a portal on the same site.
-
Atlas teaches a ten-topic course on how language models work, from tokens and embeddings through to retrieval. Each topic has to be passed before the next one opens.
A model grades the written answers against a rubric, and plain code decides whether you pass: 80 percent or better opens the next topic and schedules a review. The tutor answers only from the course’s own lessons and cites them. If the course doesn’t cover a question, it says so.
-
Pages that don’t exist get a chessboard. Every piece has a face and something to say about your moves.
The other side opens with my favourite lines, and when those run out, Stockfish takes over.
-
The site for Glyph, the web design studio I run with a friend. We make well-made websites affordable for small businesses.
-
I scanned my face in 3D with my phone. Your browser draws the scan as 139,957 points, using a small renderer made for this site.
It’s the real scan and not a video, so my head follows your pointer and you can drag a path straight through it.
-
The résumé anyone can download leaves out my contact details. To get the full one, you ask for it.
A Cloudflare Worker screens the request, then checks with me on Telegram before it emails anything.
-
Pasting the same notes into every AI tool was slow, and sending a whole vault of notes was expensive and unsafe. Context Drop sits in front of my notes and gives an assistant only the few pages a request needs.
Restricted pages stay out unless the task explicitly grants them, and a manifest shows exactly what the model received. It speaks MCP, and the embeddings are computed on my own machine, so private pages aren’t sent to a cloud service to be indexed.
-
A bill passes its due date or a reply goes cold without making much noise. Brief looks at my Gmail and Google Calendar and shows the few things that need a person today, three at most.
It only reads. A model sees information about each message, never the body, and suggests what matters. Plain code then checks every suggestion against the original message, ranks them and links back to the source. It can’t send mail or take any action.
-
Language apps kept me busy but didn’t remember what I had studied or what I kept getting wrong. Chief of Learning turns a long-term Mandarin goal into a daily plan, and uses my study history and tutoring feedback to change the next day’s work.
I talk to it in a Telegram chat, get a morning brief and have a private dashboard. Notion holds the lessons, corrections and plans. Lessons are recorded and transcribed on my own machine, so the audio stays there.
-
AI copy sounds generic when it starts from generic inputs. Copywriter is a set of four Claude Code skills that start from evidence and keep the claims honest.
A small Python linter, with no model in it, blocks a draft that has known AI writing habits in it or a claim with no proof behind it. A draft has to pass the linter before it ships.
-
I started Honky Tonk CBD to sell CBD products from a vending machine. The machine had an ID reader and a camera that matched the buyer’s face to their ID.
I raised the money, chose the products and kept or dropped them based on what was selling. It ended when Tennessee made unmanned sales of age-restricted products illegal.