
JK Automotive
A rebuild for a Dayton performance shop's rebrand: a fast, prerendered site that ranks, loads instantly on a phone, and is easy for the shop to keep up to date.

A rebuild for a Dayton performance shop's rebrand: a fast, prerendered site that ranks, loads instantly on a phone, and is easy for the shop to keep up to date.

A local-first CMS that publishes two live sites. A CodeMirror editor with live preview, media uploads to Cloudflare R2, and one-click publish and deploy, with no database bill at all.

A snowy scene I built in Gaea and Blender, running live in the browser: custom triplanar and snow shaders, GPU snowfall and bloom, compressed from 45 MB to under 1 MB.
Software I've designed and built — client sites, tools, and experiments.
Modeling, sculpting, texturing, terrains and scattering.
The drift car, builds, and days at the track.
I build web portals all day. This one's more fun: an old stone-arch portal, a snowy scene built around it in Gaea and Blender, running live in the browser.
A hundred thousand stars, three spiral arms, and a handful of sliders: the galaxy generator I built during Three.js Journey, running right here in the post.
Since rebuilding this site, the CMS picked up a second site, albums, one-click deploys and a new name, PaddockCMS. Here's what changed, what it costs, and the bug that made a live site unclickable.
In the summer of 2016 my friend Kyle called with a question that changed everything. "Would you like to go watch drifting this weekend?"
My portfolio was a page that search engines couldn't read, and my CMS was a pile of Firebase reads waiting to become a bill. Here's how I rebuilt both into a fast static blog and a local-first CMS, and what it was like doing it with Claude.
The shop outgrew its website — new dyno, new focus on performance builds and tuning. Here's how we rebuilt it as a fast, prerendered site that's easy to keep updated.