A cinematic, AI-lab-inspired personal portfolio: boot sequence, glassmorphic UI, project deep-dives with build journeys, and a live contact terminal. Built to showcase shipped products including LogicLens v1.1.0, StackPilot, and FactLens.
Live: Deploy on Vercel · Contact: shivin2004@gmail.com
| Module | What it does |
|---|---|
| Boot | Terminal-style Accessing Shivin.exe intro |
| Hero | Dynamic roles, system stats, floating code panels |
| Projects | LogicLens, StackPilot, FactLens, SEHAT, Abilify, Joblyt — modal with Overview + Journey tabs |
| Experience | Mission-log timeline (ViniBrawns, Verto, SIH 2025, seed grant) |
| Skills | Interactive tech constellation (no progress bars) |
| Contact | Secure terminal → real email via Web3Forms |
- Next.js 16 (App Router, React 19)
- Tailwind CSS v4
- Framer Motion
- React Three Fiber + Three.js
- TypeScript
git clone https://github.com/shivin4/portfolio.git
cd portfolio
npm install
cp .env.example .env.local # optional — for contact form
npm run devOpen http://localhost:3000.
- Get a free key at web3forms.com → use shivin2004@gmail.com
- Add to
.env.local:
NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY=your_access_key_here- Restart
npm run devand test the Contact section.
Web3Forms free tier requires browser-side submission (
NEXT_PUBLIC_*). Enable domain restriction in their dashboard for production.
| Command | Description |
|---|---|
npm run dev |
Development server (Turbopack) |
npm run build |
Production build |
npm run start |
Run production build locally |
npm run lint |
ESLint |
src/
├── app/ # Layout, globals, SEO (sitemap)
├── components/
│ ├── boot/ # Boot sequence
│ ├── effects/ # Cursor, particles, 3D, glow
│ ├── sections/ # Hero, About, Projects, Experience, Skills, Contact
│ └── ui/ # GlassPanel
├── lib/
│ ├── data.ts # Site config, experience, skills
│ └── projects/ # Per-project content (logiclens, stackpilot, …)
└── hooks/
Edit content: src/lib/data.ts and src/lib/projects/*.ts
- Push to GitHub (see below)
- vercel.com/new → Import repo
- Framework: Next.js (auto-detected)
- Environment variable:
NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY(if using contact form) - Deploy
Custom domain: Vercel → Project → Settings → Domains.
Shivin Khandelwal — B.Tech CSE @ BML Munjal University
Private portfolio — all rights reserved unless otherwise noted.