Full-Stack
Portfolio CMS
Next.jsFirebase AuthFirestoreTypeScript
← All Projects
Overview
Editing portfolio content used to mean redeploying code for every text change. Built an auth-gated /dashboard with a single, reusable CollectionManager component driven by a field-schema config — the same component powers CRUD for Skills, Projects, and Experience by just changing which fields it's given, rather than writing three separate forms. Firestore handles storage, so content updates ship instantly without touching the codebase. Also includes a lightweight analytics view and an inbox for messages submitted through the site's contact form.