About this site

If you're a web developer and you care about how the work is done, here are some details. The site's not open source but it might be one day.

  • The site is built with React Router v7 and React, using Vite as the build tool. React Router handles routing, server-side rendering, and data loading. Previously this site used Remix, which merged into React Router.
  • The site is server-side rendered for speed, SEO and accessibility.
  • The site is hosted on Netlify, with SSR handled by AWS Lambda functions. When I push an update to GitHub a webhook triggers a rebuild and deployment to Netlify's CDN.
  • The site has a (barely) hidden admin screen which lets me create, update and delete posts with a live preview editor. The admin screen is secured with password authentication using bcrypt and cookie sessions. There is currently exactly 1 user authorized to do anything: me.
  • Images and media are stored in AWS S3 and can be uploaded directly from the admin editor.
  • All the data is stored in MariaDB on AWS RDS, accessed via Prisma ORM. This is overkill because the database really only needs to exist at build time, but I like databases, so the site has a database.
  • Post summaries on the home page are generated by Claude, Anthropic's AI model. Each summary is generated once when a post is saved and stored in the database.