Personal Portfolio CMS
Dynamic Portfolio Fusing Software Engineering & Editorial Art
A production Next.js 16 and Express REST application powered by Cloud Firestore and ImageKit CDN.

Overview
Designed to solve the problem of static portfolio maintenance by delivering a fully dynamic, CMS-backed dual identity platform for software developers and digital artists.
Problem
Traditional portfolios either showcase code projects OR creative artwork, forcing multi-disciplinary engineers into rigid single-track presentations with static deployments.
Solution
Engineered an architectural framework combining a headless Node.js/Express API server, Firebase Admin SDK, and Next.js App Router for dynamic Server Component rendering.
Challenges
Handling hydration consistency across dynamic server-rendered theme variables and responsive image aspect ratios.
Results
A fully backend-driven dynamic portfolio with no redeploys needed to update content.
Features
Dynamic CMS Control
Real-time editing of bio, projects, artworks, experience, and theme tokens without redeploying code.
Hide Empty Sections Engine
Automated backend section computation preventing blank visual containers.
OpenAPI Swagger UI
Mounted interactive OpenAPI 3.0 API documentation at /api-docs.
Architecture
Clean repository-service-controller design separating presentation, domain business rules, and Firestore persistence.

Workflow
End-to-end client request lifecycle from Next.js Server Components down to Firestore document queries.
Server Component Fetch
Next.js Server Component initiates fetch request to backend public API.
Repository Evaluation
Firestore repository executes cached document query and applies status filters.
Section Calculation
Validator logic computes section availability flags before returning response.
API
REST API endpoints relative to /api/v1.
List published development projects
Get project details by slug
Gallery


