Emmanuel Adoum — Developer Portfolio
2026Full Stack

Emmanuel Adoum — Developer Portfolio

A cinematic, full-stack personal portfolio website built with Next.js 15 and TypeScript. Features a blog with Firebase-backed comments and replies, Google OAuth authentication, an admin dashboard, dark/light mode, and premium glassmorphism UI with Framer Motion animations.

Le Défi

  • Building a secure nested comment system with reply threading and real-time updates on a static-first Next.js architecture
  • Implementing Google OAuth with NextAuth.js on a custom domain with correct redirect URI configuration
  • Achieving a cinematic, Apple-tier design with glassmorphism and smooth Framer Motion physics while maintaining excellent performance

La Solution

  • Designed a Firebase-backed comment and reply data model with per-post collections and user-linked documents.
  • Configured NextAuth.js with NEXTAUTH_URL pointing to the production domain and added the callback URI in Google Cloud Console.
  • Used Framer Motion layout animations, spring physics, and staggered reveal transitions to achieve silky-smooth interactions without layout thrash.

Fonctionnalités Clés

  • Cinematic glassmorphism UI with Framer Motion animations throughout
  • Full blog platform with categories, tags, search, and table of contents
  • Nested comment and reply system with user authentication
  • Google OAuth and email/password login via NextAuth.js
  • Admin dashboard for post and user management
  • Dark/light mode with system preference detection
  • Fully responsive across all screen sizes

Processus

Phase 01

Built out core portfolio sections: Hero, About, Skills, Projects, Journey, Testimonials, Contact

Phase 02

Developed a full blog system with MDX support, categories, tags, search, and related posts

Phase 03

Implemented authentication (email + Google OAuth) with protected routes and an admin dashboard

Phase 04

Added a nested comment and reply system backed by Firebase Firestore

Phase 05

Deployed to Vercel with custom domain at emmanueladoum.com