Overview
This project is a major redesign and upgrade of my personal portfolio. Rather than starting from scratch, I built upon an existing open-source portfolio template and transformed it into a modern, content-driven platform that I can manage entirely on my own. The goal was to create a cleaner design, improve maintainability, and provide a more professional experience.
The Starting Point
The original portfolio template provided a solid foundation, but it was entirely static. Updating projects, skills, or articles required editing source files and redeploying the application. I wanted to preserve the clean design while making the entire site dynamic and easy to maintain.
What I Changed and Added
Integrated Supabase as the backend for the database, authentication, and image storage, secured with Row Level Security (RLS).
Built a custom admin dashboard with full CRUD functionality for profile information, social links, skills, work experience, education, projects, and blog posts.
Added drag-and-drop reordering for lists and the homepage hero photo stack.
Implemented a blog system with Markdown support, pagination, and a clean reading experience.
Added lightweight page-view analytics to monitor traffic.
Set up comprehensive SEO features, including dynamic sitemaps, robots.txt, Open Graph images, JSON-LD structured data, and an
llms.txtfile for AI crawlers.Refined the UI with responsive layouts, dark mode support, and smooth animations.
Tech Stack
Next.js and React (App Router)
TypeScript for type safety
Tailwind CSS and shadcn/ui for styling and components
Supabase for database, authentication, and storage
Framer Motion for animations
Vercel for deployment with a custom domain
Outcome
The result is a fast, modern, and professional portfolio that I fully control through a private dashboard. Updating projects or publishing articles now takes only minutes, while the site remains consistent, optimized, and easy to scale over time.
