The Stack

What this site is actually built with, updated whenever that changes — not a dated snapshot.

Core site

  • AstroStatic site framework — the whole site
  • TypeScriptContent Collections schemas, data files
  • Tailwind CSS v4Styling
  • Vanilla JavaScriptTheme toggle, mobile nav, node-network background, scroll-hide header, contact form, and all of the Bell Ringer/comments/accounts client-side logic — no framework or library
  • ZodSchema validation for content collections and defensive CMS-input normalization

Content & blog

  • Astro Content CollectionsData layer for blog posts, Bell Ringer questions, and project/tool cards
  • Sveltia CMSBrowser-based, git-backed admin panel for writing posts and managing cards
  • MarkdownContent format
  • @astrojs/rssPowers the blog and Bell Ringer RSS feeds

Share preview images

  • SatoriRenders each blog post/Bell Ringer's unique OG image as SVG at build time
  • sharpRasterizes those SVGs to PNG
  • gray-matterReads post frontmatter directly for the image-generation script

Bell Ringer, comments & accounts (backend)

  • Cloudflare WorkersThe bellringer-api Worker: vote tallies, comments, and the whole accounts system
  • Cloudflare D1SQLite-compatible serverless database (users, sessions, comments, votes, rate limits)
  • WebCrypto (PBKDF2-SHA256)Password hashing, no external dependency needed
  • ResendTransactional email for verification links and password resets
  • GitHub OAuthReused (via a second Worker) to gate the comment moderation tool to one account

Backend-less services

  • Web3FormsContact form submission handling
  • Cloudflare Web AnalyticsPageview tracking

Hosting & deployment

  • GitHubVersion control across the site, the Bell Ringer API, and the CMS auth proxy repos
  • HostingerStatic hosting with Git-based auto-deploy on every push, plus DNS
  • CloudflareWorkers runtime, D1, and a few DNS records for email deliverability

CLI/dev tooling

  • npm / Node.jsPackage management and scripting
  • Homebrew, gh, wrangler, pandocLocal CLI tooling for GitHub, Cloudflare, and document conversion

How it's actually built

  • Claude CodeThe whole thing, site and backend both, built through pair-programming sessions with Claude