A modern, interactive portfolio built with Next.js 15, Tailwind CSS, and Framer Motion.
This replaces the older static, terminal-themed GitHub Pages site with a full Next.js application that keeps a nod to the old terminal aesthetic while adding a proper timeline, animated sections, and a polished layout.
Data is centralized in lib/data.ts — edit that file to update timeline entries, skills, certificates, or profile info without touching any components.
This project uses Yarn (Berry / v4) with the node-modules linker — configured in .yarnrc.yml. PnP is disabled, so tooling that expects a real node_modules/ (Next.js, editors, IDEs) works out of the box.
yarn install
yarn dev
Then open http://localhost:3000.
Other scripts:
yarn build # production build
yarn start # run the production build locally
yarn lint # eslint
npm also works if you prefer it — the
package.jsonscripts are package-manager-agnostic. Just stick to one lockfile.
The site is designed to deploy to Vercel with zero configuration:
codewizrd001.github.io).Alternatively, deploy to Netlify, Cloudflare Pages, or any Node-capable host — no custom config needed.
The old static files (index.html, dev.html, style.css, scripts/, assets/) are still in the repo but are no longer used by the Next.js build. They can be deleted once the new site is live on Vercel and DNS is pointed there. All required assets have been copied into public/.
app/
layout.tsx # root layout, fonts, metadata
page.tsx # single-page site (all sections)
globals.css # tailwind + custom utilities
components/
Background.tsx # pointer-following gradient background
Navbar.tsx # sticky nav with mobile menu
Hero.tsx # hero with typing animation + terminal card
About.tsx # bio + focus areas
Timeline.tsx # scroll-linked vertical timeline
Skills.tsx # grouped skill chips
Certificates.tsx
Contact.tsx
Footer.tsx
SectionHeader.tsx
lib/
data.ts # all content lives here
public/
dp.jpg
icon.png
resume/resume.pdf
certificates/*.pdf