Ask AI about me

Choose an assistant to ask about my work.

Opens an external service. AI answers can be inaccurate.

Portfolio / Blog

This Website

My portfolio, blog, and place to try ideas that would be unnecessary anywhere else.

Current homepage with the Hi, I'm Charlie hero

Why I built it

I needed one place for my projects and notes. A plain profile page would have worked, but I wanted the site itself to be one of the projects.

This is the latest of several versions. Each rebuild has been an excuse to learn something, remove old mistakes, and probably add too much motion.

How it works

Vite builds the React app. React Router splits the main pages into separate chunks, and the blog posts are MDX files stored with the code.

Shared components handle navigation, metadata, reduced-motion settings, and keyboard controls. The command palette is there because I use it.

What it does

Split each route into its own chunk and kept the blog in local MDX files.
Built the hero, navigation, cards, and page transitions instead of using a template.
Made the layout work from small phone screens up to wide desktops.