Web analytics
Pageviews, top paths, 7-day trends. Lightweight, no fingerprint circus.
See which pages pull traffic, where visitors come from, and how volume shifts day to day — without loading a 200 KB analytics SDK or building a consent banner for twelve ad networks.
Error tracking
window.onerror + unhandledrejection. Grouped issues with stack samples.
Uncaught exceptions and failed promises land in one inbox. Issues group by message + stack frame so you fix the root cause, not the same TypeError forty times.
One snippet
Copy a script tag or call PostCow.track(). Works on any static site.
Drop a single deferred script before </body>. Custom events via PostCow.track(). SPAs can call pageview() on route change. No framework lock-in.
Three steps to production visibility
No SDK maze, no twelve-step onboarding wizard. Add a domain, paste a tag, refresh your site — data appears in the dashboard before your coffee cools.
Create a domain
Sign in, add your hostname, grab the API key. Takes about thirty seconds.
Paste the snippet
One script tag on every page. sendBeacon + fetch keepalive — survives tab closes.
Watch the dashboard
Pageviews roll in immediately. Errors group automatically. No cron jobs to configure.
Built loud on purpose.
Violet shadows. Fuchsia accents. A dashboard you open because it helps — not because your boss made you.
We picked neo-brutalism because observability tools all look the same: gray sidebar, tiny charts, cluttered upsells. PostCow is the opposite — readable metrics, thick borders, personality.
See featuresWhy PostCow
- 01 Self-hostable on Supabase
- 02 CORS ingest API
- 03 Error grouping
- 04 sendBeacon + fetch fallback
- 05 Custom event API
- 06 Domain-scoped keys
Who it's for
Side projects
Ship a landing page and know if anyone actually visits — without a heavy analytics stack.
Small teams
One dashboard for traffic and crashes. Devs see stack traces; PMs see top paths.
Self-hosters
Supabase-backed, self-hostable, runs on Vercel or your VPS. Your data stays yours.
Static & SPAs
Works on plain HTML, SvelteKit, Next.js, Astro — anything that can load a script tag.
Less bloat, more signal
Bloated observability stacks are built for huge compliance teams. PostCow is built for developers who want to know if the deploy broke — tonight, not next quarter.
| PostCow | Typical SaaS stack | |
|---|---|---|
| Setup time | < 2 min | Hours of config |
| Script size | ~2 KB | 50–200 KB+ |
| Error tracking | Built in | Separate product |
| Self-host | First-class | Often locked |
| Cookie banner | Usually unnecessary | Often required |
"Finally something I can self-host without a Kubernetes cluster. Errors and pageviews in one place — exactly what I needed for my indie SaaS."
— indie dev, self-hosted on a $5 VPS
"Pasted the snippet on a static marketing site. First pageview showed up in ten seconds. No GA4 property, no tag manager, no prayer."
— frontend dev, static landing page
Common questions
Do I need cookies or a consent banner?
PostCow collects pathname, referrer, URL, and error stacks — no persistent user IDs or cross-site tracking. Check your jurisdiction, but most static sites skip the cookie circus entirely.
Does it work with single-page apps?
Yes. Call PostCow.pageview() on client-side route changes. The snippet fires once on load; SPAs hook their router to fire again.
What about ad blockers?
Some block third-party analytics domains. Self-host on your own subdomain (e.g. t.yoursite.com) and first-party requests usually get through.
Is PostCow free?
Yes. PostCow is open source — self-host for free with no usage limits.
Ship the snippet.
Open source. Self-host free. First pageview in under a minute.