UGC Reactions from Real Creators
Real creator library videos at $11 and images at $8. Custom production from $25/video with a $250 minimum. Commercial licensing included.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Opensource Revenue-first analytics for indie hackers & solo founders
翻訳待ち
Loading the full README.
Read the full README ↗Revenue-first web analytics for your own websites, inspired by DataFast. It shows where visitors came from (which tweet, article, Google page or AI assistant), what they did, and which source made you money. It runs on Cloudflare's free plan.
utm_campaign), keyword (utm_term), ?ref= tagsM): every visitor on your site right now, on a 3D globe or 2D map, with a live feed of page views, goals and payments, optional sounds, light/dark map and fullscreen. Map tiles from OpenFreeMap, free with no API keyEvery person deploys their own copy on their own free Cloudflare account. Your data stays on your account, and you get your own dashboard with its own password.
You need a free Cloudflare account, Node.js 20+ and Git. Run these commands in a terminal on your computer. You only do this once; afterwards the app runs on Cloudflare.
1. Download the code and log in to Cloudflare
git clone https://github.com/surendrapandar/minilytics.git
cd minilytics
npm install
npx wrangler login # opens your browser; click "Allow"
2. Create the database
npx wrangler d1 create minilytics
If Wrangler asks "Would you like Wrangler to add it on your behalf?", answer No. Answer No to the optional
"Cloudflare skills" questions too. Then copy the printed database_id and paste it into wrangler.jsonc, replacing
00000000-0000-0000-0000-000000000000. There must be exactly one entry under d1_databases, with "binding": "DB".
3. Set your password and a signing secret
npx wrangler secret put ADMIN_PASSWORD # the password you'll log in with (use a strong one)
npx wrangler secret put SESSION_SECRET # any long random text, e.g. the output of: openssl rand -hex 32
Typing is hidden; that's normal. If asked "There doesn't seem to be a Worker called minilytics… create it?", answer Yes.
4. Deploy
npm run deploy
This builds the dashboard, creates the database tables and deploys. It prints your link, e.g.
https://minilytics.<you>.workers.dev. Open it, log in, add a website and copy its script tag. Each site's Settings
page also has a Copy AI prompt button that lets Claude Code / Cursor do the install in your codebase for you.
If you see fetch failed, it's a network hiccup (VPN, proxy, Wi-Fi). Run npm run deploy again.
You can attach a custom domain such as analytics.yourdomain.com in Cloudflare → Workers & Pages → minilytics →
Settings → Domains & Routes.
Updating later
git stash # keeps your database_id edit in wrangler.jsonc safe
git pull
git stash pop
npm run deploy
| Cloudflare free limit | What it means here |
|---|---|
| 100,000 Worker requests/day | About 100k tracked events per day across all sites. The script and dashboard files are static and don't count. |
| 100,000 D1 rows written/day | About 10k pageviews per day |
| 5M D1 rows read/day | A dashboard load reads roughly 10 times the sessions in the range, so with 10k visitors/month that's hundreds of loads a day |
| 5 GB D1 storage | Years of data at side-project traffic |
At 5–10k visitors a month you'll use a few percent of this. If you outgrow it, Cloudflare's Workers Paid plan is $5/month.
By default Minilytics is single-user with a password. Set the Google values below and it becomes a hosted product: a landing page with pricing, Sign in with Google, a paid plan through Dodo Payments, and every customer sees only their own sites. Tracking stops (quietly) for sites whose owner's plan has ended.
This is the beginning of the README. Read the rest at the original. Read the full README ↗