Personal Website
Personal Website

- Category
- Website
- Status
- Live
- Role
- Solo build
- Date
- 2020-10-20
- Built with
- React, Vite, Tailwind CSS, Supabase, Cloudflare Pages
Personal website for my portfolio
Problem: Everything I make — writing, races, treks, books, projects — lived on other people's platforms, in other people's formats, behind other people's algorithms.
Solution: One site over a Supabase Postgres store, with a schema-driven admin dashboard so every content type is edited the same way, and a tag layer that cross-links them. Built with React and Vite, deployed on Cloudflare Pages.
Outcome: The canonical home for everything I publish, updated from a phone. The audience is on mobile networks, so every uploaded image is resized and re-encoded in the browser before it ever reaches storage.
- Custom /admin dashboard over Supabase, with row-level security as the access boundary
- One central tag system shared across books, blogs, treks, races, micro-posts and projects
- Images compress in the browser before upload — 150 KB target, 300 KB hard cap