A personal web portfolio I built myself with TypeScript and Next.js.
All content — tech stack, activities, project details, and more — is managed in PostgreSQL and queried via Prisma, so my profile can be updated without any code changes.
Project Detail Modal
Implemented it so that clicking a project card opens a modal via an intercepting route, while opening the URL directly renders it as a full page.
Tech Stack
Implemented the frontend with TypeScript, Next.js, and React, and styled it with Tailwind CSS.
Managed content with Prisma and PostgreSQL, and implemented interactions with Framer Motion.
Stored images in Cloudflare R2 and deployed the site on Vercel.