Live aggregate statistics about how the service is used. Usage numbers refresh every few minutes; the use-case and audience sections are a periodic analysis and show the date they were last computed. Never includes individual conversations.
Volume
All numbers below are all-time totals since launch. The small ↑/↓ row on each tile compares the last 7 days to the 7 days before that —
Growth over time
Unique users
Total users since launch · new users per day overlaid
Daily active users
Distinct users per day · any message counts
Daily volume
Both angles on one chart. Bars are user messages per day. The thinner secondary bars are conversations (≥30 min gap = new session). The dashed line is the linear trend on messages — overall direction independent of day-to-day spikes.
Messages & conversations per day
Bars: messages · light bars: conversations · dashed: linear trend
Per-user trends
Compound effects only show up normalised per user. Raw volume grows with the user base; these ratios show whether each user is getting more out of the service over time. Trending up = the product is compounding, not just acquiring. DAU here = active users with ≥2 messages that day — excludes the one-and-done curious touch so the ratios reflect engaged-user behaviour.
Messages per active user
User messages ÷ DAU · per day
Messages per conversation
Depth proxy · messages ÷ sessions per day
% returning users
Share of today's actives who aren't new today
Tool-call rate
Turns that invoked a tool · per day · proxy for intentionality
Engagement
How sticky the service is. Numbers count distinct returning users, not just messages — early signal of whether people get real value or try once and drop off.
Retention curve
Of users who start, what % return within N days
Users by activity
Distribution of total messages per user
Conversation depth
Turns per conversation
Web chat — chat.ongiini.ai
An anonymous browser version of Ongiini that anyone can try without WhatsApp. A session = a browser tab, not a person; sessions disappear after about 6 hours. The numbers below come from the same trace data as the WhatsApp metrics above, bucketed separately. No per-session detail is ever published. See §2.8 of the Privacy Policy for the data model.
Sessions per day
Unique browser sessions · one bar per UTC day
Messages per day
User turns sent through the web chat
Same operational signals as the WhatsApp How it performs row below, but scoped to chat.ongiini.ai turns only.
When people use Ongiini.ai
Activity by day-of-week × hour-of-day in Africa/Windhoek time. Darker cells = more messages. UTC offsets handled — a message sent at UTC 23:00 Sunday counts as Monday 01:00.
Time-of-week heatmap
Local time · all messages
How people use Ongiini.ai
Numbers reflect what users mention in conversation, not a survey. We don't ask people what they want help with — we measure what comes up.
Use cases
Broad buckets · clustered by local model
Top topics
Most-mentioned specifics · one level down
Who uses Ongiini.ai
Built from the small set of facts the memory system extracts when users share them in chat — not a registration form — and, for languages, from the language people write in. Most users don't volunteer most of these things; the percentages on each panel are within the group that did mention it, not the whole user base.
How it performs
Operational signals. Latency is the time from a message arriving to the reply being sent, including web search and tools (measured this way since 1 Oct 2026; earlier turns count model time only). Failed replies are turns that ended in a fallback message instead of an answer. Useful for tuning, less so for understanding people.
How these numbers are made
What the data is. The usage, growth, engagement and performance numbers are computed live from data Ongiini already keeps for the service itself — the per-message usage log and the structural trace log. The use-case and audience sections come from a separate, periodic analysis of messages and of the long-term memory store. None of this statistics processing sends conversation content anywhere: the classification and clustering run on the same computer the chat service runs on, with no third-party APIs. (Answering a question can involve a web search; what that shares is described in the Privacy Policy.)
How the qualitative sections are made. Once a night, the local AI model reads each user message that is still stored and puts it into one of a fixed list of use cases — school & homework, writing help, translation, language learning, jobs & career, health, money & business, government services, local info & news, personal & relationships, tech help, small talk, other. It also notes the language of the message and a short generic description ("grade 11 chemistry homework", "cv improvement"); the most frequent descriptions are the Top topics. Who uses Ongiini.ai works the same way from the few facts the memory system keeps per user: role, Namibian region, household and current situation, each from a fixed list, and only for users whose facts mention it. Languages is the language a user mostly writes in. Only messages and facts that are still stored count, so deleted data and users who object drop out at the next run. Each section shows the date of its last run.
This is a heavily skewed sample, not a survey. The percentages on this page describe only what users have mentioned in conversation. They are not a representative cross-section of who uses Ongiini.ai. A teacher who has never mentioned teaching does not appear under Roles → Teacher. A user in Oshakati who has never named their town does not show up under Regions → Oshakati. We do not ask, we only observe. Every WHO percentage is therefore relative to "users who mentioned this dimension at all" — usually a minority of the total user base — and the sample sizes shown next to each chart make that explicit. Read accordingly.
Sample size matters. Every chart shows how many observations underlie it. A cluster of "3 users" tells you something very different from a cluster of "3,000 users". When the service is small, the numbers are small. Treat anything with fewer than a few hundred observations as signal of direction, not measurement of magnitude.
Privacy floor. Any cluster or category represented by fewer than five people / fewer than five mentions is folded into "Other" so no single user can be identified.
Anti-leak guardrails on every label. The model is explicitly instructed to never echo names, towns, ages, dates, employers, or any identifying detail — and to output "REDACTED" if it cannot generalise a message without leaking specifics. Every label the model returns then passes a second, regex-level filter: anything containing a 4-digit number (years, IDs), a capitalised possessive ("Joseph's"), a known Namibian town name, or any pattern our PII scrubber recognises (email, ID number, card number, IBAN) is dropped without being stored. The label only enters the analytics cache once both layers have signed off.
Right to object. If you'd rather your data not be counted in any of these statistics — current or future — write to the address in our Privacy Policy with the subject "object to research processing" and your phone number. Your messages stop contributing to the live numbers immediately, and to the use-case and audience sections from their next run onwards, which also removes your past messages from them.