Portfolio
Personal website & portfolio, built from scratch using Next.js, Typescript, and Tailwind CSS
Tech Stack :

Overview
An early personal portfolio website built from scratch to showcase projects, skills, and professional background. Served as the primary online presence before migrating to the current platform. The site is deployed on Vercel and uses Prisma to manage project data backed by a relational database.
Tech Stack
- Next.js — React framework with file-based routing and SSR support
- TypeScript — Static typing across the entire codebase
- Tailwind CSS — Utility-first styling
- React.js — Component-based UI
- Prisma — ORM for database access and schema management
Features
Project Showcase
Displays a curated list of personal and open-source projects with descriptions, tech stacks, and links to live demos and source code.
Responsive Layout
Fully responsive design adapting across mobile, tablet, and desktop viewports using Tailwind's utility classes.
Static Generation
Pages are statically generated at build time where possible, ensuring fast load times and good SEO out of the box.
Challenges & Solutions
Managing project data without a CMS — Project entries were defined in a Prisma schema and seeded manually. This gave structure but required redeployment to update content. In later versions, this was replaced with a Supabase-backed API for real-time data.
Balancing simplicity with extensibility — The initial goal was to ship quickly. Keeping the architecture simple (page-based routing, no global state) made iteration fast without accumulating technical debt early on.
Lessons Learned
- Prisma is a strong choice for structured, typed database access in a Next.js project but adds friction when the schema evolves frequently.
- Static generation works well for content that rarely changes; dynamic routes are worth the added complexity for data that updates regularly.
- A portfolio is never "done" — treating it as a living project accelerates learning more than treating it as a one-time deliverable.
