diff --git a/CLAUDE.md b/CLAUDE.md
index 43c994c..590f739 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -1 +1,37 @@
+# CLAUDE.md
+
+This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
+
@AGENTS.md
+
+## Commands
+
+```bash
+npm run dev # Start development server
+npm run build # Production build
+npm run start # Start production server
+npm run lint # Run ESLint
+```
+
+No test runner is configured.
+
+## Stack
+
+- **Next.js 16** with App Router — read `node_modules/next/dist/docs/` before writing any Next.js code; APIs may differ from training data
+- **Tailwind CSS v4** — configured via PostCSS (`postcss.config.mjs`); no `tailwind.config.*` file; theme tokens defined in `app/globals.css` using `@theme inline`
+- **TypeScript** — strict mode, path alias `@/*` maps to project root
+
+## Architecture
+
+This is a portfolio site built with the Next.js App Router. All routes live under `app/`. Global styles and theme variables are in `app/globals.css`. Fonts (Geist Sans/Mono) are loaded in `app/layout.tsx` and injected as CSS variables.
+
+Reusable UI components should go in `components/`. There is no `components/` directory yet — create it when adding the first component.
+
+## Project Rules
+
+- Functional components only — no class components
+- All styling via Tailwind utility classes — no CSS modules or inline styles
+- Dark mode by default; use Tailwind dark-mode utilities and the CSS vars (`--background`, `--foreground`) defined in `globals.css`
+- Keep components small and single-purpose
+- Prefer readability over cleverness
+- Do not add features unless explicitly asked
diff --git a/app/about/page.tsx b/app/about/page.tsx
new file mode 100644
index 0000000..3724216
--- /dev/null
+++ b/app/about/page.tsx
@@ -0,0 +1,116 @@
+import Badge from '@/components/Badge'
+
+const skills = [
+ {
+ category: 'Languages',
+ items: ['TypeScript', 'JavaScript', 'Go', 'Python', 'SQL', 'Bash'],
+ },
+ {
+ category: 'Frontend',
+ items: ['React', 'Next.js', 'Tailwind CSS', 'Radix UI', 'Framer Motion'],
+ },
+ {
+ category: 'Backend',
+ items: ['Node.js', 'PostgreSQL', 'Redis', 'REST', 'GraphQL', 'tRPC'],
+ },
+ {
+ category: 'Tooling',
+ items: ['Docker', 'Git', 'GitHub Actions', 'Vercel', 'Linux'],
+ },
+ {
+ category: 'Focus Areas',
+ items: ['Web Performance', 'Developer Experience', 'API Design', 'UI Engineering', 'Accessibility'],
+ },
+]
+
+const timeline = [
+ {
+ year: '2024',
+ title: 'Senior Engineer — Acme Corp',
+ description:
+ 'Leading frontend infrastructure and design systems. Building core platform features used by millions of users.',
+ },
+ {
+ year: '2022',
+ title: 'Software Engineer — Startup XYZ',
+ description:
+ 'Full-stack product work across a SaaS platform. Owned the billing system, onboarding flow, and internal tooling.',
+ },
+ {
+ year: '2021',
+ title: 'Open Source — Deploy CLI',
+ description:
+ 'Built and published an open-source CLI tool in Go for automating local dev environment setup.',
+ },
+ {
+ year: '2020',
+ title: 'Software Engineer — Agency Co.',
+ description:
+ 'Client work spanning e-commerce, marketing sites, and web apps. Introduced TypeScript and component-driven development.',
+ },
+ {
+ year: '2019',
+ title: 'BSc Computer Science',
+ description: 'Graduated with a focus on distributed systems and human-computer interaction.',
+ },
+]
+
+export default function AboutPage() {
+ return (
+
+
+ {/* Intro */}
+
+
About
+
+ I'm a software engineer with a focus on the web — building products
+ that are fast, accessible, and well-crafted. I care about the details:
+ clean APIs, readable code, and interfaces that feel good to use. Outside
+ of work I contribute to open source, write about things I'm learning,
+ and tinker with side projects.
+