A modern, interactive portfolio built with Next.js 14, TypeScript, and Tailwind CSS.
π Live Site: neeraj-parekh.github.io (via Vercel)
| Page | Description |
|ββ|ββββ-|
| / | Home - Hero section, About Me, My Journey, Photo Gallery |
| /skills | Skills & Certifications grid |
| /projects | Project showcase with hex grid photos |
| /blog | Blog posts with Medium embeds |
| /links | Social links and contact |
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build
# Start production server
npm start
Development server runs at: http://localhost:3000 (or 3001 if 3000 is busy)
neeraj-portfolio/
βββ app/ # Next.js App Router pages
β βββ page.tsx # Home page
β βββ skills/page.tsx # Skills page
β βββ projects/page.tsx # Projects page
β βββ blog/page.tsx # Blog page
β βββ links/page.tsx # Links page
β βββ layout.tsx # Root layout with analytics
β βββ globals.css # All styles
βββ components/ # React components
β βββ Navigation.tsx
β βββ ThemeToggle.tsx
β βββ RotatingText.tsx
β βββ CollapsibleJourney.tsx
β βββ CertificationGrid.tsx
β βββ SkillCard.tsx
β βββ PhotoGallery.tsx
β βββ ...
βββ data/ # JSON data files (edit these!)
β βββ personal.json # Your personal info
β βββ skills.json # Programming skills
β βββ certifications.json # Skill cards with certificates
β βββ journey.json # Timeline configuration
β βββ projects.json # Project data
β βββ blogs.json # Blog posts
β βββ links.json # Social links
β βββ shots.json # Photo gallery images
βββ public/assets/ # Static files
β βββ images/ # All images
β βββ icons/ # Icon files
β βββ photos/ # Project photos
β βββ shots/ # Gallery photos
β βββ certificates/ # Certificate files
βββ tools/ # Local visual editors (backed up on GitHub)
β βββ grid-editor.html # Certification grid editor
β βββ home-editor.html # Home page editor
β βββ skills-editor.html # Skills page editor
β βββ projects-editor.html # Projects page editor
β βββ journey-editor.html # Journey section editor
βββ HOW-TO-EDIT.md # Detailed editing guide
All content is stored in JSON files in the /data/ folder. Edit these to update your portfolio!
| File | What it controls |
|---|---|
personal.json |
Name, bio, email, rotating texts, profile image |
skills.json |
Programming languages & tools list |
certifications.json |
Skill cards on skills page |
journey.json |
Collapsible timeline sections |
projects.json |
Project cards |
blogs.json |
Blog post embeds |
links.json |
Social media links |
shots.json |
Photo gallery images |
See HOW-TO-EDIT.md for detailed instructions.
Iβve included visual editors to help you customize the layout without editing JSON manually.
/data/| Editor | File | Purpose |
|---|---|---|
| Grid Editor | tools/grid-editor.html |
Certification cards layout (rows, card sizes) |
| Home Editor | tools/home-editor.html |
Home page sections & hero content |
| Journey Editor | tools/journey-editor.html |
Timeline/journey configuration |
| Skills Editor | tools/skills-editor.html |
Programming skills & tools list |
| Projects Editor | tools/projects-editor.html |
Project cards & details |
/data/ folderNote: The
/tools/folder contains a backup copy on GitHub. The editors are standalone HTML files - just open in browser.
For analytics, create a .env.local file:
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX
NEXT_PUBLIC_CLARITY_ID=xxxxxxxxxx
Or add these in Vercel Dashboard β Settings β Environment Variables.
Auto-deploys on every push to main branch.
npm run build
npm start
On the Skills page, cards with a β gold star indicator have certificates attached. Double-click to view them in a modal.
To add a certificate to a card, edit certifications.json:
{
"id": "python",
"hasCertificate": true,
"certificate": "/assets/certificates/python-cert.pdf",
"certificateImage": "/assets/certificates/python-cert.png"
}
The βMy Journeyβ section on the home page is fully collapsible. Configure it in journey.json:
{
"title": "My Journey",
"defaultExpanded": true,
"items": [
{
"id": "about-me",
"title": "About Me",
"color": "#f21717",
"content": { "type": "about", "showBio": true }
}
]
}
Three themes available:
Theme preference is saved in localStorage.
After setup, view your analytics at:
Clarity provides:
This portfolio is for personal use. Feel free to use as inspiration, but please donβt copy content directly.
Neeraj Parekh
Made with β€οΈ using Next.js