dailypulse

six dashboards → one founder emailinteractive demo · synthetic data

The report a founder actually reads: what went in, what came out, where the funnel leaks, and who to call before lunch.

This is a working daily marketing report. Pick a scenario day and the engine compiles CRM + ads + analytics into the email below — flagging funnel leaks against baseline, leads gone cold past SLA, and refusing to show numbers it can't stand behind.

Pick the day the report wakes up to

Same engine, same rules — only the input day changes. In production this compiled every morning at 08:00 and arrived by email before the workday started.

The business story

Why this system exists

A solo marketing operator at a B2B SaaS can't open Google Ads, Meta, the CRM, the email tool, and web analytics every morning and still notice the thing that matters. The numbers existed; the synthesis didn't. Meanwhile the founder's question was never "what was our CTR" — it was "are we getting demos, and if not, where exactly does it break?"

What I built (the production original)

A scheduled job that pulled every channel's API each morning and sent one email at 08:00 IST, framed Input → Output → Outcome — spend and sends first, leads second, and demos booked as the number the whole report answers to. It ran on managed infrastructure (not my laptop), kept a daily funnel snapshot for honest day-over-day deltas, and had a watchdog that alerted if the report itself failed to send — a report you can't trust to arrive is a report you stop reading.

The judgment calls

What went wrong along the way

An early version computed day-over-day deltas against whatever snapshot existed — until a dead snapshot job made a flat week look like growth. That incident produced the freshness guard this demo runs (try the stale-data scenario above). A later audit also removed a WhatsApp inbound metric entirely: the counting method was misleading, and omitting it honestly beat reporting it wrong.

What I'd change today

The baseline should be a rolling computation with seasonality awareness rather than a fixed window, and the ranked actions should track their own hit rate — did yesterday's "call this lead" hypothesis convert? — so the report learns which of its own suggestions deserve rank.