Tools priced for teams
Support suites are built for companies with seats and a support department. A solo founder with four small apps pays for features nobody uses.
Feedback · Analytics · Support · Revenue
Paste one line on every app you run and get cookieless analytics, a chat bubble for support, feedback and bug reports, and your Stripe MRR. All your projects in one dashboard and one inbox. No keys, no config, no npm package.
<script src="https://indiehacker.studio/s.js" defer></script>
01The problem
Every side project you launch wants its own analytics account, its own chat widget, its own feedback board and a Stripe tab you check at midnight. Multiply that by every app you run and the setup costs more time than the features.
Support suites are built for companies with seats and a support department. A solo founder with four small apps pays for features nobody uses.
Each project gets its own analytics property, its own widget key and its own inbox. Answering users means checking five tabs.
Traffic lives in one tool, complaints in another, MRR in Stripe. You never see which app is growing and which one is quietly churning.
02How it works
There is no key in the snippet. Indiehacker Studio knows which project a request belongs to from the domain it comes from, and only accepts data from domains you verified. The same line goes on every app you run.
Add the script tag before </head> on your site. It loads deferred, never blocks the page and fails silently if anything goes wrong.
Add a DNS TXT record, a meta tag, or open your site once with a verify link. Until then, nothing is recorded. HTTPS only.
Live visitors show up within seconds, the bubble appears on the page, and every message lands in your inbox in real time.
03What you get
Analytics and the bubble launcher ship in a small script. The chat panel loads only when a visitor opens it, so your page stays fast.
Live visitors, pageviews, unique visitors, top pages, referrers and UTM campaigns, countries, devices and browsers. Today, 7 days, 30 days or any range. Custom events with ihs.track("signup"). Single-page apps are tracked on every route change.
A floating bubble on your site opens a real-time chat. You answer from the dashboard; the visitor sees the reply instantly, with typing and seen marks. If they leave before you answer, they can leave an email and get the reply there.
A feedback tab with a rating and a category, and a bug report tab with screenshots, a screen recording of up to 60 seconds, or files. Bug reports carry the URL, browser, OS, viewport and, if you turn it on, recent console errors.
Connect Stripe per project with a read-only restricted key. See MRR, ARR, active subscriptions, trials, churn, new MRR, the MRR your running trials would add, and ARPU, per project and summed across all of them.
04Multi-project by default
Chats, feedback and bug reports from all your projects arrive in one inbox. Filter by project, type or status, answer live, and see who you are talking to: their current page, country, device, past conversations and, if your app calls ihs.identify, their name and email.
Open, pending and closed threads across every project. Email and browser notifications for new conversations.
Switch between projects or look at all of them at once: traffic, live visitors and MRR side by side.
identify, track, open, hide and show. Optional: the script works without a single line of code.
05Privacy
The analytics set no cookies. Each browser gets a random id in localStorage so a visit and a chat thread can be told apart. IP addresses are used only at request time to find the country and to rate limit, and are never written to the database.
No cookies and no personal data by default. Your own legal setup still decides what your site needs.
Only verified HTTPS domains are accepted. Every public endpoint is rate limited per site, per IP and per visitor.
Screenshots and recordings sit in a private bucket and open for you only, through short-lived signed links.
A restricted key with read permissions, encrypted at rest. It never reaches the script or a browser.
06Pricing
Free runs one project with text chat, feedback and bug reports. Pro covers every app you run, adds Stripe revenue, screenshots and screen recordings, and removes the branding from the bubble, with the first 7 days free. Cancel any time from your account.
One app, everything in one script.
Every app you run, in one inbox and one dashboard. Yearly saves $24.
07FAQ
One dashboard for founders who run one or many web apps. You paste one script tag on each site and get cookieless analytics, a chat bubble for support, feedback and bug reports, and, on Pro, your Stripe revenue per project. Every project shares one inbox and one dashboard.
The server identifies the project from the domain the request comes from, and only accepts data from domains you verified with a DNS TXT record, a meta tag or a verify link. A key in public HTML would not be a secret anyway. For several projects on one domain, add the public data-project attribute.
The script loads with defer and never blocks the page. It carries the analytics and the bubble launcher only; the chat panel loads the first time a visitor opens it. If anything fails, it fails silently.
The analytics set no cookies and store no IP addresses: each browser gets a random id in localStorage, and the country is read at request time. Your own legal situation decides what your site needs, but there is nothing in the analytics that calls for a consent prompt.
From the inbox in your dashboard, in real time. The visitor sees your reply in the bubble with typing and seen marks. If they left before you answered and gave an email, the reply goes to their inbox. New conversations also reach you by email and browser notification.
A restricted key with read permissions on Customers, Subscriptions, Invoices, Charges, Prices and Products. A publishable key (pk_) cannot read subscriptions. The key is encrypted at rest and only used on our servers to read.
On Pro, yes: up to 3 files per message, including a screenshot of the page or a screen recording of up to 60 seconds, which the visitor starts themselves. Files are stored privately and open only for you.
Stay on Free as long as you like. Pro starts with a 7-day free trial: cancel before it ends and nothing is charged. After that, Pro cancels any time from your account, and you keep it until the end of the period you paid for.