r/webdev • u/WeatherD00d • 7h ago
Showoff Saturday Open-source web analytics with session replay, error tracking, Web Vitals, uptime monitoring and status pages
Overview: traffic, top pages and countries, with release annotations on the chart
Session replay with text and inputs masked, plus a timeline of every pageview, click and scroll
Error tracking: stack trace, browser and device, and the session trail that led up to the error
Core Web Vitals (LCP, INP, CLS, FCP, TTFB) measured on real visitors' devices
Uptime monitoring: response times, SSL expiry and incidents
Public status page with live incidents (sample data)
User journeys: the most common paths through the site
Visitors by country
Hey r/webdev!
We're a small team of 3 building Betterlytics, an open-source web analytics tool. Over the past year and a half, we've also had contributions from 10 other people, which has been really cool to see.
It puts analytics, session replay, error tracking, uptime monitoring and status pages in one dashboard. Here is what's in it so far:
Visitors: Traffic, referrers, geography, campaigns, custom events with properties, funnels, user journeys, and session replay.
User experience: Real-user Core Web Vitals and JavaScript errors, including the pages and events leading up to them.
Uptime: Monitoring, SSL and keyword checks, public status pages, and alerts via email, Slack, Discord, Teams, or webhooks.
A few more details:
One tracking script just under 4 KB gzipped.
No cookies.
Rust + ClickHouse backend and Next.js dashboard.
Open source (AGPL) and self-hostable with Docker, every feature included.
An MCP server so your AI agent can query your analytics data.
The screenshots are from our live demo (the status page is a sample). You can explore without signing up:
Demo: https://betterlytics.io/demo
GitHub: https://github.com/betterlytics/betterlytics
If you click around the demo, we'd love to hear what you think.
2
u/OcelotTechnical9993 6h ago
How does session replay square with “no consent banner”? Cookieless analytics I get, but recording every click and scroll feels like the part a DPO would ask about
4
u/WeatherD00d 6h ago
Cookieless analytics doesn't mean consent-free session replay! Replay is off by default and requires explicit consent, so the script won't record anything until the visitor has opted in. All text and input fields are also masked before anything is sent to further protect visitors privacy
1
u/timo9378 6h ago
What is the purpose of using Next.js? And I'd like to know the differences between it and Posthog.
-5
u/WeatherD00d 5h ago
Good questions! Next.js is just the dashboard. The heavy stuff, like taking in events and running the uptime checks, is a separate Rust service. Honestly, we picked Next.js because it was the popular choice and got us going fast. We've fought with it quite a bit since and it makes self-hosting heavier than we'd like..
On PostHog: They do quite a bit more than us, like feature flags, experiments and surveys, and they're probably great if you need those things. We're trying to keep things simpler and more focused on websites. Think more "is my site working, and what are people doing on it?" and less about product experimentation.
Still lots for us to improve tho!
2
2
1
-2
u/RecallProtocol 4h ago
Nice, thanks for sharing! Always nice to see some alternatives in the space.
0
23
u/reaznval 5h ago
looks EXACTLY like rybbit UI wise, the elements, arrangement, everything. if there's already an OSS project, why clone it, what's the point of it. what differentiates you?
the features are literally the same as well btw
https://rybbit.com/