Custom Next.js 15 portfolio (App Router, plain CSS, zero UI libraries). Fully static — 15 prerendered pages including per-project case studies.
portfolio/
├── app/
│ ├── layout.jsx ← pill nav, live IST clock, footer, metadata
│ ├── page.jsx ← home: TOC, avatar, intro, experience, studies, skills, open-source grid, contact
│ ├── work/page.jsx ← work index (all case studies)
│ ├── work/[slug]/page.jsx ← per-project case-study pages (10 projects)
│ ├── projects.js ← ALL project + repo content lives here
│ ├── components/Clock.jsx ← live clock (client component)
│ └── globals.css ← design system (colors/fonts in :root)
├── package.json
└── next.config.mjs
npm install
npm run dev # http://localhost:3000(Per house rules: don't run npm install inside D:\cowork — copy elsewhere or clone from GitHub first.)
- Push this folder to a new GitHub repo (e.g.
mprinceb/portfolio):git init && git add -A && git commit -m "portfolio v1" gh repo create mprinceb/portfolio --public --source . --push
- Go to https://vercel.com/new → Import the repo → Framework auto-detects Next.js → Deploy. No config needed.
- After first deploy, update
metadataBaseinapp/layout.jsxto the real URL.
- Projects:
app/projects.js(name, tagline, summary, detail bullets, tags) - Experience/skills/contact:
app/page.jsx - Colors/design:
:rootvariables inapp/globals.css(accent is--accent)