Skip to content

feat: gaps screen with AI and capsule wardrobe recommendations#9

Merged
jvsena42 merged 4 commits into
mainfrom
feat/gaps
Mar 27, 2026
Merged

feat: gaps screen with AI and capsule wardrobe recommendations#9
jvsena42 merged 4 commits into
mainfrom
feat/gaps

Conversation

@jvsena42
Copy link
Copy Markdown
Owner

Summary

Implement the Gaps screen showing wardrobe gap recommendations. When Claude AI is connected, shows personalized suggestions with pairing counts. Without AI, shows curated capsule wardrobe essentials (from Kimdamoda's 11-piece guide) filtered against items the user already owns.

Changes

  • GapsScreen (Android & iOS): Card-based UI with banner (AI Recommendations / Common Suggestions), grouped recommendation cards by category, detail bottom sheet, and "Add to Wardrobe" flow that opens AddItemSheet pre-filled
  • GapsViewModel (MVI): Loads AI recommendations when API key is configured, falls back to static capsule wardrobe suggestions filtered by owned subcategories
  • Enhanced GapRecommendation model: Added subcategory, colors, seasons, fit, material, and mappedCategory fields for the detail sheet
  • Updated AI prompt: GAPS_SYSTEM_PROMPT now requests subcategory/fit/material in JSON responses with safe parsing via runCatching
  • CapsuleWardrobe.kt: Static list of 13 men's capsule wardrobe essentials (tops, layering, bottoms, shoes, accessories)
  • GapRecommendationParsingTest: 6 unit tests covering full/partial/invalid JSON parsing and fallback filtering logic
  • AiLockedSheet integration: "Go to Settings" button now navigates to Settings tab from Gaps screen
  • INTERNET permission: Added missing permission to AndroidManifest
  • Persona.md: Added user persona document for design reference

Test plan

  • Open Gaps tab without API key → verify "Common Suggestions" banner and capsule wardrobe items grouped by category
  • Tap "Common Suggestions" banner → verify AiLockedSheet appears, "Go to Settings" navigates to Settings tab
  • Tap a recommendation card → verify detail sheet with item name, category, pairing info, subcategory/color/season/fit/material rows
  • Tap "Add to Wardrobe" in detail sheet → verify AddItemSheet opens pre-filled with recommendation data
  • Add some items with subcategories (e.g., jeans) → verify those subcategories are filtered out of Common Suggestions
  • Add all capsule items → verify "Your wardrobe looks complete!" empty state
  • Connect API key and open Gaps tab → verify "AI Recommendations" green banner and personalized suggestions with pairing counts
  • Verify both phone and tablet layouts on Android and iOS

Checklist

  • ./gradlew detekt passes
  • Tested on Android
  • Tested on iOS
  • Updated documentation (if applicable)

@jvsena42 jvsena42 enabled auto-merge March 27, 2026 21:38
@jvsena42 jvsena42 merged commit e8760ba into main Mar 27, 2026
1 check passed
@jvsena42 jvsena42 deleted the feat/gaps branch March 27, 2026 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant