Personal portfolio site built with SvelteKit + Tailwind CSS, deployed to GitHub Pages.
- SvelteKit with
adapter-staticfor GitHub Pages - Tailwind CSS v4 (Vite plugin)
- D3.js for the interactive skills force graph
- pnpm as package manager
pnpm install
pnpm devpnpm build
pnpm preview # preview the build locallybase: process.env.NODE_ENV === 'production' ? '/YOUR-REPO-NAME' : ''Replace jordan-portfolio with your actual GitHub repo name (e.g. jordancarson.github.io for a user site, or portfolio for a project site).
Set base to '' (empty string) in production — user sites are served from the root.
The GitHub Actions workflow in .github/workflows/deploy.yml will automatically build and deploy on every push to main.
Make sure GitHub Pages is enabled in your repo settings with source set to GitHub Actions.
src/
routes/
+layout.svelte # Nav, footer, global imports
+page.svelte # Home: Hero, Stats, Skills, Timeline
writings/
+page.svelte # Articles + conference talks
projects/
devgpt/
+page.svelte # DevGPT architecture deep dive
lib/
components/
Hero.svelte
Stats.svelte
SkillGraph.svelte # D3 force graph
Timeline.svelte
data/
skills.js