Overview

The last 30 days at a glance

Today's database use
0reads
of 50k free
0writes
of 20k free
✅ Well within limits
Active people · 7 days
–
Active today
–
App opens · 7 days
–
AI requests · 7 days
–

Daily active people

Unique people active in the app each day, last 30 days

iPhone vs Android

Share of active people, last 30 days

App health · 7 days

Most used sections

Tab visits, last 30 days

Top features

Most tapped, last 30 days

Latest activity

Newest events in the cache

Total App Opens
–
in selected range
Active Users
–
unique users
Section Views
–
total tab navigations
Top Section
–
most visited tab
Stickiness (avg daily / range)
–
% returning daily

Section Usage

Times each tab was opened

App Opens Over Time

Daily launches in selected range

Activity Heatmap

App opens and tab visits by hour and weekday in each person's own time zone, darker means more
Loading…

Session Analysis

One row per app session (one launch), every event type, newest first
Loading…

Per-User App Opens

How many times each user opened Praana per day
Loading…

Section Views by User

Which tabs each user visited and how often
Loading…

Recent Events

25 per page · newest first
Loading…
Total Tokens Used
–
prompt + completion
Prompt Tokens
–
input tokens sent
Completion Tokens
–
output tokens received
Total API Calls
–
AI requests made
Avg Tokens / Call
–
efficiency indicator
Top Feature
–
most tokens consumed
Est. Cost (USD)
–
mistral-small-2603 pricing

Tokens by Feature

Total tokens per AI feature

Daily Token Usage

Prompt vs completion tokens over time

Feature Distribution

Token share by AI feature

Feature Usage Over Time

Daily tokens stacked by feature

Cost Projection

Daily cost trend + 30-day projection at current rate

Feature Funnel

Users at each stage of AI feature adoption
Loading…

Prompt / Completion Ratio

Input vs output token ratio over time — higher output = better responses

AI Usage by Hour

When during the day users trigger AI features, in their own time zone where the app sends it

Token Usage by User

How many tokens each user has consumed across features
Loading…

Recent AI Calls

25 per page · newest first
Loading…

💰 Cost Intelligence

Budget target ($/mo):
mistral-small-2603 pricing · $0.15/1M input · $0.60/1M output · Real-time spend breakdown
Monthly spend estimate –
$0.0000 spent of $5.00 budget
Total Cost
–
selected period
Daily Rate
–
avg cost/day
30-Day Projection
–
at current rate
Cost / Call
–
avg per AI request
🍎 iOS Cost
–
– calls · – tokens
🤖 Android Cost
–
– calls · – tokens
Loading…
⚠️
Firebase Remote Config — Pricing Change Effective Sep 1, 2026
Project novara-12797 is currently within the free tier (0–100,000 daily fetches — no charge). If usage grows beyond the free tier after December 1, 2026 charges will apply. Upgrade to Blaze before November 15, 2026 to extend the billing start date to February 1, 2027.
SKU: 37B1-4623-6F54

✅ Action Checklist

💰 Remote Config Pricing Tiers

Per project · Per day · Effective Sep 1, 2026
Daily Fetches Rate Status
0 – 100,000 Free CURRENT
100,001 – 10,000,000 $0.06 / 10,000 fetches Not reached
Above 10,000,000 $0.01 / 10,000 fetches Not reached

🧮 Daily Fetch Cost Calculator

Enter your expected daily Remote Config fetch volume
Daily Cost
$0.00
Monthly Est.
$0.00
Tier
Free Tier
0Free tier limit — 100,000
5,000 / 100,000 fetches (5.0% of free tier)

📅 Key Dates Timeline

Requests
–
AI calls made
Total Cost
–
across all features
Median Request
–
tokens, typical call
95th Percentile
–
tokens, worst 1 in 20
Saved By Cache
–
tokens not spent
Failed Calls
–
no answer returned
Cost per turn in a conversation
Every turn resends the whole conversation, so turn 8 pays for turns 1-7 again. A rising line is normal; how steeply it rises is the question, and it is invisible in any per-feature total.
Tokens by flow and step
Which step of a multi-step task spends the money
Loading…
Cost by language
Tokens per character varies several-fold by script, so identical content costs very different amounts in different languages
Loading…
Most expensive single requests
The individual calls worth looking at first
Loading…
Failures
Calls that returned nothing. These record no tokens, so a feature that fails often looks cheap in every other view
Loading…
Full request ledger
One row per AI call, newest first. Every field the app records
Loading…
Total Questions
–
in selected range
Manual Questions
–
typed by users
Preloaded Used
–
suggestion chips tapped
Unique Users
–
asked at least one question
Avg Words / Question
–
manual questions only

Questions Over Time

Daily question count — manual vs preloaded

Manual vs Preloaded Split

Share of question types

Word Count Distribution

