Modernized Friendster-inspired portfolio rebuilt with Next.js 16, TypeScript, and Tailwind CSS v4 (JIT). The site now runs as an App Router project with both the homepage and resume delivered as first-class routes.
Install dependencies (only required once):
npm install
Run the development server:
npm run dev
Open http://localhost:3000 to browse the site. Edits inside src/ hot-reload automatically.
| Script | Description |
|---|---|
npm run dev |
Start Next.js in development mode |
npm run build |
Create an optimized production build |
npm run start |
Serve the production build locally |
npm run lint |
Run ESLint with the Next.js config |
src/app/page.tsx — Landing page with profile and interactive project explorersrc/app/resume/page.tsx — Resume route mirroring the downloadable PDFsrc/components/project-explorer.tsx — Client component handling search/sort/grid renderingsrc/data/projects.ts — Strongly typed project catalogue consumed by the explorerpublic/ — Favicons, manifest, profile photo, and downloadable PDF (/Yuda_Resume_Oktober_2025.pdf)next.config.ts — Remote image configuration for external project thumbnailsProject entries live in src/data/projects.ts. Update the array to add, edit, or remove items. Each entry supports:
title, description, technologiesliveUrl, repoUrl, image, date, tagsRun npm run build before deploying. The generated .next/ output can be served via Vercel, Netlify, or any environment that supports Next.js 16. Public assets resolve from the app root, so no additional path adjustments are required.