Hanzo Insights
Product analytics and feature flags
Every event your product emits lands in one place, and the questions you ask of it are the same ones you would ask of a database — funnels and retention when a chart will do, SQL when it will not. The flag that turned a feature on and the recording of someone using it are in that same place, so "did this change work" is one product rather than three.
Ship it, then find out
The rollout and the measurement are the same product, so the loop closes.
Events, and SQL when you need it
Autocapture gets you data before you have instrumented anything, and named events get you data you can trust. When a chart cannot express the question, write the query instead — it is the same table underneath.
Feature flags
Roll out to a percentage, a cohort, or one account. The flag is also a kill switch, which is the reason to reach for one: turning a feature off should not require a deploy at the worst possible moment.
Session replay
Watch what actually happened. Heatmaps and scroll depth tell you where attention went; a replay tells you why someone gave up, which no funnel ever will.
Experiments
An experiment is a flag with a metric attached to it. Pick the goal before you start, and let it run until the result means something rather than until it looks good.
Funnels, retention and paths
Funnels show where people stop, retention shows whether they came back, and paths show the route nobody designed. The third one is usually where the surprise is.
Errors and LLM cost
Error tracking sits beside the analytics, so a spike in rage clicks and the exception behind it are one investigation. If your product calls a model, the traces, latency and cost per generation land here too.
The flag and the event, in one provider
import { InsightsProvider, useFeatureFlag } from "@hanzo/insights-react"
function App() {
return (
<InsightsProvider
apiKey="ins_proj_xxx"
host="https://insights.hanzo.ai"
>
<MyApp />
</InsightsProvider>
)
}
function MyApp() {
// Feature flags
const showNewUI = useFeatureFlag("new-dashboard")
// Track events
insights.capture("button_clicked", { variant: "primary" })
return showNewUI ? <NewDashboard /> : <OldDashboard />
}Up to 5% of compute goes back to open source
Every deployment is SBOM-verified. Contributors to Insights earn a share of compute revenue — transparent, on-chain, and customizable by the community.
Start with autocapture
Drop the provider in and you have data by this afternoon. Name the events that matter once you know which ones those are. There is a free tier, and the whole thing is open source if you would rather run it yourself.