Your analytics, your infrastructure
Sparklytics is a privacy-first web analytics platform that you can self-host in minutes. No Node.js runtime, no PostgreSQL setup, no Redis caching layer — just a single binary powered by embedded DuckDB.Quick Start
Deploy on your VPS and track your first event in under 5 minutes
Installation
Detailed installation guides for Docker, docker-compose, and binary deployments
Tracking Script
Add the lightweight tracking snippet to your website
API Reference
Complete API documentation for analytics queries and event collection
What makes Sparklytics different
Single binary deployment
No complex database setup required. Sparklytics embeds DuckDB directly — your entire analytics stack runs in one process.http://your-server-ip:3000 and you’re ready to track events.
Privacy-first by design
- No cookies — visitor tracking uses ephemeral daily IDs
- Full data ownership — all analytics data stays on your infrastructure
- Configurable retention — control how long raw events are stored
- Transparent visitor IDs —
sha256(salt_epoch + ip + user_agent)rotates daily at midnight UTC
Advanced analytics features
Custom Events
Track user actions beyond pageviews with typed event properties
Funnels
Measure conversion rates through multi-step user journeys
Retention Cohorts
Analyze user behavior over time with cohort analysis
Session Drilldown
Explore individual visitor sessions and navigation paths
Real-time Dashboard
Live visitor counts and recent events updated every few seconds
GeoIP Analytics
Country, region, and city data from bundled DB-IP database
Performance at scale
Benchmarked on Apple Silicon with 100k–1M realistic events:| Metric | Self-Hosted (DuckDB) |
|---|---|
| Peak ingest throughput | ~26,000 req/s (single event) |
| Batch ingestion | ~74,800 events/s (batch of 10) |
| Memory (idle) | ~29 MB |
| Storage per 1M events | ~278 MB |
| Binary size | ~15 MB |
For cloud-scale deployments, Sparklytics supports ClickHouse as a backend — delivering 10–239x faster queries at 100k–1M events with near-constant query performance.
Tech stack
Backend
Rust with Axum 0.8 and Tokio async runtime
Storage
DuckDB embedded analytics database (no separate DB process)
Dashboard
Next.js 15 with TailwindCSS and shadcn/ui components
Authentication
Argon2id password hashing with JWT HttpOnly cookies
Feature comparison
| Feature | Sparklytics | Umami | Plausible |
|---|---|---|---|
| Open source | ✅ MIT | ✅ MIT | ✅ AGPL |
| Self-hostable | ✅ | ✅ | ✅ |
| Single binary | ✅ | ❌ Node + DB | ❌ Elixir + DB |
| No cookies | ✅ | ✅ | ✅ |
| Custom events | ✅ | ✅ | ✅ |
| Funnels | ✅ | ❌ | ❌ |
| Journey analysis | ✅ | ❌ | ❌ |
| Retention cohorts | ✅ | ❌ | ❌ |
| Session drilldown | ✅ | ✅ | ❌ |
| Real-time dashboard | ✅ | ✅ | ✅ |
| GeoIP (bundled) | ✅ | ❌ | ✅ |
| Next.js SDK | ✅ | ❌ | ❌ |
Next steps
Deploy in 5 minutes
Follow the quick start guide to get Sparklytics running
Installation options
Choose your deployment method: Docker, binary, or docker-compose
Open source
Sparklytics is MIT licensed and developed in the open on GitHub.- Repository: github.com/Sparklytics/sparklytics
- SDK: github.com/Sparklytics/sparklytics-next
- Issues: Report bugs and request features on GitHub
- Contributing: See CONTRIBUTING.md