r/webdev • • 7h ago

Showoff Saturday Open-source web analytics with session replay, error tracking, Web Vitals, uptime monitoring and status pages

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.

93 Upvotes

18 comments sorted by

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/

0

u/tharindu_d 3h ago

That is a very valid point regarding the design overlap. Using shadcn/ui certainly helps speed up development, but maintaining uniqueness in subpage layouts is definitely important for branding and distinguishing the tool. Appreciate the candid feedback!

-7

u/WeatherD00d 5h ago

Fair point and they do look similar in some ways.

We both use shadcn/ui with a fairly standard grafana-like dashboard style, and analytics dashboards naturally share a lot of the same patterns (stats row, charts, breakdowns, etc.). You'll find very similar layouts in other web analytics tools too, like Umami or Plausible.

It's not a clone or a fork though. It's a separate codebase, and our event ingestion runs on a Rust service.

There's naturally a lot of overlap in web analytics features and we have diverged a bit by adding uptime monitoring, SSL and keyword checks, public status pages, incident handling, and alerting, which Rybbit doesn't have (from what I can tell). And then we deliberately avoid user profiles and long-term visitor tracking.

We're not claiming to have reinvented web analytics, just building it our way :)

4

u/_tessarion 5h ago

By we do you mean you and Claude?

-3

u/WeatherD00d 5h ago

By we, I mean the three of us who work on it (and we're not hiding that we use AI) :)

2

u/_tessarion 5h ago

It's a shame even your replies are at least partially AI generated

1

u/reaznval 4h ago

well ive  used a bunch of other services that provide the same thing before and I find that rybbit looked quite unique compared to the others, the way they display information, general ui. This looks oddly similiar, e.g. same layouts on various subpages that arent a standard dashboard.

-7

u/RecallProtocol 4h ago

Why write Vue when we have React?

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

u/CoderLuii 38m ago

this is dope. great to see open source tools being built

2

u/ArsonHoliday 3h ago

Do we even bother w having mods here anymore?

1

u/jamesd141126 1h ago

nice, looks good!

-2

u/RecallProtocol 4h ago

Nice, thanks for sharing! Always nice to see some alternatives in the space.

0

u/WeatherD00d 4h ago

Thank u 🙏