I'm Jonathan Harford

I'm a full-stack engineer with over 10 years of experience building scalable systems in Clojure, TypeScript, Python, and SvelteKit.

Surly Bonds

What's easier? Breaking out of orbit, or slipping gently into the sun's fiery embrace?

A browser toy to illustrate my favorite Fun Fact: it takes more energy to fall into the sun than it does to leave the solar system.

surlybonds screenshot
TypeScript WebGL SvelteKit

Miura-ori

An interactive visualization of the Miura-ori fold pattern — a rigid origami technique used in deployable structures and satellite solar panels.

TypeScript Web Components

AllScreen

This app allows clinical staff to send questionnaires to recipients by text and email. Once they're filled out, the results get tallied and sent back to the clinic.

AllScreen screenshot
TypeScript Svelte 5 SvelteKit Supabase Redis Stripe Tailwind CSS Playwright

Dreideltron 2000

Has THIS ever happened to YOU?

It's the first night of HANNUKAH and you're sitting down to bet on some GELT but OH NO you don't have a DREIDEL!

So you go ONLINE to find a solution, only to find ancient random number generators and complex dreidel-based games!

Thus DREIDELTRON 2000. It's JUST a dreidel for your phone. With physics! And a synthwave theme, because we are living in the future, are we not?

Dreideltron 2000 screenshot
TypeScript BabylonJS Capacitor iOS Android (in testing) Web