How long are manual questions on average

Engagement Summary

Type split and average question length

Question Patterns

Word-count distribution · manual vs preloaded breakdown
Loading…

All Questions

25 per page · newest first · filter by type (manual / preloaded)
Loading…
Total Users
–
seen in range
Avg Opens / User
–
per user, whole range
Most Active
–
highest opens
Top AI User
–
most tokens used
Loading…
Week-1 Retention
–
returned after day 7
Week-2 Retention
–
returned after day 14
Week-4 Retention
–
returned after day 28
Churned Users
–
inactive 14+ days

Weekly Retention Cohorts

% of people first seen in each week who opened the app again in later weeks, green is high, red is low
Loading…

Churned Users

Users with an app_open in the loaded days but none in the last 14 days
Loading…
Live Event Stream Connecting…
Events Today
--
since midnight, this computer's time
Active Now
--
unique users (last 5 min)
AI Calls Today
--
since midnight

Events

Waiting for events…

🎯 Goals & Benchmarks

Set targets: DAU is today, the others are this month so far (follows the platform toggle)
Daily Active Users (DAU)
Today: – · Target: –
–%
Monthly AI Cost Budget (USD)
This month: – · Budget: –
–%
Monthly AI Calls
This month: – · Target: –
–%
Monthly Ara Questions
This month: – · Target: –
–%
Monthly App Opens
This month: – · Target: –
–%
Android doesn't record this yet. Only the iPhone app sends screen exits, rage taps, flow steps and timings. Android's errors are on the App Health tab.
Idle exits
–
screens left without a single tap
Rage taps
–
4+ taps on one control in 2s
Flows abandoned
–
–
Errors
–
–

🧱 Stuck screens

Ranked by a stuck score: how often people leave without doing anything, weighted by how long they stayed first. A screen people leave instantly is a wrong turn. A screen they sit on for a minute and then leave untouched is one they could not work out.

🪜 Flow drop-off — the exact step

Every multi-step task, broken down by where it died. This is the table that turns "40% abandon onboarding" into "38% of abandons happen on page 14", which is a thing you can actually go and fix.

💥 Errors, by where the user actually was

Grouped by screen and message. The screen is the one the user was on when it fired, not the one the failing code lives in - those are often different, and the first is where the investigation should start.

😠 Rage taps

The user tapped one control four times in two seconds. They are telling you it looks broken, whether or not it is - a slow control and a dead control feel identical from the outside.

🚪 Dead ends

The last screen before the session ended. Some of these are healthy - people finish and leave. A screen that ends sessions but is not a natural finishing point is where people give up.

🐌 Slow operations

Median and worst-case duration. The median says whether it is usable; the p95 says what the unlucky fifth of users actually live with, and that is the number people abandon over.

🔍 Session replay

One session, step by step, in order. Pick a session to read exactly what happened - the fastest way to understand a single confusing report from a tester, and the only view here that shows causes rather than aggregates.

Android doesn't record this yet. Language switches, previews, downloads and language settings are only sent by the iPhone app.
Language switches
–
–
Undo rate
–
switches reversed within 12s
Non-English users
–
–
Translation reports
–
quality complaints filed

Language adoption

Which languages users actually switch to, and whether it was already cached or needed a download. A language with many downloads and few repeat switches is one people tried and left.

Undo — the trust signal

Every switch reversed within the 12-second window. A high rate here means people are landing somewhere they cannot read, which adoption counts alone will never show: a switch that gets undone still counts as a switch.

Preview → switch conversion

Whether looking at sample phrases changes the decision. Low conversion means the preview is doing its job (people are backing out of the wrong language); zero previews means nobody found the eye icon.

Bulk download runs

Started, finished, stopped, and how long it really took against the estimate shown to the user. The gap between the two is the bug.

Translation preferences

Address form, regional variant, native digits, Wi-Fi-only, and Ara's language override. Each of these was built on an assumption about what people want; this is where the assumption gets checked.

Storage actions

Deletes and download-without-switching. Both are paths that are easy to ship broken and hard to notice: a delete that does not free space, or a download button that silently switches the language instead.

Problems

Failed downloads, languages deferred for Wi-Fi, and reported wording. A language failing for many users is a catalog problem; failing for one is a network.

📱 iOS vs Android · Head-to-Head
Cross-platform engagement, AI usage, and health metrics — last 30 days
iOS Android
Total App Opens
–
🍎 iOS
–
🤖 Android
Active Users
–
🍎 iOS
–
🤖 Android
Section Views
–
🍎 iOS
–
🤖 Android
AI Calls
–
🍎 iOS
–
🤖 Android
Avg Sessions / Day
–
🍎 iOS
–
🤖 Android

Daily Active Users

People with any activity each day, iOS vs Android, last 30 days

Section Popularity

Side-by-side iOS vs Android per section

