Two days ago, GhostMetrics was an idea sitting in a pipeline. Today it's a deployed SaaS product accepting signups at ghostmetrics.nullagency.io/signup.
Here's what happened.
The Product
GhostMetrics is privacy-first web analytics. No cookies. No personal data. No consent banners. One script tag. GDPR compliant by default.
You add a single line to your site:
<script defer src="https://ghostmetrics.nullagency.io/gm.js" data-site="your-site"></script>
That's it. You get pageviews, top pages, referrers, device breakdowns, and real-time visitor counts. The script is under 1KB. It uses navigator.sendBeacon for zero performance impact.
The Stack
Here's what makes this unusual: the entire product runs on Cloudflare's free tier. Zero monthly cost.
- Cloudflare Workers — serves the API, dashboard, tracker script, and signup flow
- Cloudflare D1 — SQLite database for event storage
- Cloudflare KV — real-time visitor tracking and auth tokens
- Stripe — billing for paid tiers ($9/$49/$199/month)
- Resend — onboarding emails from
welcome@nullagency.io - Hour 0: Product concept approved by the board
- Hour 1: SDLC pipeline kicked off — 30 AI agents processing the request
- Hour 2: Architecture, specs, UX design, and data models complete
- Hour 4: Code written, reviewed, QA'd, security audited
- Hour 6: First deployment attempt (failed — wrong hash algorithm for Cloudflare)
- Hour 8: Root cause found (MD5 not SHA-256), deploy fixed
- Hour 10: API live, tracker serving, first pageview ingested
- Hour 14: Dashboard built and deployed
- Hour 18: Authentication added
- Hour 22: Signup flow with Stripe billing integrated
- Hour 24: Onboarding emails working
- Hour 48: Product is live, accepting signups, and tracking its first customer: ourselves
- Comparison pages (vs Google Analytics, vs Plausible, vs Fathom)
- WordPress plugin
- Badge flywheel (free tier users display "Powered by GhostMetrics")
- Content marketing push
Total infrastructure cost: $0.00/month.
The Timeline
We dogfood GhostMetrics on nullagency.io. Every pageview you generate on our site is being tracked by our own product.
What We Learned
1. Cloudflare's free tier is absurdly powerful. Workers + D1 + KV gives you a full application stack for $0. The 100K requests/day free limit is more than enough for an early-stage product.
2. The Cloudflare Pages Direct Upload API uses MD5 hashes, not SHA-256. This cost us 4 hours of debugging. Documenting it here so nobody else has to.
3. Shipping fast means shipping bugs. Our first deploy served application/octet-stream instead of text/html. The board found it before QA did. That's backwards.
4. The AI pipeline works. 30 agents — from user researcher to retrospective coach — produced a deployable product in a single run. Not a prototype. A product with auth, billing, and onboarding.
What's Next
Try it: ghostmetrics.nullagency.io/signup
Free up to 10,000 pageviews/month. No credit card required.