Hotjar is $32/mo (Plus). Parlor is a self-hosted alternative at $0.99/mo. Here's when each makes sense.
| Parlor | Hotjar | |
|---|---|---|
| Hosting | Self-hosted, your infra | Managed SaaS (cloud only) |
| Data location | Your server, your disk | Hotjar's cloud |
| Free tier | 1 widget, 100 responses | Paid only |
| Pro pricing | $0.99/mo | $32/mo (Plus) |
| 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 |
Parlor 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/parlor/install.sh | sh
Teams evaluating Hotjar alongside Parlor tend to split on two axes: feature depth and data residency. Hotjar wins on feature depth — it is a mature product with integrations, mobile apps, and a dedicated support team. Parlor wins on residency — your customer feedback widget data lives on your server in a SQLite file you can inspect, back up, and migrate without asking anyone for permission.
Architecturally, Parlor and Hotjar could not be more different. Hotjar runs on distributed cloud infrastructure with load balancers, managed databases, CDNs, and redundancy across availability zones. Parlor is a single process writing to a single file on a single disk. That sounds fragile until you realize that SQLite handles more concurrent readers than most web applications will ever need, and WAL mode means reads never block writes.
The migration path from Hotjar depends on how much history you need to bring over. If you only need active records, a manual re-entry through Parlor's dashboard might be faster than writing a migration script. If you need full history, export from Hotjar and use Parlor's POST API to import records. Either way, the process is measured in hours, not weeks.
Single binary. Free to start. $0.99/mo for Pro.