Claude Code
Best for integrating rrweb, masking rules and the upload pipeline.
Analytics · updated 2026-11-03
Hard: Only a slice Click heatmaps and a feedback widget are doable; reliable session replay at any real traffic is hard and storage-heavy.
Hotjar's cheaper features are approachable: recording click coordinates for a heatmap or showing a one-question survey takes a day. Session replay is a different class of problem. You have to capture DOM snapshots and mutations, mask private data, compress and store large payloads, and replay them faithfully across browsers. Open source libraries such as rrweb help, but storage costs and privacy risk grow with traffic. Build the slice you need for your own site, or use an existing tool.
Hotjar is heatmaps, session recordings and on-site surveys, now part of Contentsquare. This page is about building your own version for personal or internal use, or to learn how this kind of product works, not about copying Hotjar to compete with it. How we grade.
Difficulty is for a solo builder using an AI coding tool. Skip means not worth building yourself.
| Feature | Difficulty | Why |
|---|---|---|
| Click heatmap | Easy | Store element selector and relative coordinates; render as an overlay. |
| Scroll depth | Easy | Record the max scroll percentage per pageview. |
| Feedback widget and NPS survey | Easy | A small embedded form posting to your API. |
| Session recording | Hard | Use rrweb rather than writing your own; still expect work on storage and playback. |
| Input and PII masking | Hard | Mask all inputs by default; a single leak records passwords or card numbers. |
| Recording storage | Medium | Compress and store in object storage such as Cloudflare R2 with a retention limit. |
| Rage click and error detection | Medium | Heuristics on click frequency and console errors. |
| Funnels and cross-session analytics | Skip | Use a product analytics tool instead. |
Your own version vs Hotjar, at personal or small-team scale.
Growth (Contentsquare, includes Hotjar): $39/mo billed annually
Hotjar pricing now lives on Contentsquare's pricing page: free up to 200k sessions with 1 month of data; Growth is $39/month billed yearly or $49 monthly.
Source: contentsquare.com/pricing. Prices change; check before deciding.
| Running cost | Per month | Notes |
|---|---|---|
| Hosting and API | $0–$20 | Serverless functions to accept events and recordings. |
| Object storage for recordings | $0–$15 | Cloudflare R2 or S3; grows with traffic and retention. |
| Database | $0–$25 | Clicks, sessions and survey answers. |
| Total | $0–$60/mo | Saves up to $468 a year vs Hotjar Growth (Contentsquare, includes Hotjar); at the top of the range it costs $252 a year more. |
Best for integrating rrweb, masking rules and the upload pipeline.
Helpful for debugging replay glitches inside an existing codebase.
Quick dashboard and heatmap overlay UI.
Paste it into your tool, then ask for a plan before any code. Edit the specifics to match what you need.
Build a lightweight heatmap and feedback tool for my own website (internal use only). Stack: Next.js, Supabase Postgres, Cloudflare R2 for recordings, rrweb for session capture. Data model: pages (id, url_pattern, screenshot_url), clicks (page_id, selector, x_pct, y_pct, viewport_w, ts), sessions (id, started_at, duration, storage_key, sampled), feedback (page_id, score, comment, ts). Features: 1. Embed script that records clicks and max scroll depth on every pageview. 2. Optional session recording with rrweb for a 5% sample, uploaded in compressed chunks to R2. 3. A one-question feedback widget with an optional comment. 4. Private dashboard with click heatmap overlay per page, scroll depth chart, session list and replay player. Privacy and security: mask all input fields and any element with a data-private attribute by default; never record password, card or email fields; only start recording after the visitor accepts the consent banner; delete recordings after 30 days; signed upload URLs scoped to one session; rate-limit and validate all incoming data; dashboard behind login with row level security.
AI tools often get these wrong by default. Check each one before anyone else uses the app.
They went far past the prototype: support, payments, reliability and years of iteration. Their profiles show what that took.
Moritz Dausinger built Refiner
In-app microsurveys and customer feedback for SaaS.
Sean built Page Pulse
Simple analytics with conversions and heatmaps.
If you need Hotjar's job done rather than a project, these are built and supported by independent makers.
refiner.io
In-app microsurvey and customer feedback tool for SaaS teams (NPS, CSAT, onboarding surveys).
getpagepulse.io
Simple site analytics with conversions, heatmaps and AI page insights.
You learn how session replay works under the hood (DOM snapshots and mutation streams) and why privacy masking is a hard engineering problem.
Hard. Click heatmaps and a feedback widget are doable; reliable session replay at any real traffic is hard and storage-heavy.
A working personal or internal MVP takes about 8 h–2 days with a tool like Claude Code. A polished version you would rely on every day takes about 10–20 days, mostly spent on session replay: capturing dom mutations and replaying them faithfully.
Expect $0–$60/mo at personal or small-team scale (hosting and api, object storage for recordings, database). Hotjar Growth (Contentsquare, includes Hotjar) costs $39/mo (checked 2026-11-03), so the most you would save is $468 a year, before counting your time.
You can build click heatmaps and a feedback widget in a day. Session replay is much harder; use an open source library like rrweb and expect real work on masking and storage.
Hotjar is now sold through Contentsquare. As of November 2026 there is a free plan up to 200k sessions, and the Growth plan costs $39 a month billed yearly or $49 monthly.
It can be, but you generally need consent, a privacy notice and strict masking of personal data. Many teams record only after the visitor accepts a consent banner.
Building your own tool that solves the same problem is common and generally fine. Copying Hotjar's code, design assets, brand name or content is not. Use your own name and design, respect their terms of service, and get proper advice if you plan to sell it. This page is not legal advice.