software · systems
This Website
I’ve built a few of these before, back in the days when WYSIWYG editors were used to build websites. This time around I’ve zoomed in to showcase what I can build, covering primarily the span of the last three years. The site is well designed (imho), has a small digital footprint — four dependencies, no framework, no CSS library, no CMS — and costs almost nothing to host and run. jahutton.build represents a pattern I’ve used repeatedly: open source tooling plus free tier platforms plus thoughtful planning and design.
There are also some less obvious features that make life easier for me, which is another build principle: make something that works for you, that’s designed around the way you like to work, that’s enjoyable to use, that you can improve over time as your needs change. For this site, I’ve incorporated an AI helper in the background, invoked for a specific purpose—summarizing and categorizing form submissions—so I’m not sifting through dozens of emails, something I really dislike doing. Eventually, I might extend this functionality, adding triggers and automations that fire for certain types of inquiries.
There are infinite possibilities, but starting with a simple framework that you can extend over time is often the best way. What would you like to start building together?
4
Dependencies
0
Trackers or cookies
0
JavaScript bundles
Under the hood
Content + code
- Copy as data
- Astro components
- Public git repo
SIMPLE TO UPDATE — copy text lives on a separate layer from the code that renders it.
Build + deploy
- Astro static build
- Cloudflare Pages, from git
LIGHTNING FAST — builds are automated and take a fraction of a second.
The live site
- Static files on a CDN
- Self-hosted fonts
- No analytics, no cookies
LOW COST — since everything is static, there is minimal infrastructure to maintain or pay for.
Forms only
- Turnstile at the edge
- Three Pages Functions
- Resend · Supabase · Claude
SECURE AND SMART — the one place code runs, with spam stopped at the edge and Claude sorting what comes in.