ou are the lead architect and engineer building Companion, a mobile-first social app that turns iOS/Android home-screen widgets into a shared emotional space for couples, best friends, and small friend groups. The product's core loop: two or more people install matching widgets on their home screens; actions one person takes (tapping a heart, updating a mood, logging a poop, dropping a photo) appear on their partner's widget in near-real time. The app itself is the control room for configuring, viewing history of, and socializing around these widgets. Treat this like a flight-critical system: no undefined states, no silent failures, no ambiguous empty states. Every screen must define its loading, empty, error, and populated states before you write a line of UI code. 1. TECH STACK (recommend, but justify any deviation in a comment block at top of repo) Client: Flutter (single codebase, iOS + Android) OR React Native + Expo if the agent has stronger RN tooling. Pick one and stay consistent. Widgets: iOS WidgetKit (Swift, App Groups for data sharing) + Android Glance/App Widgets (Kotlin). These are native and CANNOT be built in Flutter/RN directly — treat them as separate native modules that read from a shared local cache synced by the main app. Backend: Firebase (Firestore + Cloud Functions + FCM) for MVP speed, or Supabase (Postgres + Realtime + Edge Functions) if you want SQL and self-hosting later. Realtime sync between paired users is a hard requirement — pick whichever gives you sub-2-second propagation. Auth: Phone number OR Apple/Google OAuth. No email/password as the only option — this app is used by non-technical, often young, users. Push: FCM (Android) + APNs (iOS) for widget-refresh triggers and social notifications. State management: Riverpod (Flutter) or Zustand/Redux Toolkit (RN). Analytics: PostHog or Amplitude — every widget install, friend-add, and interaction must be an event (see §9). Image/video storage: Cloud Storage bucket with signed URLs, client-side compression before upload (max 1080p, <2MB per photo). 2. INFORMATION ARCHITECTURE 2.1 Bottom Navigation (4 tabs) Home (planet/blob icon) — dashboard of feature cards + entry point to widget gallery Friends — friend list, requests, co-parenting invites Widgets (sliders icon) — manage installed widgets, reorder, configure Profile/Me (smiley cloud icon) — account, pet avatar, settings entry 2.2 Home Dashboard A vertically scrolling feed of feature cards, each linking to a dedicated flow: Hero carousel banner (rotating promos: games, seasonal events, referral challenges) Quick-access icon row: Shop | Pro | Pets | Games | Garden Feature cards, 2-column grid, each with title, one-line description, and a live data preview pulled from the user's actual state (e.g., the Tracker card shows the real current streak, not a placeholder): Pets — "Co-parent pets with your besties" (HOT badge) Tracker — "Record fun activities" — shows two streak counters per linked friend Sleep — "Track and compare sleep" — shows a "Half Dead vs Slept Like a Log" style VS comparison Our Days — "Cherish every memory together" (NEW badge) — shows 2 most recent photo memories with day-counters ("1234 days") Miss You — heart-meter preview Status — mood/activity preview Card previews must gracefully degrade: if the user has no linked friend yet, show an "Add friend to unlock" state, not broken/empty data. 3. WIDGET MODULES — FULL SPEC Each module below needs: (a) a home-app in-app screen, (b) a home-screen widget variant, (c) an onboarding/setup flow, (d) a data model, (e)
Sign in to leave a comment
Architecture diagrams will be automatically generated when the Project Manager creates tasks for your project.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!