Personal portfolio built with Next.js 15, React 19, Tailwind CSS v4, and Resend for the contact form.
- Responsive layout with theme tokens in
src/app/globals.css - Data-driven sections for projects, testimonials, experience, and skills
- Server action contact form via Resend
- Install dependencies:
npm install
- Start the dev server:
npm run dev
Create a .env.local file in the project root:
NEXT_PUBLIC_SITE_URL=http://localhost:3000
RESEND_API_KEY=your_resend_api_keycontent/projects/*.jsonfor project cards (seesrc/lib/types.d.ts)content/testimonials/testimonial.jsonfor recommendationssrc/appData/index.tsfor services, experience, skills, and footer linkssrc/componentsfor UI sections and cards
Skills are grouped in skillGroups inside src/appData/index.ts:
export const skillGroups = [
{ title: "Frontend & Mobile", items: ["React", "Next.js"] },
{ title: "Backend & APIs", items: ["Node.js", "NestJS"] },
];- Update the recipient email in
src/actions/contact-form.ts. - Resend requires a verified domain for production delivery.
If you use remote images, add the hostnames in next.config.ts.
npm run devnpm run buildnpm run startnpm run lint