Full Stack/ Client work/ 2026
OOH Campaign Dashboard
The OOH Campaign Dashboard is a production-grade operations system for agency teams. It supports agency-client-campaign hierarchy, role-based access, MySQL-backed campaign inventory, manual campaign entry, photo proof workflows, audience reporting, and export-ready client dashboards.
Open live project

Project typeClient delivery
StatusMulti-tenant agency platform
FocusFull Stack
Delivered scope
- Includes agency, campaign-manager, client, viewer, photographer, and super-admin workflows.
- Handles photo proofs, plan-vs-delivery sheets, audience metrics, campaign maps, reports, and client-facing dashboards.
- Uses Prisma/MySQL migrations, secured sessions, upload protection, Google integrations, and production deployment scripts.
Technology
Next.jsReactPrismaMySQLTailwind CSSGoogle APIs
System approach
- Frontend: Next.js 16 App Router with React 19, Tailwind CSS 4, interactive maps, charts, and dashboard components.
- Backend: API routes and server utilities handling clients, campaigns, photo proofs, settings, auth, reports, and workflow state.
- Database: Prisma with MySQL migrations for agencies, clients, users, campaigns, inventory, proof stages, audience settings, and audit logs.
- Reporting: Excel/Google Sheet imports, PDF/PPT exports, Google Drive photo sync, and scheduled pending-proof reports.
Challenges
- Supporting multiple agency roles while keeping client dashboards scoped to only the correct campaign data.
- Combining spreadsheet imports, manual entry, photo uploads, campaign status, and reporting into one operational flow.
- Securing uploads, sessions, invites, and high-value campaign data for production hosting.
Solutions
- Implemented role-aware sessions with HMAC cookies, bcrypt passwords, scoped agency/client routes, and protected API handlers.
- Built a flexible campaign model that supports imported inventory, manual campaign layouts, custom fields, proof stages, and audience overrides.
- Added Zod validation, rate limits, security headers, audit logs, Drive/photo helpers, and deployment scripts for Pterodactyl/VPS hosting.
Key outcomes
01
Multi-tenant campaign ops
02
Role-based dashboards
03
Proof and reporting workflows