ecomrestack
Calculate my stack
open slot€49/30 days · first month

Can I vibe code Plausible?

plausible.io · analytics · $9/mo · subscription

The verdict

YES — VIBE CODE IT

Plausible charges $9 to $19/month for up to 10k–100k pageviews. What you pay for is not the UI—it is the operational overhead of running a ClickHouse cluster, managing ad-blocker domain rotation, and processing millions of raw HTTP ingests without dropping events. The software itself is open source under AGPL. Rebuilding the UI and ingestion API with AI takes days using modern time-series databases. However, hosting an ingest pipeline that guarantees sub-second dashboard queries while ingesting 500 events per second costs more in engineering hours and cloud infrastructure than paying Plausible's $19/month Business tier. If you have low traffic, self-hosting their existing open-source repository is infinitely smarter than prompting a custom build. If you have high traffic, managing the ClickHouse cluster will eat your weekend.

Replaces
$19/mo
MVP build time
1 week
Full replacement
3-6 months
Verdict
YES

What it really costs

Entry$9/moTypical store$19/mo✔ verified · 2026-08-04
Starter$9/mo1 site, 10k monthly pageviews, 3 yrs retention
Growth$14/moUp to 3 sites, up to 3 team members, embedded dashboards
Business$19/moUp to 10 sites, 10 team members, 5 yrs retention, revenue attribution, funnels, API
Enterprisefree / quote10+ sites, SSO, Sites API, custom pageview volume

Billed by pageviews/custom events. 10k pageviews/mo entry. Save ~16% on annual billing. Open-source self-host option is free.

Where this number comes from
Captured
2026-08-04 (3 days ago)
Verified by
human

Assumptions: Billed by pageviews/custom events. 10k pageviews/mo entry. Save ~16% on annual billing. Open-source self-host option is free.

The one-shot build prompt

The one-shot build promptbuild it on Lovable
Build a privacy-first, cookieless web analytics server and tracking script using Node.js/Fastify, TypeScript, and ClickHouse.

DATA MODEL (ClickHouse):
- Table `events`: `timestamp` (DateTime64), `site_id` (String), `name` (String, default 'pageview'), `domain` (String), `url` (String), `referrer` (String), `referrer_source` (String), `browser` (String), `os` (String), `device_type` (Enum: 'desktop', 'mobile', 'tablet'), `country_code` (FixedString(2)), `screen_size` (String), `user_id_hash` (UInt64, daily rotating hash of IP + UserAgent + Salt), `revenue` (Nullable(Decimal64(2))), `currency` (Nullable(FixedString(3))), `props` (Map(String, String)).
- Engine: `MergeTree()` ORDER BY (`site_id`, `timestamp`, `name`).
- Partition key: `toYYYYMM(timestamp)`.

INGESTION API:
- POST `/api/event`: Parse incoming JSON payloads containing `url`, `referrer`, `screen_width`, `event_name`, `props`, and optional `revenue`.
- Calculate `user_id_hash` using `CityHash64(IP + UserAgent + DailySalt)`. Never store raw IP addresses or persistent cookies.
- Parse `User-Agent` to extract OS, Browser, and Device Type using a lightweight regex parser.
- Perform GeoIP lookup using MaxMind GeoLite2 reader to derive `country_code`.
- Buffer incoming events in memory using a batching queue (insert into ClickHouse every 1,000 events or 2 seconds). Respond to client with `202 Accepted` immediately.

TRACKING SCRIPT (js/script.js):
- Lightweight tracking snippet (<1.5KB).
- Automatically capture pageviews using `history.pushState` monkey-patching for Single Page Applications.
- Collect `document.referrer`, `window.location.href`, and screen width.
- Expose `window.plausible(eventName, options)` to support custom goal and ecommerce tracking (e.g., revenue, order ID).
- Ignore requests if `navigator.doNotTrack == "1"` or if running on `localhost`.

DASHBOARD & QUERY ENGINE:
- GET `/api/stats/aggregate`: Query aggregate total pageviews, unique visitors (`uniqExact(user_id_hash)`), bounce rate, and average session duration for a date range.
- GET `/api/stats/timeseries`: Return bucketed interval time-series data for total pageviews and unique visitors.
- GET `/api/stats/breakdown`: Return grouped metrics by `referrer_source`, `url`, `country_code`, `browser`, `os`, and `device_type`.
- GET `/api/stats/funnel`: Calculate sequential conversion step completion based on ordered array of event names within a user session.
- GET `/api/stats/revenue`: Calculate sum of `revenue` grouped by custom property or source.

OUT OF SCOPE:
- User session cookie management (strictly cookieless).
- Raw IP storage or user fingerprinting that persists longer than 24 hours.
- Machine learning or predictive traffic forecasting.
- Complex user journey heatmaps or session replay videos.

