Skip to content
harshhh28Public

About

A responsive personal portfolio website built with Nextjs and TypeScript, showcasing my professional experience, skills, and projects with a clean, modern design.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

Harsh Gajjar

Top language Repo size License

About  |  Features  |  Stack  |  Setup  |  License


About

Personal portfolio: neutral, minimalist, with proper light and dark mode. Built with Next.js 15 and TypeScript.

Features

Route What's there
/ Hero, experience, education, and community
/work Selected projects with source and live links
/writing Technical blog (MDX-based)
/contact Contact form, delivered via Resend
  • Light theme by default, with a dark mode toggle (persisted, respects system preference)
  • Single accent color, no cards or shadows, hairline dividers throughout
  • Fully responsive down to mobile widths

Stack

Setup

Prerequisites: Node.js v18.17+, npm, Git.

git clone https://github.com/harshhh28/portfolio
cd portfolio
npm install
npm run dev
# → http://localhost:3000

Environment variables: create .env at the root:

# Contact form (required for /contact to deliver mail)
RESEND_API_KEY=your_resend_api_key
RESEND_FROM_EMAIL=onboarding@resend.dev
EMAIL_RECIPIENT=your_email@example.com

# Blog view counts (optional; counts are hidden when unset)
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=

Share images (/opengraph-image), sitemap.xml, and robots.txt are generated by Next.js from src/app, so they stay in sync as posts are added. Set the production domain in src/lib/site.ts.

Resend:

  1. Create a Resend account.
  2. Generate an API key.
  3. Add your verified domain or use the default onboarding@resend.dev for testing.

License

MIT: see LICENSE.

Made with ❤️ by Harsh Gajjar

↑ Back to top

About

A responsive personal portfolio website built with Nextjs and TypeScript, showcasing my professional experience, skills, and projects with a clean, modern design.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages