Riffl — Ops Console
OA
Olamide A.
Owner
Overview
Updated 27 Jun 2026, 09:41 · last 30 days
All systems normal
3
OA
This console shows operational metrics only. User transactions, receipts and backups are encrypted on-device — by design, no admin can read them here.
AI scans today
142
▲ 8% vs yesterday
AI cost today
6,650
$4.03 · ≈ 47 / scan
Avg latency
2.9s
msSum ÷ attempts
Error rate
2.1%
3 of 145 attempts
AI scan volume · 14 days
peak 153
Proxy health
Success rate97.9%
Avg latency2.9s
Error rate2.1%
Text-only requests: 38% · images discarded after read
Beta access
config/beta
37 / 250
provisioned accounts · 213 slots free
Raises maxUsers — invites still pull from the waitlist
Recent events
Scan-rate anomaly · account #4471 (94 scans/hr)
New contact message · "Can I export to CSV?"
Waitlist · 18 new signups (iOS 11 · Android 7)1h ago
Scan rollup · 142 scans, 3 errors, $4.03today
Active accounts
37 / 250
213 slots free
Avg scans / account
23 / mo
Cost / scan
47
$0.028 · FX 1,650/$
Error rate · 30d
2.4%
88 of 3,728 attempts
Token usage · 30 days
metrics/*
Input tokens11.6M
Output tokens2.1M
Avg per scan: 3.4K in · 640 out · text-only mode lowers this
Plan mix
Starter (free)26
Plus9
Pro2
11 paid of 37 · from users/*.plan
Allowance burn by plan · avg used
users/*.allowanceUsed
Starter — 20 / mo42%
Plus — 40 / mo58%
Pro — 150 / mo31%
AI cost · 12 months
172K last 30d
{{ r.m }}
Proxy spend (costMicroUsd) — not revenue · via display FX
Scans per account · 30d
1–1019
11–5013
51–2004
200+ · flagged1
Grouped from scan_events by uid
Accounts
37 / 250
▲ +6 this week
Paid
11 · 30%
9 Plus · 2 Pro
Sync enabled
14
multi-device backup on
Near / over quota
3
upsell candidates
All accounts · 37
Search by uid
O
o••••@gmail.com
Pro · 2 devices · 2m ago
ProActive
E
e••••@gmail.com
Pro · 3 devices · 30m ago
ProActive
A
a••••@gmail.com
Plus · 1 device · 1h ago
PlusActive
C
c••••@gmail.com
Plus · sync off · 2d ago
PlusActive
T
t••••@yahoo.com
Plus · 2 devices · 38/40 scans
PlusNear quota
B
b••••@icloud.com
Starter · 20/20 used · 6h ago
StarterUpsell
M
m••••@gmail.com
Plus · scan-rate anomaly · 21m ago
PlusFlagged
K
k••••@outlook.com
Starter · 1 device · 1d ago
StarterActive
Emails are masked and IDs are pseudonymous. Operators never see expense data, receipts or backup contents — those are encrypted on-device.
OTP codes expire in 10 min · rate-limited 5/hr per account. The four KPIs below are live from auth_otp_events; the funnel and trend charts are sample shapes.
Codes sent · 24h
312
▲ signups + purchases
Verify success
89%
274 of 308 delivered
Median time-to-verify
24s
sent → entered
Deliverability
98.7%
4 bounced of 312
OTP funnel · 24h
auth_otp_events
Sent312 · 100%
Delivered308 · 98.7%
Verified274 · 87.8%
Expired 22 · wrong code 9 · resent 31
Outcomes · 24h
Verified274
Expired22
Wrong code9
Locked · rate-limited3
Lockout after 5 wrong attempts · auto-clears in 1h
Deliverability by domain
gmail.com99.2%
icloud.com98.9%
outlook.com98.4%
yahoo.com97.1%
Yahoo trending low — watch for spam-folder placement
Verify success · 14 days
avg 90%
Share of delivered codes verified within 10-min expiry window
Behaviour-change KPIs — aggregate counts only, no user content. This is the signal that the mission is working.
Have a budget
68%
▲ 6pts this month
Have a savings goal
41%
of active accounts
Median review streak
4 wk
weekly-review habit
Found-money accepted
57%
of nudges shown
Weekly-review streak distribution
{{ s.label }}
Accounts grouped by consecutive weekly reviews
Found-money nudge funnel · 30d
Shown2,140 · 100%
Set aside (logged)1,220 · 57%
Reached a goal milestone410 · 19%
Riffl records the set-aside; money never moves through Riffl.
Free
26
70% of accounts
Plus
11
▲ 3 this month
Pro
0
not opened yet
Free → Plus
9.4%
30-day conversion
Conversion funnel · 30d
Free signups26 · 100%
Hit a Plus gate18 · 69%
Opened paywall12 · 46%
Started Plus3 · 11.5%
Which gate drove the upgrade
{{ g.name }}{{ g.count }}
UpgradeScreen → paywall → start, by originating feature · top-up vs subscription: 8 / 3
Illustrative · Soon. The encrypted blob store + sync engine aren't shipped yet. These are the metrics we'll watch — all counts, zero-knowledge (server sees opaque blobs, never content).
Devices syncing
awaiting launch
Sync success rate
target ≥ 99.5%
Blob storage used
opaque blobs only
Restore success
new-device flow
Sync dashboard wires up when the backend ships
Once the zero-knowledge blob store is live, this panel fills with device counts, success rates and restore outcomes — all aggregate, never the encrypted contents.
COMING SOON · illustrative. Pro / Net Worth isn't built. These are the metrics we'll watch — counts only, never values or holdings. Net worth is the most sensitive data; the server never sees amounts.
Pro users w/ ≥1 asset
awaiting Pro launch
Median assets / user
count only
Track a liability
% of Pro
Price-fed opt-in
public prices only
Asset-class mix
How many users track each class — counts, not amounts
{{ c.name }}{{ c.count }}
Adoption metrics light up when Pro ships
Designed in full, deliberately deferred until the Plus launch product is proven. The server will only ever store counts and class flags — never a single net-worth figure.
Scans · 30 days
3,640
Cost · 30 days
172K
$104 · FX 1,650/$
On-device handled
71%
never left device
Avg latency
2.9s
msSum ÷ attempts
Top accounts by scans
#4471612
#1185410
#2030280
#0907150
#4471 flagged for review · tap to inspect
Allowance usage
Starter (20/mo) — at limit22%
Plus (40/mo) — avg used61%
Pro (150/mo) — avg used38%
Accounts at allowance limit3
Entitlements · allowance vs purchased credits
scan_entitlements
Monthly plan allowance refreshes each cycle; purchased top-up credits never expire and are spent only after the allowance runs out.
AcctPlanAllowance this cycleCreditsLeftStatus
#2110Pro90/150+400460Healthy
#2098Pro61/150+312401Healthy
#2052Plus12/40+150178Healthy
#2087Plus22/40+4866Healthy
#2071Plus38/4002Low
#2065Starter20/2000Upsell
#4471Plus150/4000Over
Tap a row to comp credits, reset the cycle, or nudge an upsell.2 low · 1 upsell · 1 flagged
Paystack is in test mode. CAC registration is still pending, so these are sandbox transactions — the integration, webhooks and flows are live and correct, but no real money has moved. Figures flip to production the day CAC clears. Safe to demo.
MRR
22.6K
11 active subs · ARR 271K
Top-ups · 30d
70K
22 packs · one-time
Collected · 30d
128K
subs + top-ups · sandbox
Failed · 30d
3
1 retrying · 2 recovered
Subscriptions by plan
Plus · 9 subs14.3K/mo
4 monthly · 5 annual
Pro · 2 subs8.3K/mo
1 monthly · 1 annual
Annual mix · ARPU55% · 2,053
Top-up revenue · 30d
50 scans12 · 18K
150 scans8 · 32K
400 scans2 · 20K
Attach rate · paid accounts31%
Recent transactions
paystack_transactions
#2110Pro · annual40,000Success2d ago
#2071Top-up · 150 scans4,000Success6h ago
#2098Pro · monthly5,000Success5h ago
#4471Top-up · 400 scans10,000Success1d ago
#2052Plus · monthly2,000Failed3h ago
#2044Plus · monthly2,000Refunded4d ago
Tap a row to inspect the Paystack reference, channel, and issue a refund or retry. Card numbers are tokenised — full PANs never reach Riffl.
Dunning · failed charges
Smart retries on the Paystack schedule — day 1, 3, 5, then downgrade.
#2052 · 2,000 Plus
Insufficient funds · retry 2 of 3 tomorrow
Recovered this month2 of 4 · 50%
Webhook health
Healthy
Events received · 24h142
Processed OK142 · 100%
Signature failures0
Last event4m ago · charge.success
Endpoint verifies the x-paystack-signature HMAC before acting. Unverified posts are dropped.
Total signups
This week
This month
Told us interests
By device
Loading…
Most wanted
Loading…
Recent signups
Loading…
This list is token-gated — only an operator holding the ops token can load it. Export CSV downloads every signup (email · source · device · interests · date) so you can import them into your invite/email tool.
COMING SOON
No hosted-backup service yet

Today backup is an on-device encrypted file the user exports themselves — there's no server-side hosted backup to report storage, restores or integrity checks on. This panel activates if and when hosted backup ships.

Zero-knowledge by design. Whenever hosted backup ships, files are encrypted on-device before upload — this console would only ever see size, count and integrity status, never the contents.
Unread
5
This week
12
Resolved
18
Top topic
Bug
5 of 12
Inbox
contact_messages
Tunde A. Feature
Can I export to CSV? I'd love to pull my spending…
2h
Ngozi E. Bug
The AI read got the date wrong on a GTBank screenshot…
5h
Bisi O. General
Just wanted to say the audit view is brilliant…
1d
Chidi N. Press
I write for a Lagos tech newsletter and would love…
2d
Amara K. Billing
When paid plans launch, will my early-access scans…
3d
Inbound from the website contact form. Replies go out via your own email client — no bulk-send integration needed.
OA
Olamide AgboolaOwner
olamide@riffl.app · Lagos, Nigeria
Sign out
Profile
Full name
Email
Timezone
Security
Password
Changed 3 weeks ago
Two-factor authentication On
Authenticator app
Passkey
Sign in without a password
Active sessions
MacBook · Chrome · this device
Lagos, NG · active now
iPhone · Riffl Ops
Lagos, NG · 2h ago
Windows · Edge
Abuja, NG · 5 days ago
Recent sign-ins
MacBook · Chromenow · Lagos
iPhone · Ops app2h · Lagos
Windows · Edge5d · Abuja
Your recent actions
Suspended scans · #4471
21m ago
Sent 142 early-access invites
Today, 09:12
Retried charge · #3390
Yesterday
Signed in from a new device
5 days ago