Top Screens

Top 8 screens — iOS vs Android horizontal bars

Event Type Breakdown

iOS (outer ring) vs Android (inner ring), last 30 days

AI Usage Comparison

Total calls, tokens and estimated cost per platform

Daily AI Tokens by Platform

Stacked daily total tokens — iOS + Android

Error Rate Comparison

Daily app errors — iOS vs Android

Permission Grant Rate

% of permissions granted — iOS vs Android

💰 AI Cost by Feature — iOS vs Android

Mistral-small pricing · $0.15/1M input · $0.60/1M output · last 30 days
Loading…

Feature Adoption by Platform

screen_view counts per screen, most viewed first, last 30 days
Loading…
Screen Views
–
in selected range
Feature Taps
–
tappable element interactions (iPhone only)
Action Taps
–
button presses & named actions
Data Entries
–
mood / water / weight / journal (iPhone only)
Settings Changes
–
toggle / value changes

📱 Top Screens

Most visited screens by view count

👆 Top Feature Taps

Most tapped UI elements across all screens (iPhone only: Android does not record feature taps yet)

📈 Daily Interactions

screen_view · feature_tap · action_tap per day

🔢 Top Actions

Named action_tap events, most frequent first

Top Screens by Views

All screen_view events ranked by count

#ScreenViewsUnique Users% of Total
Load data to see results.

Top Feature Taps

feature_tap events, what users are tapping most (iPhone only: Android does not record these yet)

#ScreenFeatureDetailTapsUnique Users
Load data to see results.

Data Entries Logged

data_entry events, what users are tracking (iPhone only: Android does not record these yet)

#Data TypeScreenSample ValuesCountUnique Users
Load data to see results.

Settings Changes

settings_change events — how users configure the app

#SettingValueCountUnique Users
Load data to see results.

✨ Recently Added Features

New capabilities shipped across iOS (Prāana) and Android (Novara) during the current development sprint — May 2026

💪 WORKOUT
  • 🗺️ Muscle Fatigue Map — 7-day rolling fatigue heatmap per muscle group
  • 🏆 Post-Session Summary Sheet — auto-shown stats, PRs and share
  • 📊 Volume Landmarks — MEV / MAV / MRV per muscle group
  • 🎯 Readiness Banner — HRV + sleep + fatigue score
  • 📅 Deload Suggestion — triggers after 4+ sessions/week
⚖️ BODY COMPOSITION
  • 🔥 TDEE Card — Maintenance / Cut / Bulk calorie targets
  • 🥗 Macro Split Card — Protein / Carbs / Fat breakdown
  • 📏 Ideal Weight Card — Devine / Robinson / Hamwi / Miller formulas
  • 📐 Body Fat Category Gauge — Visual zone indicator
  • 🎉 Milestone Celebration — Overlay when goal weight reached
  • 🍎 HealthKit Write-back — Weight & body fat synced to Apple Health
🩺 HEALTH DATA
  • 🩸 Blood Glucose Write-back — Saves to HealthKit from Blood Report entry
  • 💓 Blood Pressure Write-back — Systolic + diastolic saved to HealthKit
  • 🔧 HealthKit Auth Fix — Resolved NSException threading crash on launch
⚙️ SETTINGS & UX
  • 🎨 Theme Picker — Accent colour + Bright Mode toggle
  • 🤖 Ara Personality Picker — Friendly / Coach / Clinical tone
  • 🗑️ Multi-step Data Reset — Step-by-step progress flow
  • 📓 Journal Settings — Prompts, biometric lock, export
  • 🏋️ Goal Planner & Injury Log — Moved into Workout screen toolbar (matches iOS)

🚀 Feature Overview

Fan-menu feature opens — screen_view events for Workout, Body Comp, Food, Fitness, Blood, Meds, Health News, LunaFlow & Meal Plan

📊 Feature Opens (Total)

How many times each fan-menu feature was opened

📅 Daily Feature Opens

Opens per day for each feature over the selected range

Feature Detail

Per-feature opens, unique users, and last opened timestamp

# Feature Opens Unique Users % of Feature Views Last Opened
Load data to see results.
Action Taps by Screen (Top 15)
Settings Changes by Key (Top 15)
Daily Interaction Volume
Close / Cancel Rate by Screen
Button Taps — Top 50
Screen Action Count
Feature Element Taps — Top 50
Screen Feature Detail Count
Settings Change Log — Latest 100
Time User Setting Value
User Session Drill-Down

📥 Export Filters

Data Preview

Click "Preview Data" to load a filtered snapshot.
Apply filters above and click Preview Data to see results.
Total Errors
–
app_error events
Crashes
–
crash reports ·
Avg Cold Launch
–
milliseconds
Health Grant Rate
–
health permissions granted
Top Error Screen
–
most errors here

🔴 Errors Over Time

