Overview
LIVE
Showing: All time
Active Creators
Live Templates
Downloads
Total Created Accounts
Paying Users
GROWTH
CHURN
Live Templates over time
Quick Actions
System Status
Checking services…
Template Queue
or
🎶
No pending creator templates.
🔍
No pending videos. Run the scraper to find new dances.
Nothing generating right now.
No videos ready to publish yet.
🎉
No templates published yet.
Creators
Joined between
Creator Category Templates # Posts Revenue # Referred Users Credits Status
Loading creators…
Users
Joined between
User Login / Platform Email Phone / TikTok Location Joined Last active Generations Plan Credits Status
Loading users…
Generations
Unaccounted Assets
The reconciliation state has not been read yet
This card fills in as soon as the server answers. If it never does, the button below still works.
What this screen is. We ask Cloudinary to list every file it is storing for us, then ask our own records to explain each one: a generation, a template, an upload log, a creator's avatar. Whatever is left over — the files nothing we store mentions — is listed here.

Being listed does not mean a file is broken, unused, or bad. It means only that we cannot say what it is for. Most of these are ordinary photos and videos whose paperwork went missing: the mobile app uploads selfies straight from the phone to Cloudinary, so the server never saw that request and no record of it could ever have existed. Some are from before we kept records at all. Some belong to a different product that shares this Cloudinary account, and those are marked and cannot be deleted from here.

Each row carries our best explanation, labelled Known cause, Likely cause or Guess — a guess is only a guess, and is never worth chasing as if it were a finding. If you are looking for one specific file, use Look it up below: a file that is healthy is absent from this list, and absent looks exactly like missing.
Uploaded between
Reconciling against Cloudinary…
Creator Categories
ℹ️ Changing a creator's category updates their revenue share immediately (not retroactive to previous months).
Category Monthly Posts Min New Paid Users Min Referrals Referral % Referral Period Payout per Generation Creators
Loading categories…
Payout Rules & Queue
Global Payout Rules
Pending Payouts
Total due: $0.00
Loading payouts…
Traffic Source
LIVE
By Platform — total visitors
TikTok
utm_source=tiktok
— revenue · — paid
Visits
Tried
Paid
Instagram
utm_source=instagram
— revenue · — paid
Visits
Tried
Paid
WhatsApp
utm_source=whatsapp
— revenue · — paid
Visits
Tried
Paid
App Direct
utm_source=app
— revenue · — paid
Visits
Tried
Paid
Twitter / X
utm_source=twitter
— revenue · — paid
Visits
Tried
Paid
Facebook
utm_source=facebook
— revenue · — paid
Visits
Tried
Paid
Blog
utm_source=blog
— revenue · — paid
Visits
Tried
Paid
ViralHooks
utm_source=viralhooks
— revenue · — paid
Visits
Tried
Paid
DanceIncome
utm_source=danceincome
— revenue · — paid
Visits
Tried
Paid
PartyHooks
utm_source=partyhooks
— revenue · — paid
Visits
Tried
Paid
By Page
Try
Visits
Tried
Paid
— visits — tried — paid
Creator Dashboard
Visits
Tried
Paid
— visits — tried — paid
My Videos
Visits
Tried
Paid
— visits — tried — paid
My Promo Videos
Visits
Tried
Paid
— visits — tried — paid
Share Landing
Visits
Tried
Paid
— visits — tried — paid
User Access Management
Loading admin users…
System Settings
Feature Flags
Google OAuth Login
Apple OAuth Login
TikTok OAuth Login
Creator Signups
New User Registrations
Solo-only Creator Imports
Mobile Cloudinary Preview
Financial Overview
Loading…
Gross Revenue
total collected
Total Costs
all categories
Net Revenue
gross − costs
Margin
net ÷ gross
Loading…
Affiliate Program
Loading…
Promo Codes
A code can be redeemed once per account. Editing a code's credit value only affects redemptions made after the change — past redemptions keep the amount they were granted. Codes are paused rather than deleted so their usage history is never lost.
Loading…
Data & Safety
Store health, volume space, off-volume backups, whole-deployment export/import and creator recovery. Anything that can change or delete data runs as a DRY RUN first and then needs a typed confirmation that spells out what changes — no single click on this screen destroys anything.
Store health
Loading…
A store marked lost is a one-way trap: writes are refused to protect what is still on disk, so no .bak is ever written and every backup taken after the damage records the file as unreadable. It cannot recover on its own — repair it here.
Loading…
Railway volume usage
Loading…
Loading…
Reclaim space
Deletes pipeline scratch, staged media whose durable copy is in Cloudinary, scraped downloads no store references any more, and expired import artifacts. Lowering the import artifact age shortens the window in which an import can still be rolled back.
Off-volume backups
Loading…
Loading…
Export everything
A gzipped tar of every store, restorable here or on another deployment.
This restores state, not assets
Durable media lives in Cloudinary and is referenced by URL from inside the stores. Selfies, scraped video and audio on the volume are scratch and are not in the archive — it does not survive losing the Cloudinary account.
Loading preview…
Import an archive
Import replaces whole files — it never merges
Each store in scope is replaced in its entirety. A real apply also signs everyone out (sessions are not in a default export). The file it replaces is kept as a .preimport- snapshot for 7 days, which is the whole rollback window.
Step 1
Validate — writes nothing
Step 2
Dry run the apply
Step 3
Apply for real
Import history
Loading…
Loading…
Creator integrity
Loading…
Cross-references every store that names a creator id against creators.json. An id other stores still reference but the creator store no longer has is proof of loss, not a fresh install.
Loading…
Rebuild lost creators
Reads RevenueCat, Stripe and Firebase — this one is not automatic.
Rebuilds missing creators under their original ids so the stores referencing them line up again. It never overwrites a creator that exists. A row rebuilt with no email cannot reconnect anyone — sign-in matches on email — so Undo exists to drop reconstructed rows that carry nothing.
Click “Build plan” — it calls external APIs and can take a minute.
Billing & Activity
From To
Kling $/gen Music $/gen
Showing: All time
Loading billing data…
Group by:

ℹ️ Creator payout = per-run $ × template runs in app. Live run counts require app backend integration.

Start Scrape

Run the scraper with today's hashtags + keywords

Videos · Min likes (default 10K)

Add Manual URL

Paste a TikTok dance URL to add it directly

Manage Hashtags

Add hashtags for future scraping runs

Creator Payout Settings

Set how much creators earn per template run