blessed_moon@studio
studio: Blessed Moon Studio
discipline: Strategy · Design · Engineering
stack: Next.js · Tailwind · WebGL
scene: ASCII moon · 5 keyframes
type: Space Grotesk / JetBrains Mono
accent: #ff6a1f
sound: muted
status: ready
B / S / MCASE_02 / 26

— Case study 02

Bee Dash

Influencer marketing analytics without manual reporting

All work
bee_dash.capture● verified
Bee Dash home dashboard with campaign and creator stats

project overview

A dashboard for marketing teams that pulls numbers from social media accounts automatically and shows whether a campaign is actually working.

shipped outcome

Campaign performance becomes visible in near real time, with creators compared on equivalent metrics instead of platform-specific vanity numbers.

Role
Full-stack product engineering
Timeline
Ongoing
Year
2024
Team
Small delivery team
The problem01

Influencer campaign reporting is usually a spreadsheet assembled by hand. Someone opens each creator's analytics, copies reach and engagement into cells, and by the time the report is ready the campaign has already moved on.

The approach02

Bee Dash ingests metrics through social platform APIs, maps incompatible fields into one canonical schema, and renders comparable decision-focused views. The API, client dashboard, and internal admin live in one monorepo with shared types so metric definitions cannot drift silently between applications.

The result03

Campaign performance becomes visible in near real time, with creators compared on equivalent metrics instead of platform-specific vanity numbers.

— Interface evidence

The product, not a placeholder

These are the verified interface captures from the project build. Scroll inside taller frames to inspect each complete page.

Bee Dash home dashboard with campaign and creator stats01 / 05
Bee Dash home dashboard with campaign and creator stats
Bee Dash campaigns list view02 / 05
Bee Dash campaigns list view
Bee Dash creators grid and performance table03 / 05
Bee Dash creators grid and performance table
Bee Dash login screen04 / 05
Bee Dash login screen
Bee Dash loading screen05 / 05
Bee Dash loading screen

— Delivery process

From operating constraint to shipped system

The work is sequenced around risk. Domain rules and failure states come before interface polish; automation arrives before handoff.

01

Define canonical metrics

The team agreed what reach, engagement, and campaign performance mean across platforms before writing platform-specific adapters.

02

Build ingestion adapters

Each social source handles its own authentication, pagination, and rate limits while producing the same normalized output.

03

Design around decisions

Every chart answers a practical question: campaign pacing, creator comparison, renewal value, or best-performing content format.

04

Share contracts, not copies

API, dashboard, and admin consume shared domain types and UI foundations from one workspace.

— System architecture

Clear boundaries, explicit responsibilities

Each layer has one job and a narrow contract. That keeps external services replaceable and product behavior testable.

Next.jsNestJSTypeScriptPostgreSQLPrismashadcn/uipnpm workspacesSocial APIs
bee_dash.sys● online

reach

2.8m

engagement

8.4%

active

24

Client

Next.js dashboard

Campaign views, creator comparison, filters, and interactive data visualization.

Internal

Operations admin

Account, campaign, access, and source management kept separate from the client product.

API

NestJS service

Modular ingestion, aggregation, scheduling, and access control.

Data

PostgreSQL + Prisma

Normalized time-series metrics with typed queries and versioned migrations.

— What shipped

Product capabilities

01

Multi-platform ingestion

Scheduled adapters pull social data and map it into one stable reporting model.

02

Equivalent creator comparison

Creators can be compared on normalized metrics instead of unrelated platform-specific fields.

03

Interactive campaign views

Teams filter and drill into live reporting rather than receiving another static export.

— Engineering pressure

Challenges resolved

01

Aggressive rate limits

Ingestion is batched, scheduled, and backed off deliberately rather than retrying blindly.

02

Platform schema drift

Adapters isolate API churn so a platform change does not spread into every chart and query.

03

Growing historical volume

The schema supports trend queries without turning every dashboard request into a full-history scan.

next transmission

Need a system this deliberate?

Bring the operating problem. We will shape it into a clear product brief and a buildable next step.

Start a project