Daily app_error count

🗂 Error Type Breakdown

Distribution by errorType

⚡ Cold Launch Time (ms)

Daily average — target < 800 ms

🔑 Permission Outcomes

Granted vs denied per permission (health and notifications)

Recent Errors

Latest 100 app_error events, newest first

No error events yet in this range.

Performance Log

Latest 100 performance readings, newest first

No performance events yet in this range.

Users Started
–
opened onboarding
Completions
–
got into the app (incl. returning sign-ins)
Completion Rate
–
started → finished
Avg Time to Complete
–
minutes, new set-ups only
Biggest Drop-off
–
page people leave from most

🚀 Onboarding Funnel — Page Reach Rate

% of users who started that reached each page (returning users who sign in skip pages 13 to 19)

⏱ Average Time Per Step

Mean seconds spent on each onboarding page (stays over 30 min left out)

Step-by-Step Breakdown

Reach count, drop-off rate, and average dwell time per page

Nothing yet in this range.

Recent Onboarding Events

Raw onboarding flow log, newest first (latest 100)

No onboarding events yet in this range.
Total Reports
–
in date range
New (Unread)
–
awaiting review
Bugs
–
crash / misbehaviour
Feature Requests
–
suggestions
Unique Users
–
reporters

🐛 Reports by Category

Breakdown of report types

📅 Reports Over Time

Daily count in selected date range

All Feedback Reports

Newest first — click a row to expand the full message

Loading…

📢 Announcements

Write a short message here and it appears as a one-time popup for every user the next time they open the app — no build or release required.

✏️ Publish a New Announcement

Goes live immediately — no sign-in needed

🟢 Currently Live

What every user sees on their next app open, until they dismiss it once.

Loading…

📜 History

Every announcement ever published, newest first. Publishing a new one does not remove old rows here.

Loading…
Total Requests
–
all time
Pending
–
awaiting review or ID
Requires ID
–
crosses age gate
Approved
–
corrections applied
Rejected
–
denied

🔒 Date of Birth Correction Requests

Newest first · 🟠 Orange border = ID verification required before approving

Loading…

📈 Dashboard DB Usage

Reads & writes made by this dashboard today (12:00 AM – 11:59 PM). Tracked locally in your browser — resets at midnight.

Reads Today
0
of 50,000 free
% of Read Quota
0%
used today
Writes Today
0
of 20,000 free
% of Write Quota
0%
used today
Status
✅
Safe

📊 Quota Usage

Reads 0 / 50,000
Writes 0 / 20,000

🕐 Reads by Hour (Today)

How many Firestore reads this dashboard made each hour

📅 Last 7 Days

Daily read totals from this dashboard

🔍 Read Operations Log (Today)

Every Firestore fetch this dashboard made today

Projects / Praana Support
PRA board Connecting…
Crashes
–
last 30 days
People affected
–
at least one crash or freeze
Crash-free sessions
–
app opens with no crash
Freezes
–
hangs and "not responding"

Crashes per day

Counted on the day the crash happened, not the day it was sent

Crash groups

The same bug on many phones shows up once. Most common first.

Loading…
Pick a crash group to see the details.

Sleep & Calm

People
–
opened it, last 30 days
Opens
–
hub and tools
Times used
–
a tool run to the end
Calm minutes
–
breathing, sounds, scans

Sleep & Calm opens per day

Every open of the hub or a tool, last 30 days

Tools: opened and used

Opened = the tool was shown. Used = someone finished it (or saved it). A big gap means people look and leave.

Loading…

Diary, course and nightmare rewrite

How far people get with the longer tools.

Loading…

How people got there

Hub opened from Quick Add, or a link straight into a tool.

Loading…

Screen tips

Tips shown
–
tours started
Finished
–
read to the last step
Skipped
–
closed early
Tips turned off
–
"Show tips" switched off

Each screen's tips

Skipped at = the average step people were on when they closed it. Skipping at step 1 usually means the tip came at a bad moment.

Loading…

Contact us

Screen opens
–
people
Helper answers
–
AI cost
Helper failures
–
no answer given
Tickets sent
–
asked for a person

What people pressed

Buttons on the Contact us screen. The three chips are the ready-made questions.

Loading…

Why the helper failed

offline / network = the phone had no connection. http_429 = too many requests. http_5xx = the AI service had a problem.

Loading…

Find a person

Paste a user ID, install ID or ticket reporter ID. Part of an ID works too.

People who hit problems recently

Crashes, errors and failed AI requests in the last 7 days.

Loading…

💶 Money

Everything you pay for, in euros. Some lines fill themselves in; for the rest, type the amount from the bill once and it carries over each month until you change it.

This month, all in
-
-
Apps (AI and voice)
-
-
Other monthly bills
-
-
Yearly fees
-
-

Everything, this month

Loading…

Last 6 months