Overview
Discover what makes Rybbit powerful
Rybbit is a lightweight, privacy‑first analytics engine that replaces Google Analytics for developers who need full control over data collection and storage. It ingests raw event streams from a JavaScript snippet, processes them in real time, and exposes an API‑first interface for dashboards, session replay, and custom reporting. The core of Rybbit is built in **Go** for high‑throughput ingestion and a **React/TypeScript** front‑end that consumes the same API, ensuring consistency across client and server.
Backend
Data Layer
Frontend
Containerization
Overview
Rybbit is a lightweight, privacy‑first analytics engine that replaces Google Analytics for developers who need full control over data collection and storage. It ingests raw event streams from a JavaScript snippet, processes them in real time, and exposes an API‑first interface for dashboards, session replay, and custom reporting. The core of Rybbit is built in Go for high‑throughput ingestion and a React/TypeScript front‑end that consumes the same API, ensuring consistency across client and server.
Technical Stack
- Backend: Go (v1.22+), leveraging the
net/httpstandard library andgorilla/muxfor routing. Business logic is split into micro‑services: ingestion, session storage, and analytics aggregation. - Data Layer: PostgreSQL for relational data (sites, events, user profiles) and ClickHouse for time‑series analytics queries. Redis is used as a short‑term cache for hot metrics and session state.
- Frontend: React 18 with Vite, TypeScript, and Tailwind CSS. The UI consumes a REST/GraphQL API that mirrors the ingestion contract.
- Containerization: Docker Compose is the primary deployment method, with optional Kubernetes manifests available. Each service runs in its own container for isolation and scalability.
- Observability: Prometheus metrics, Grafana dashboards, and Loki for log aggregation are bundled with the stack.
Core Capabilities
- Cookieless Tracking: Rybbit uses a single, lightweight script that sends events as JSON payloads over HTTPS. No cookies or local storage are used, satisfying GDPR/CCPA automatically.
- Event Schema: Events are JSON objects with a required
type, optionalpropertiesmap, and timestamp. Custom events can be defined on the fly via the admin UI. - Session Replay: The ingestion service captures DOM events (clicks, scrolls) and stores them in a compressed binary format in ClickHouse. A replay API streams these events back to the client for rendering.
- Real‑time Dashboard: WebSocket endpoints push metric updates to connected clients. The backend uses Go’s goroutine model to aggregate metrics on the fly, with a 1‑second latency target.
- Advanced Filtering: The API exposes filtering on up to 15 dimensions (country, city, device, referrer, etc.) using a simple query language that maps to ClickHouse
WHEREclauses. - Organization & Multi‑Site Support: A tenant model allows a single Rybbit instance to host multiple sites with isolated data stores.
Deployment & Infrastructure
- Self‑Hosting: The Docker Compose stack can run on any VPS (Ubuntu 22.04+, Debian 12) with a minimum of 4 GB RAM and 2 CPUs for production workloads. For larger traffic, each service can be scaled horizontally in Kubernetes.
- Scalability: ClickHouse’s columnar storage and Go’s concurrency model enable the system to handle millions of events per day with minimal latency. Redis ensures that hot metrics remain in memory.
- High Availability: PostgreSQL is deployed with Patroni for HA, while ClickHouse uses its native replication. Docker Swarm or Kubernetes can orchestrate rolling updates without downtime.
Integration & Extensibility
- Plugin System: Developers can write Go plugins that hook into the ingestion pipeline. A simple
EventProcessorinterface allows custom enrichment or routing logic. - Webhooks & APIs: REST endpoints expose metrics, event ingestion, and session data. Webhooks can be configured for real‑time alerts (e.g., funnel drop‑off thresholds).
- SDKs: The JavaScript snippet is open source, and a TypeScript SDK is available for typed event creation. Additional SDKs (Python, Ruby) can be built against the public API.
- Custom Dashboards: The front‑end is modular; developers can swap out charting libraries or embed Rybbit data into their own dashboards via the API.
Developer Experience
- Configuration: All services expose environment variables; a
config.yamltemplate is included. The UI provides an admin panel for non‑technical users to set goals, funnels, and filters. - Documentation: The project hosts a comprehensive docs site (
https://rybbit.io/docs) with architecture diagrams, API references, and migration guides. The README includes quick‑start snippets for Docker and Kubernetes. - Community & Support: Rybbit is licensed under AGPL‑3.0, encouraging contributions. The Discord channel offers real‑time support, and the issue tracker is actively maintained with a clear triage process.
Use Cases
- Enterprise Web Apps: Companies needing GDPR‑compliant analytics without a third‑party provider can deploy Rybbit on their own infrastructure.
- Product Analytics: The session replay and custom event system make it ideal for SaaS products that want to understand user flows without exposing sensitive data.
- Performance Monitoring: Built‑in Core Web Vitals tracking allows teams to correlate user behavior with page performance metrics.
- A/B Testing Platforms: The goal and funnel APIs can be integrated into experimentation tools to measure conversion impact in real time.
Advantages Over Alternatives
| Feature | Rybbit | Google Analytics | Matomo | |---------|--------|
Open SourceReady to get started?
Join the community and start self-hosting Rybbit today
Related Apps in data-analysis
Uptime Kuma
Self-hosted uptime monitoring for all services
Apache Superset
Open‑source BI for fast, no‑code data exploration
Metabase
Easy open‑source business intelligence for everyone
Netron
Visualize AI models in any browser or desktop
Umami
Privacy‑focused, lightweight web analytics
PostHog
Open‑source product analytics and experimentation platform
Weekly Views
Repository Health
Information
Explore More Apps
Krayin CRM
Open-source Laravel CRM for modern businesses
BTCPay Server
Self‑hosted Bitcoin payment processor, zero fees, no middleman
Lowdefy
Build web apps with config, not code
Textpattern CMS
Elegant, fast PHP CMS for flexible content management
Our Shopping List
Collaborative real‑time shopping and todo lists
FileGator
Web‑based file manager for self‑hosted environments