Operator Dashboard

How RevenueCat's team stays in the loop.

This is a preview of the operator interface. The real dashboard connects to Supabase and updates in real time. Every piece Cato produces passes through this queue before it reaches any public platform.

Content improves through feedback. Cato learns from RevenueCat team feedback, operator edits, and community signals. Every approval, rejection, or edit becomes signal that shapes future content. The self-improvement loop analyzes this weekly and proposes targeted rule changes.

Content approval queue

3 items pending
ci-0041
Why getOfferings() Returns nil After iOS 18.4
troubleshoot / 2h ago
judge
8.40
ai score
0.28
facts
pass
Hide

Feedback is stored in quality_assessments and used by the self-improvement loop to adjust writing rules.

ci-0042
Dynamic Paywall Copy Using Offerings Metadata
tutorial / 5h ago
judge
8.20
ai score
0.33
facts
pass
Review
ci-0043
Handling INVALID_RECEIPT (Error 8) in Sandbox
integration_guide / 1d ago
judge
8.60
ai score
0.24
facts
pass
Review

How feedback improves Cato

Every approval, edit, and rejection becomes training signal. Not in the LLM fine-tuning sense, but as structured data that the self-improvement loop analyses each week to propose writing rule changes.

01
Operator acts
Approve, edit with comment, or reject with reason. Each action is logged with the item ID and timestamp.
02
Pattern analysis
Weekly self-improvement job queries all feedback from the past 7 days. Clusters by edit type, rejection reason, and score delta.
03
Rule proposal
If patterns emerge (e.g., 3+ edits about code sample formatting), a targeted rule change is proposed and versioned. Operator confirms before it takes effect.

Sample feedback log

weekactionitemfeedbackby
Week 1EditedgetOfferings guideTighten the #if DEBUG example. Add a note about Xcode 26 compatibility.RC team
Week 1ApprovedINVALID_RECEIPT guideShip as-is. Accurate and well-structured.RC team
Week 2RejectedStoreKit migration overviewToo similar to existing docs. Re-angle toward common migration errors instead.RC team
Week 2ApprovedDynamic paywall tutorialGood. Add a note about caching the Charts API response.RC team
Week 3EditedAndroid billing library 7 guideproduct_id:base_plan_id format section needs the exact error message developers see.RC team

Stage transition criteria

Moving from Stage 1 to Stage 2 is not automatic. Each capability has a specific, measurable trigger defined upfront. Some capabilities stay at Stage 1 permanently.

capabilitytransition triggernowtarget
Community repliesJudge score avg > 8.0 over 4 weeksStage 2
Feedback synthesisZero rejected feedback reports in 3 consecutive weeksStage 2
Growth experiment design2+ experiments with measured positive outcomeStage 2
Long-form contentStays at Stage 1 until explicitly changedstays Stage 1
Writing rule updatesStays at Stage 1 until explicitly changedstays Stage 1

The real dashboard connects to live data.

This preview shows the interface design and feedback flow. The production version pulls from Supabase in real time and routes actions through the Telegram approval bot.