[verdict][curated prompt][source: datafa.st]
Can I vibecode DataFast?
// buildable in a weekend, but real gaps stay open
The pageview half of DataFast is the same weekend build as Plausible or Umami. The revenue half is where it stops being a weekend. Attribution is only worth anything if the anonymous visitor who found your launch post on a phone is still recognisably the customer who pays from a laptop three weeks later, and that stitching is exactly what an agent will hand you a naive version of. A localStorage id plus an email match at signup does get you a channel table that is directionally right for a single-domain solo product, which is genuinely worth having. It also quietly under-counts every cross-device path, every privacy browser that clears storage between visits, and every customer who pays with a different address than they signed up with. You can build the dashboard in a weekend. Trusting it enough to move ad spend is the part that keeps costing you weekends.
confidence: high
what it is: Web analytics that ties revenue back to the marketing channel that produced it
Buildability index · an editorial game
- Price 9 $/month weight: plus 1
- Time weekend for the dashboard, multi-day to trust the numbers weight: plus 2
- Category analytics no weight
- Moat integrations · infrastructure scale · execution quality weight: minus 4
- Confidence high weight: plus 1
- What you lose 5 items weight: minus 2
- Site datafa.st (si apre in una nuova scheda) no weight
The moat outweighs the price: rebuilding this is a project, not an evening.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
What you build
Record pageviews with their UTM and referrer channel, bind the anonymous visitor to a customer at signup, then take Stripe webhooks and show revenue per channel.
what you need
- hosted server
- database
- tracker script
- Stripe webhook secret
- domain/SSL
- bot filtering
The pageview counter is a weekend and the Stripe join is another one · the third weekend, where the numbers get trustworthy enough to spend money against, is the one that never ends.
The prompt
A weekend with a coding agent. The gaps that stay are right below, under “what you lose”.
Build me a revenue attribution dashboard for one site, to replace DataFast. Requirements:
- Node + Express + better-sqlite3, one process behind Caddy on my own VPS.
Server-rendered pages, no frontend framework, no build step.
- A tracker snippet under 2 KB: navigator.sendBeacon sends path, referrer and
any utm_* params, keyed to a first-party visitor id in localStorage. No
third-party cookies.
- Attribution is the whole point. Per visitor store first-touch and last-touch
channel, from utm_source/utm_medium/utm_campaign, else by parsing the
referrer host into google / x / reddit / hn / direct. Never overwrite
first-touch.
- An /identify endpoint I call after signup with the user's email, which binds
the anonymous visitor id to a customer row.
- A Stripe webhook for checkout.session.completed, invoice.paid and
customer.subscription.deleted: verify the signature, match on email, write
revenue against that visitor. Webhook secret and API key from .env.
- Dashboard on localhost behind one bearer token from .env: a channel table
with visitors, signups, customers, MRR and revenue per visitor over 7/30/90
days. Tables and one inline SVG bar chart, nothing else.
- Drop known bots against a user-agent blocklist before anything is counted. No
accounts, no telemetry, one SQLite file I can copy off the box.
- Out of scope: cross-device identity stitching, multi-touch models, the live
visitor feed, purchase-likelihood scoring, team seats and an MCP server. One
domain, single-touch, single-device.
- README: the script tag, the /identify call, `stripe listen` for testing
webhooks locally, and an honest paragraph on where the numbers lie · a
phone-to-laptop journey counts as two visitors, cleared localStorage counts
as a new one, and a customer who pays from a different address never matches
at all. Curated prompt: written and reviewed by hand for this app. In English on purpose — it is the language coding agents work best in.
What you lose
- identity stitching across devices, browsers and cleared storage
- bot and AI-crawler filtering that stays current without you
- one-click installs for Shopify, Webflow, WordPress and 20 other platforms
- the live visitor feed and purchase-likelihood scoring
- the hosted MCP server and CLI for querying the data in plain English
Why people still pay
An attribution number you do not trust is worse than no number, because you spend against it. Paying keeps someone else maintaining the bot filters, the Stripe and Shopify connectors and the retention window while you sell, and at $9 a month that is cheaper than the weekend each quarter you would spend keeping your own version honest.
moat: Integrations Infrastructure scale Execution quality what a moat is
payment-processor connectors, platform installs, and identity resolution
Free alternatives
Not in the mood to build it? These already exist, they are free or open source, and we checked them one by one.
Who has already built it
Starting from here is still vibecoding: the prompt is for when you want it exactly your way.
- PostHog (opens in a new tab) — Open source and self-hostable, with revenue analytics and channel attribution already built
- Plausible (opens in a new tab) — Open source analytics with goals and revenue goals; the Stripe join is still yours to write
- Umami (opens in a new tab) — Lightweight self-hosted analytics with UTM tracking and no revenue side at all
Do you agree?
The vote balance
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.