
Marketing OS — Admin Dashboard
What this project is
This is the internal admin & operations console for Marketing OS, an AI-powered
real-estate marketing platform that turns property listings into rendered video tours
and marketing assets. The platform runs a multi-stage media pipeline (image generation,
video generation, LLM vision/assistant steps, rendering, compositing, review, and
delivery) backed by a fleet of specialized workers and a queue of jobs.
This repository is not the customer-facing product. It is the back-office cockpit
that the team uses to operate that pipeline: watch system health, inspect and unstick
jobs, monitor third-party API integrations and worker fleets, track spend, manage
users and subscriptions, and keep an audit trail of every privileged action.
It is deliberately scoped as an internal ops tool for a small team (the founder plus
a small number of support/engineering hires) rather than a multi-tenant SaaS. It lives
at the
/internal/admin route of the broader application and is gated behind an admin
role claim.Who uses it and why
Three operator roles, enforced by a permission matrix:
Role Purpose Access superadmin Founder / lead operator Full read + write across every surface support Customer support hires Day-to-day user help, credit grants and refunds within capped limits developer Engineers Read-heavy access for debugging the pipeline; PII-sensitive surfaces redacted
Role is driven by a Firebase custom claim (
adminLevel) in production; a role switcher
exists for local/mock development. Capabilities such as impersonation, credit
adjustment, force-render, and user deactivation are checked against the matrix before any
action is allowed, and write actions are blocked for read-only roles.Core use cases
The dashboard is organized into operational areas, each a route under
/internal/admin:Infrastructure & health
Command Center — landing page with green/yellow/red status cards (queue depth, worker health, render pipeline, API integrations, failed jobs, storage) plus a live metrics strip (jobs processing/queued, throughput, render time, queue wait).
API Health — UP / DEGRADED / DOWN grid for every third-party dependency (image/video generation, OpenAI, ElevenLabs, Zillow, Firebase Auth, Stripe, SendGrid, S3) with latency and error charts and a list of jobs stuck waiting on an API.
Workers — per-worker-type heartbeat, queue depth, throughput, and error rate across the nine worker types in the pipeline.
Auto Scaling — scaling configuration and behavior for the worker fleet.
Jobs
Job Queue — the full operational queue with status/date/customer/template filters, problem-first sorting, and bulk actions (retry, cancel, override priority).
Job Inspector (
jobs/[jobId]) — per-job timeline of status transitions, a shot-by-shot breakdown (with per-shot API request/response, latency, and cost), a chronological log viewer, and admin actions to retry, cancel, or force a render.Costs
Cost Tracker — today/week/month/trailing-30-day spend, daily cost trend, breakdown by API service and by customer, all measured against a fixed monthly budget, with a budget-check cron route for alerting. Includes a dedicated API-cost ledger view.
Users & growth
Users — customer and editor account management with a rich detail dialog (profile, billing, payments, credits, listings, media library, activity, jobs). Actions include impersonation, credit adjustment (capped per support limits), resend verification, force sign-out, and deactivation.
Product Analytics — usage analytics surfaced from PostHog.
Early Access — early-access list management.
Feedback — collected user feedback.
Media & content
Batch Config and User Libraries — media pipeline configuration and per-user asset libraries.
Templates — the marketing/video templates jobs are rendered against.
Editor: Local Tours / Local Tour Jobs — editor-facing tour content and job views.
Observability & governance
Alerts — severity-ranked (critical/warning/info) alert feed with acknowledgement.
Error Logs — pipeline error reporting.
Audit Log — append-only record of every privileged admin action.
Settings — operator configuration.
Subscription model
The platform sells tiered subscriptions, reflected in the admin billing surfaces:
Starter ($149/mo), Growth ($349/mo), Marketing OS ($499/mo), and Marketing OS Pro
($999/mo), each with a monthly credit allotment and listing limit.
Technologies used
Framework & language
Next.js 16 (App Router) — note: this project pins a newer Next.js whose APIs and conventions differ from older releases; the canonical reference is the bundled docs in
node_modules/next/dist/docs/.React 19
TypeScript 5
UI & styling
Tailwind CSS 4 (via
@tailwindcss/postcss)shadcn/ui component primitives built on @base-ui/react
Lucide icons, Geist + Inter variable fonts, next-themes for dark/light theming, sonner for toasts, cmdk for command palette,
tw-animate-css, class-variance-authority, clsx, tailwind-mergeData visualization
Tremor — charts (cost trends, latency, throughput)
deck.gl (+ Google Maps overlay) — geospatial visualizations
@xyflow/react + dagre — node/graph (DAG) layouts for pipeline visualization
Backend, data & integrations
Firebase — authentication (custom
adminLevel claims), Firestore for jobs/audit data, with token refresh handled by a custom API clientAWS CloudWatch — infrastructure metrics (SQS/ECS/S3) via an internal infra-status aggregation endpoint
PostHog — product analytics
Nodemailer — email
The pipeline integrates external AI/media APIs (image generation, video generation, OpenAI, ElevenLabs), real-estate data (Zillow), payments (Stripe), email (SendGrid), and storage (S3)
Architecture notes
Feature flags (
src/lib/feature-flags.ts) gate surfaces that depend on backend infrastructure that may not be deployed yet (cost tracker, API-call instrumentation), and a mock-data mode lets the app run standalone without any backend env vars — enabling UI development and demos before real data sources are wired in.Role-based access control via a permission matrix and React context.
Audit logging of privileged actions as an append-only record.
Cron route (
api/cron/budget-check) for scheduled budget alerting; Vercel is the deployment target.Deployment
Deployed on Vercel, wired to real data through
NEXT_PUBLIC_FIREBASE_* and related
environment variables. Surfaces progressively "go live" as their backing infrastructure
ships, controlled by environment-driven feature flags rather than code changes.

0 likes · 13 views · Jun 22, 2026
Internal ops cockpit for Marketing OS monitor worker fleets, API health, and spend, unstick jobs, and gate every privileged action behind RBAC and an audit log.