FAILURE MODES TO HANDLE:
- ClickHouse connection timeout: Buffer events in a Redis fallback queue or in-memory array up to 50,000 items before dropping to prevent app crash.
- Bot traffic detection: Filter out automated scrapers matching common bot User-Agent strings before pushing to ClickHouse.
- Daily Salt Rotation: Ensure the daily salt changes strictly at 00:00 UTC so unique visitor hashes do not correlate across multiple calendar days.

$ each button prefixes agent-specific run instructions · build your own product, never copy proprietary code, trademarks or designs

Scorecard

Vibe code score7/10
Moat strength3/10
Technical difficulty7/10
Operational burden8/10
Integration depth4/10
Data advantage3/10
Network effects1/10
Compliance load8/10

What you can actually replace

  • Cookieless pageview tracking script (<1KB tag)
  • Real-time visitor and pageview count dashboards
  • Referrer, browser, country, and device breakdowns
  • Custom goal and basic e-commerce revenue tracking
  • Funnel step conversion tracking
  • Basic email/Slack traffic digest reports

What you lose

  • ×Managed ClickHouse database operations, query tuning, and index optimization.
  • ×Automated proxy domain rotation to minimize ad-blocker script suppression.
  • ×Managed multi-tenant user access control, team permissions, and dashboard embedding options.
  • ×Guaranteed 99.9% uptime for script delivery and event ingestion endpoints.
  • ×Pre-built integrations with Google Search Console and Looker Studio.
  • ×Out-of-the-box compliance peace of mind backstopped by an established European company.

Why people still pay — the real moats

Moats

  • Operational infrastructure that keeps ClickHouse responsive under massive concurrent event ingestion.
  • Maintaining first-party proxy routes and custom domain features to remain unblocked by uBlock Origin and Brave.
  • Zero-cookie legal positioning and clear GDPR/CCPA compliance documentation vetted by privacy auditors.

Hard parts

  • Querying unique visitors across millions of events fast without using persistent cookies requires hyper-optimized ClickHouse aggregation functions like uniqExact.
  • Buffering high-throughput incoming HTTP logs to prevent ClickHouse merge tree mutation bottlenecks.
  • Achieving strict cookieless daily unique visitor counting using pseudo-anonymous IP + UserAgent hashing that resets at 00:00 UTC.
  • Keeping the embedded tracking script strictly under 1KB while handling SPA routing changes and custom event payloads.
  • Managing ClickHouse disk I/O, partition pruning, and column mutations during rapid data growth.
  • Handling massive traffic spikes from viral posts without dropping raw HTTP events or saturating memory buffers.
  • Maintaining custom domain proxies and rotating CNAME setups to bypass aggressive ad-blockers and browser privacy filters.
  • Managing data retention policies and scrubbing PII to maintain strict GDPR compliance without cookie consent banners.

Build this instead

Embedded ClickHouse Event Pipeline

A single Elixir/ClickHouse binary that compiles into your app or runs as a sidecar, writing cookieless HTTP log events directly to ClickHouse with zero network latency.

Server-Side Revenue Attribution Proxy

An analytics tag that calculates real-time UTM, search, and social ROI using ClickHouse materialized views without running full GA4 cookie consent scripts.

One-Click Infrastructure Sidecar

An AGPL-compliant self-hosted analytics stack packaged as an immutable Docker image with automated ClickHouse schema migrations and daily S3 backup scripts.

Prior art — do not start from zero

Open source alternatives to Plausible

Self-hostable projects that cover most of the same ground. Free licence, your infrastructure, your on-call.

Have you actually replaced it?

Community verdict

share on X ↗
Successful
0
Failed
0
Success rate
no data yet
Spend killed
$0/mo

Related products in this category

FAQ

+Can I really replace Plausible with an AI-generated app?

YES — THE CODE IS EASY, THE AGPL REPO IS FREE. Plausible's codebase is fully open source, and the core analytics engine is simple to replicate with ClickHouse. The only reason to pay them is to avoid hosting ClickHouse and managing ad-blocker domain rotation yourself. An MVP takes roughly 1 week; matching the product properly is closer to 3-6 months.

+How long does it take to rebuild Plausible?

A usable internal version: 1 week. A version you would sell or bet a business on: 3-6 months, mostly spent on querying unique visitors across millions of events fast without using persistent cookies requires hyper-optimized clickhouse aggregation functions like uniqexact..

+What do you actually lose by leaving Plausible?

Managed ClickHouse database operations, query tuning, and index optimization. Automated proxy domain rotation to minimize ad-blocker script suppression. Managed multi-tenant user access control, team permissions, and dashboard embedding options.

+Is it legal to build a Plausible alternative?

Building a competing product with your own code is normal competition. Copying their code, trademarks, brand assets or scraping their platform is not. Use the prompt to build your own implementation of common features.

Written by Andrea Saccà18 years in the Magento ecosystem. Last reviewed 2026-08-04.

Scores are computed, not typed. Read the methodology.

One e-commerce SaaS teardown every week.

Honest verdicts, build prompts and overlooked vertical SaaS opportunities. No tracking pixels, no drip sequence, unsubscribe in one click.

free forever · no third-party tracking · the prompts stay public