Two surfaces and a living Money Map. Your daily is the home you open every day. Talk to Nudgey is the conversation that shows up when you want context. The Money Map is the picture of your money that fills in over time. The signature flows are the surfaces that make Nudgey distinctly Nudgey.
The home you open every day. Template-rendered — no cloud round-trip on the swipe path, no cost, no latency. Voice-checked at compile time so every line passes brand voice before it ships.
~N% sure confidence figureTalk to Nudgey when the daily isn't enough. On-device memory; cloud calls are stateless. The same voice as your daily — system prompt and runtime voice-lint enforce it.
Nudgey learns how your money moves from your phone, on-device — nothing leaves it. The Money Map is the artifact that learning builds: a persistent home in the app that fills in over time and is honest about what it's still figuring out (~78% complete · still building). It starts the moment you install and keeps deepening over days.
The "AI feel" comes from when Nudgey decides to surface things and how it orders journeys — not from generating components or markup. Levels 4–5 are explicitly forbidden in V1 and V1.5. Brand consistency, accessibility, and predictability are protected values.
The shell — fixed layout, fixed components, fixed states.
Same screen structure; content reflects the user's data.
Same screens, ordered by what matters most this week.
Different paths through the same screens. Copy is LLM-rendered inside known structures.
Forbidden. Breaks brand consistency and accessibility.
Forbidden. The screen is not a model output.
These flows define how Nudgey feels. Anything outside this list lives in its sub-project's spec, not here. Sunday Drop is canonical — the others imitate its shape.
Five blocks: header, frames, narrative, state graph, invariants. Other flows lift this exact structure with different content.
InsightScheduler fires Sun 09:00 local. Composes one push via NotificationService.JourneyOrchestrator routes to Home and pins the Drop card top.nudgey-drop top-right.InsightScheduler only — never from a remote push. Bundle is AnonymizedInsight-class only.TemplateNudgeGenerator for both tiers in V1. LLM not invoked on the Drop generation path.InsightScheduler is the sole owner of when. No other interface schedules a Drop.Each carries enough to anchor identity. Full structure (header, frames, narrative, state graph, invariants) lives in the owner sub-project's spec.
First open. Phone auth → email capture + OTP-verify → Nudgey starts learning how your money moves, on-device → a real day-one reveal painted from the backfill it just read. The viral moment. Honest while it's still building — never fake data; if real insights aren't ready yet, an honest holding card instead. The Money Map is the privacy explainer.
Every-open mechanic. Headroom hero · card stack · pre-spend pause if pending. ~95% of all interactions. Template-rendered, no cloud round-trip on the swipe path. Voice-lint at compile time.
Persistent thread with Nudgey. Cloud LLM, low temperature, voice-lint at runtime. On-device memory; cloud calls stateless. 5 turns/day free after a 30-day full trial; premium unlimited. No sample-and-audit retention.
Monthly recap. Premium: LLM narrative from AnonymizedInsight + first name. Free: templated. Routing in PeriodStoryBuilder via PremiumStatus. nudgey-period-story on the title surface.
The single monetization gate. Triggered by the 6th conversation turn or the 2nd same-week Drop. ZED-driven M-Pesa STK push for payment (orderId-idempotent, recovery on launch). Never blocks the daily. Decline returns to surface, not home.
The live agentic moment. Outgoing payment detected → 5-second pause card with amount, category projection, headroom impact. Never auto-cancels. nudgey-pause coral. On-device only — latency-fatal otherwise.