widgets-couples

byKumar Rishu

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)

No preview

Comments (0)

No comments yet. Be the first!

Project Tasks

20 planning tasks
#1

Generate system requirement document

7m 15s0.2 cr used
Done
#2

Generate personas & user flows

0m 11s0.2 cr used
Done
#7

Create flow for Companion user

0m 10sCredits in parent
Done
#8

Landing

1m 39sCredits in subtasks
Paused
#21

Landing / Navigation

1.6 cr needed
Paused
#20

Landing / Hero

1.6 cr needed
Paused
#22

Landing / Footer

1.6 cr needed
Paused
#9

Home

Credits in subtasks
Paused
#10

Friends

Credits in subtasks
Paused
#11

Widgets

Credits in subtasks
Paused
#12

Profile/Me

Credits in subtasks
Paused
#13

Pets

Credits in subtasks
Paused
#14

Tracker

Credits in subtasks
Paused
#15

Sleep

Credits in subtasks
Paused
#16

Our Days

Credits in subtasks
Paused
#17

Miss You

Credits in subtasks
Paused
#18

Status

Credits in subtasks
Paused
#19

Login

Credits in subtasks
Paused
#5

Architecture

0.2 cr needed
Paused
#6

Workspace task plan

0.2 cr needed
Paused

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: View public introduction
Landing: Choose first-use enrollment
Login: 1. Verify via phone or OAuth
Login: 2. Retry failed verification
Login: Verify as returning member
Home: 1. View live previews
Home: 2. See Add friend to unlock
Home: 3. Retry loading previews
Home: 4. Open a feature card
Home: 5. Select a bottom-nav tab
Friends: 6. View list, requests, invites
Friends: 7. Add a friend
Friends: 8. Retry failed friend-add
Friends: 9. View resulting request state
Widgets: 10. Select a module
Widgets: 11. Complete setup and configuration
Widgets: 12. Follow platform install flow
Widgets: 13. Recover from install failure
Widgets: 14. Reorder and configure installed
Widgets: 15. View widget history and social
Pets: 1. Participate in shared pet care
Pets: See Add friend to unlock
Pets: 2. Retry loading pet state
Tracker: 16. Record a fun activity
Tracker: 17. View paired streak counters
Tracker: See Add friend to unlock
Tracker: 18. Retry failed activity write
Sleep: 19. Record sleep information
Sleep: 20. View paired VS comparison
Sleep: See Add friend to unlock
Sleep: 21. Retry failed sleep update
Our Days: 22. Select a photo memory
Our Days: 23. Upload compressed memory
Our Days: 24. Retry failed upload
Our Days: 25. Revisit shared memories
Our Days: 26. See no-memories empty state
Miss You: 27. Send Miss You interaction
Miss You: 28. View shared heart-meter
Miss You: See Add friend to unlock
Miss You: 29. Retry failed interaction
Status: 30. Update mood or activity
Status: 31. View linked member status
Status: See Add friend to unlock
Status: 32. Retry failed status update
Profile/Me: 33. View account and pet avatar
Profile/Me: 34. Retry loading account

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: View public introduction
Landing: Choose first-use enrollment
Login: 1. Verify via phone or OAuth
Login: 2. Retry failed verification
Login: Verify as returning member
Home: 1. View live previews
Home: 2. See Add friend to unlock
Home: 3. Retry loading previews
Home: 4. Open a feature card
Home: 5. Select a bottom-nav tab
Friends: 6. View list, requests, invites
Friends: 7. Add a friend
Friends: 8. Retry failed friend-add
Friends: 9. View resulting request state
Widgets: 10. Select a module
Widgets: 11. Complete setup and configuration
Widgets: 12. Follow platform install flow
Widgets: 13. Recover from install failure
Widgets: 14. Reorder and configure installed
Widgets: 15. View widget history and social
Pets: 1. Participate in shared pet care
Pets: See Add friend to unlock
Pets: 2. Retry loading pet state
Tracker: 16. Record a fun activity
Tracker: 17. View paired streak counters
Tracker: See Add friend to unlock
Tracker: 18. Retry failed activity write
Sleep: 19. Record sleep information
Sleep: 20. View paired VS comparison
Sleep: See Add friend to unlock
Sleep: 21. Retry failed sleep update
Our Days: 22. Select a photo memory
Our Days: 23. Upload compressed memory
Our Days: 24. Retry failed upload
Our Days: 25. Revisit shared memories
Our Days: 26. See no-memories empty state
Miss You: 27. Send Miss You interaction
Miss You: 28. View shared heart-meter
Miss You: See Add friend to unlock
Miss You: 29. Retry failed interaction
Status: 30. Update mood or activity
Status: 31. View linked member status
Status: See Add friend to unlock
Status: 32. Retry failed status update
Profile/Me: 33. View account and pet avatar
Profile/Me: 34. Retry loading account