Case study · Full Stack Development
Rotac Advisory — HR Consulting Website & Content Platform
Marketing website and custom CMS for a Lagos-based HR consulting firm. Built on Next.js 16, MongoDB and NextAuth, with an admin dashboard for services, blog, case studies, testimonials and inbound leads.

Rotac Advisory is a Lagos-based HR consulting firm that works with startups, SMEs and corporates on recruitment, HR outsourcing, training, people analytics and employee engagement. I built their public website and the admin system behind it as a single Next.js application.
Public website
- Next.js 16 App Router site with Home, About, Services, Blog, Testimonials, Contact and legal pages. Service and blog detail pages are generated dynamically from the database.
- A navy-and-teal brand system built with Tailwind CSS v4, shadcn/ui and Framer Motion.
- Every page leads to booking a consultation. Leads can come through a validated contact form, WhatsApp click-to-chat, phone or email.
- SEO basics: per-page metadata, Open Graph and Twitter cards, and structured data for the firm and its services.
Admin dashboard (custom CMS)
- Full create, edit and delete for services, blog posts, case studies and testimonials. Blog posts are written in a rich-text editor, and every page has its own SEO fields.
- A contact-submissions inbox where the team tracks each inbound lead by status.
- Site-wide settings (company details, contact info, social links, SEO defaults) that can be changed without redeploying.
- Data tables built with TanStack Table and a dashboard overview with Recharts.
Backend and infrastructure
- REST API built on Next.js route handlers, with MongoDB through Mongoose and Zod validation on every write.
- NextAuth credentials login with bcrypt-hashed passwords. Edge middleware protects every /admin route.
- Transactional email through Resend with React Email templates, for new-lead alerts to the team and password resets.
Why it mattered
The client needed to come across as an established advisory firm, with client logos, testimonials, results metrics and case studies. They also needed to run their own content without calling a developer for every change. Putting the site and the CMS in one Next.js codebase gave them both without a separate backend to host and maintain.
Stack: Next.js 16, React 19, TypeScript, Tailwind CSS v4, shadcn/ui, Framer Motion, MongoDB/Mongoose, NextAuth, Resend + React Email, TanStack Query/Table, Zod.