Minimal, fast, and fully data-driven portfolio site.
portfolio-demo.mp4
- Data-driven content: Edit a single file
portfolioData.tsto update personal info, navigation, projects, testimonials, skills, work experience, education, articles, newsletter, and footer. - Modern stack: Next.js App Router + TypeScript.
- Styling: Tailwind CSS with CSS variables and
tw-animate-cssutilities. - UI primitives: shadcn/ui components are wired where relevant.
- Responsive + accessible: Semantic markup and keyboard-friendly components.
- Optimized images:
next/imagefor automatic sizing and optimization. - Easy theming: Tweak tokens in
app/globals.css(light/dark, radii, charts, sidebar, etc.).
npm i
npm run dev
# open http://localhost:3000- Edit
portfolio/portfolioData.tsto change all content. - If using external image URLs, add their domains to
next.config.tsunderimages.domains. - Update internal anchors via
navigationinportfolioData.ts.
npm run build
npm startDeploy on any Node-compatible host (Vercel, Netlify, Fly, etc.).
- Newsletter form is UI-only; connect your backend/service to handle submissions.
- Internal navigation uses
next/link. External links use<a>.