vim ./building-my-portfolio-with-nextjs-and-convex.md
I wanted my portfolio to feel personal, fast, and easy to update. Instead of hardcoding every project and blog post, I built a small admin dashboard where I can manage content from one place.
Next.js gives me a strong foundation for both the public website and the admin panel. I can use server-rendered pages for better SEO, protected admin routes for content management, and API routes for connecting the frontend to Convex.
Convex stores my projects, blog posts, profile details, resume information, and uploaded file metadata. This means the public website can fetch real content instead of relying on static arrays inside the codebase.
One of the biggest lessons was keeping the public website and admin dashboard separate. The public side only shows published content, while the admin side lets me create drafts, edit details, and upload images.
loading code...
This portfolio is more than a personal website. It is also a small content management system that I can keep improving over time.