Google Analytics is Free (with your data). Headcount is a self-hosted alternative at $1.99/mo. Here's when each makes sense.
| Headcount | Google Analytics | |
|---|---|---|
| Hosting | Self-hosted, your infra | Managed SaaS (cloud only) |
| Data location | Your server, your disk | Google Analytics's cloud |
| Free tier | 10,000 events/mo | Free |
| Pro pricing | $1.99/mo | Free (with your data) |
| Dependencies | None (single binary + SQLite) | N/A (managed) |
| Setup time | ~30 seconds | Account signup |
| Dashboard | Built-in at /ui | Cloud dashboard |
| License | BSL 1.1 | Proprietary SaaS |
Headcount is a single Go binary with embedded SQLite. Install it with one command, and you are running in under a minute. Your data stays on your server.
curl -fsSL https://stockyard.dev/headcount/install.sh | sh
Google Analytics is a strong product. There is no point pretending otherwise. Where Headcount earns its place is in situations where Google Analytics cannot be used — airgapped environments, regulated industries, teams with strict data sovereignty requirements, or simply developers who prefer tools they can inspect end to end. If none of those constraints apply, Google Analytics may genuinely be the better choice.
Headcount runs as a single static binary with an embedded SQLite database. There is no application server, no cache layer, no background worker. One process handles HTTP requests and reads from and writes to the database file directly. This simplicity is the entire point — fewer moving parts means fewer things that can break at 2 AM.
If you are currently using Google Analytics and considering Headcount, start by running both in parallel. Install Headcount on a test server, point your workflow at it for a week, and compare the experience. Headcount's data directory is isolated — running a trial costs nothing beyond the compute. If Headcount does not fit, delete the binary and the data directory. There is nothing else to clean up.
Single binary. Free to start. $1.99/mo for Pro.