Product architecture
How Rogatus thinks
A simple loop, but each step has machinery behind it — categorization, identity context, sentiment, and a generation engine that turns answers into stories.
The core loop
Identity prompt
3 onboarding answers
Question pick
Curated or custom
Send
Link / email / SMS
Collect
Friend replies arrive
Report + rabbit hole
AI summary + follow-up
Rules engine
when response_count >= min_quorum(3)
and median_response_length > 40 chars
then trigger report.generate({
tone: blend(identity.vibe, category.color),
roast_level: user.preferences.spicy ? "medium" : "soft",
})
when report.published
then schedule follow_up.suggest({
seed_question: report.question,
motif: report.top_keyword,
delay: "48h",
})Data model
User ─┬─ Identity (vibe, love_lang, superpower)
├─ Friend[]
└─ Question[] ──┬─ Category
├─ Response[] ── Friend
└─ Report ── FollowUpSubsystems
Catalog service
Versioned question library with category sharding.
Generation engine
Composes report tone from identity + category palette.
Moderation layer
Tone check + community flags before publication.
Sentiment palette
Warm
Tender, affirming
Playful
Light, teasing
Deep
Reflective, slow
Spicy
Bold, edge of comfort