Amra
Relationship-first finance for couples: shared expenses, daily goal check-ins, and a reward loop in one lightweight PWA.
Showcase layout
1) Setup flow

Sign in
Simple entry point to reduce onboarding friction.

Sign-in variant
Visual exploration for the entry screen.

Partner connect
Code-based pairing keeps setup quick and clear.

Set goals
Defines measurable daily actions.

Set rewards
Creates motivation with fixed point tiers.
2) Core product screens

Home dashboard
Points, monthly spend, and direct links to the key actions.

Expenses list
Tracks transactions and who owes whom.

Add expense
Fast category-based logging from mobile.

Rewards
Redeem incentives based on earned points.

Goal check
Daily accountability loop between partners.

Settings
Quick edits to goals, rewards, and profile details.

Confirmation state
Safe redemption flow with explicit confirmation.
Architecture and data flow
Amra is structured around route groups and focused Firestore service modules:
app/(setupflow)handles sign-in, partner connection, and initial goals/rewards setupapp/(main)handles home, expenses, rewards, goal check, and settingsapp/_lib/firestorecentralizes read/write logic for users, couples, expenses, and goals/rewardsapp/_lib/authwraps Firebase auth client/server flows
Firebase model
- Auth: Google sign-in identifies each user
- Users: nickname and connection code state
- Couples: partner linking and shared context
- Expenses: transaction items with category, amount, payer, timestamp
- Goals/Rewards: partner-configured goals and fixed point-tier rewards
Request path examples
- Add expense: UI form ->
addExpense()-> Firestore write -> recomputed monthly totals ingetCoupleDetails() - Goal check submit: checkbox selections ->
addPointsToPartner()-> partner points update -> rewards eligibility changes - Redeem reward: UI confirmation ->
redeemReward()-> points deduction + success feedback
Design notes
- Warm, playful UI language makes finance conversations less stressful
- Card-based hierarchy keeps core numbers visible without dense dashboards
- Setup flow front-loads relationship context (partner, goals, rewards)
- Habit and money loops stay connected through points and redemptions