One project. Every surface your app has.
Seven things that normally live in seven products, reporting into one schema, on one dashboard, under one bill.
Overview
Visitors
24,812
+12.4%
Downloads
3,104
+8.1%
Active installs
2,689
last 7 days
Crash-free
99.6%
of sessions
Active installs
Web analytics
All plansWhere they came from, and what they did next.
Page views, referrers, campaigns, countries and paths for the marketing site, with the download link tracked as the conversion it is.
Sources
The tag is vanilla TypeScript, under 3KB gzipped , loads nothing else, and writes nothing at all before consent. Both numbers are held by tests rather than by intention.
Downloads
All plansWhich build people actually take away.
Downloads by platform, architecture and version, and how the mix moves across a release. It is the one surface that sits between the website and the app, which is exactly why most stacks drop it.
Downloads
macOS · arm64
52.9%
1,642
most on 2.7.0
Windows · x64
29.1%
902
most on 2.7.0
macOS · x64
12.5%
388
most on 2.6.4
Linux · AppImage
5.5%
172
most on 2.7.0
Product analytics
All plansOrdered funnels and cohorts, from inside the app.
Events, properties, ordered funnels and retention cohorts, counted per install rather than per session, so an event queued offline and replayed after a restart still belongs to the run it came from.
Activation
Errors
All plansGrouped by fingerprint, priced in people.
A stack trace is not urgent because it fired a thousand times. It is urgent because it fired for two hundred different people, all of them on the release you shipped on Tuesday.
Issues
TypeError: cannot read length of undefined
newsrc/sync/reconcile.ts:184
1,204
events
214
people
2.7.0
release
SQLITE_BUSY: database is locked
src/db/pool.ts:62
486
events
98
people
2.7.0
release
FetchError: request to /v1/sync failed
src/net/client.ts:41
203
events
61
people
2.6.4
release
Logs
ProTeamThe app and the backend in one stream.
Structured lines from the desktop client and your server, searchable together and kept long enough to answer a question from three weeks ago rather than three hours ago.
Logs
Feedback
All plansA bug report that arrives with its own evidence.
The in-app reporter attaches the version, the platform and the last exception before the report was written. What lands is a ticket rather than the beginning of a conversation about which build they are on.
Feedback
Export hangs on any library over ~2k items. Spinner never stops.
newWould pay for a Windows build with the same shortcuts as the Mac one.
ideaCrashed right after granting disk access on first launch.
linkedReleases
All plansAdoption, retention and crash rate on one row.
A version model is what turns a retention cliff from a mystery into a build number. Ship, watch the three numbers move together, and roll back on evidence.
Releases
2.7.0
4 days ago
2.6.4
3 weeks ago
2.6.1
2 months ago
< 2.6
older