Typography

OSWALD VARIABLE Headings, display, labels

BUILD, BUY, OR BOTH

Condensed sans-serif with variable weight axis. Used at weights 600-700. Self-hosted via @fontsource-variable/oswald, no external font requests, no render-blocking.

PLUS JAKARTA SANS VARIABLE Body, UI, captions

Before you buy it, see if you can build it.

Clean geometric sans with variable weight axis. Used at 400-700. Also self-hosted. No Google Fonts, no external stylesheet requests anywhere on the site.

Tech stack

  • Astro 6 Static site generator with Cloudflare Workers adapter. Pages are prerendered at build time. The API routes (contact form, subscribe endpoint) run as edge functions.
  • Tailwind CSS v4 Utility-first CSS with custom design tokens defined in theme.css. Every color, font, and spacing value runs through a named token. Nothing is hard-coded.
  • TypeScript Used throughout. API routes are fully typed. Component props use TypeScript interfaces.
  • Cloudflare Workers Hosts and serves the site from Cloudflare's edge network. Deploys automatically when code is pushed to the main branch on GitHub.
  • Cloudflare R2 Object storage for all site images, served via images.solobuilt.ai. Images are uploaded separately from code deploys and never committed to the repository.

Publishing tools

  • Kit Handles newsletter subscriptions and email delivery. The subscribe form on this site POSTs directly to Kit's API, no third-party embed, no iframe.
  • GitHub Version control. Every change to the site is committed and pushed before it's live.
  • GitHub Actions CI/CD. A push to main triggers an automated build and deploy to Cloudflare. No manual deploy steps required.

Built with AI

This site was designed and built by one person directing Claude (Anthropic). Claude wrote the code, drafted the copy, made design decisions, and worked through problems the same way every build on this site gets made: described, assembled, run, fixed.

That is not a disclaimer. It is the point. The site is a demonstration of the thing it writes about.

Design decisions

The visual direction is typographic editorial brutalism. Typography is the design. No photography on the core pages, no illustration, no decorative icons. Square corners everywhere. One accent color used sparingly.

The reference point is print: broadsheets, field reports, wire-service layouts. The content is modern; the structure is old. That tension is intentional.

The color palette has a name: Ink, Paper, Amber, Ash. Four colors. That's the whole system.

The editorial rule

One episode a week, on Tuesdays. Nothing is written about a build that has not run on a real example. Every price traces to a page that was opened. Every episode says what the build cannot do.

No summaries of other people's posts. No filler. If the build is not done, the episode says so.