This portfolio — React, Bun and static publishing

A site I can maintain myself

I wanted a portfolio with a custom domain, low hosting costs, and a less cumbersome writing workflow. This project started with Next.js and now uses React and Vite to generate a static site.

How it works

  • React and Vite provide the interface and browser bundle.
  • Bun handles dependencies, development commands, build scripts, and tests.
  • Markdown files hold articles and project reports.
  • Pre-rendered HTML makes each page readable without JavaScript.
  • Cloudflare Workers Static Assets serves the compiled files, with no application server to maintain.
  • Pages CMS configuration prepares visual editing of content and images through GitHub.

Keeping publishing manageable

Drafts are excluded from the public build. Automated checks cover content validation, existing URLs, generated pages, and the separation between development files and the public site.

The application is organized by feature, with shared layout components and build tools kept separate. This makes the site a small place to practice the same maintenance habits I want in larger projects.

View the source on GitHub.