The situation.
Cleangirl sells cleaning products to a 25-million-follower creator audience. Growth looked healthy by every platform’s internal dashboard, but none of the dashboards agreed with each other. The Shopify number and the Amazon number told two different stories about the same customer. The Klaviyo report and the Meta attribution told three.
By the time the team was reviewing week-over-week, it was already Friday, and the numbers on screen had been reconciled by hand in a Google Sheet that nobody fully trusted.
“Every platform had its own truth. Daniel built us one, and then the rest of the stack followed.”
What I built.
1. The unified database
A single Postgres instance became the source of truth. Every order, customer, subscription event, inventory movement and ad impression lands there, reconciled against a canonical customer identity resolved across email, phone, and platform IDs.
2. Custom Liquid Shopify theme
The frontend was rebuilt in Liquid to match how the product actually sold. Subscription-first, bundle-aware, creator-content-native. No theme builder was going to get the conversion flows right.
3. Subscription economics for Magic Foam
A cohort model that projects LTV, churn curves, and contribution margin per subscriber, by acquisition channel, by content creator, by gifting campaign. It’s the model the team plans inventory against.
4. Influencer gifting automation
Gifting had been a Google Sheet and a Slack channel. I replaced it with a workflow inside the internal app: list management, address validation, fulfillment triggers, and post-send performance tracking tied back to the creator’s UTM. Scales with the audience, not the operator.
5. 3PL bill auditing
The 3PL bills were dense. Line items didn’t always match what was fulfilled. I wrote a job that
reconciles every invoice line against the actual warehouse events in Postgres and flags overcharges.
Recovered $18,400 in the first 90 days, and keeps running.
6. Hourly sales tracker
A sales dashboard that updates hourly rather than daily, built because the team operates in viral-content time, not business-day time. When a TikTok is taking off at 11pm, you want to know by midnight whether inventory is going to survive Saturday.
The timeline.
- Weeks 1–2Stack auditMap every tool, every data source, every disagreement. Write a fixed scope.
- Weeks 3–6Unified Postgres + dbt modelsIngest, reconcile, publish canonical tables. Ship Metabase v1 in parallel.
- Weeks 6–10Custom Shopify themeLiquid rebuild for subscription and bundle flows.
- Weeks 8–14Operator toolsGifting workflow, 3PL auditing, hourly sales tracker. Iterate with ops lead weekly.
- OngoingSubscription model + LTVMagic Foam cohort modeling refined every cycle.
What it proved.
The architecture works. A single operator can stand up a production-grade data layer for a business with real scale: not just a dashboard, but the source of truth the rest of the company plans against. That playbook is what Dandelion now runs as a service.