Mobile analytics made
for agentic development
Undercurrent Analytics is an all-in-one mobile analytics platform that uses open standards to give you the best possible understanding of how your mobile app is used by real people.
Free until your app gets traction.
Simple and complete, with a generous free tier, made for entrepreneurial developers.
Produce usage data that's specific to your app's domain, and visualize bespoke engagement and activation metrics using Grafana - the visualization tool your agent is most familiar with.
Handles event ingest, storage, querying, and visualizations
One service from device to dashboard. We provide prompts for easy integration into your app.
Analyse data using the open standards of SQL and Grafana
Your agent's favoured toolkit for writing queries and defining visualizations. We provide an importable skill to help you be as successful as possible.
Pay only once you start to see traction for your app
Our business model is to charge based on the number of distinct app users producing events, so that you only need to pay out of your app's revenue.
Track, query, visualize
Add the mobile analytics client library to your app, then ask your LLM of choice to create relevant, insightful visualizations in Grafana to understand the effectiveness of your activation funnel, and figure out how users are engaging with your app.
// Track an event from your app. // 1. Add https://github.com/mixpanel/mixpanel-swift as a Swift Package Manager dependency. // Undercurrent ingest is wire-compatible with Mixpanel. // 2. Set up a reusable mechanism for creating events throughout your app. import Mixpanel class UsageAnalytics { private let tracker: MixpanelInstance init(distinctId: String) { self.tracker = Mixpanel.initialize(token: "<your-undercurrent-project-token>", trackAutomaticEvents: false, serverURL: "https://ingest.undercurrent.dev") tracker.identify(distinctId: distinctId) } func event(eventName: String, properties: [String: String]?) { tracker.track(event: eventName, properties: properties) } } // 3. Produce events based on user interactions. struct MyView: View { @EnvironmentObject var usageAnalytics: UsageAnalytics var body: some View { Button(action: { // <Do something> usageAnalytics.event(eventName: "tappedButton", properties: ["userFeedback": "This is a useful app!"]) }) { Text("Submit") } } }
-- Paying users by plan, this month SELECT plan, count(distinct user_id) AS users FROM mobile_events WHERE event = 'checkout_completed' GROUP BY plan ORDER BY users DESC;
Pricing that tracks your traction
Our business model is simple: Pay based on the number of distinct app users producing events each month. If you're still in the friends and family stage, we're here for you too.
We're looking for partners. Let us help you understand your customers, which will help us to refine the experience and value we provide. Undercurrent is free for early adopters.
- Billing scales with the distinct monthly users so you pay only based on your ability to monetize.
- Pay nothing until your app starts to see real traction.
- Free while we're in early access.
Register your interest
We're onboarding early teams now. Leave your email and we'll reach out with access.