Overview
Smart Cart simplifies the process of planning meals and building grocery lists. Users create meals by adding ingredients with structured quantity and unit support, and the app automatically aggregates shared ingredients across recipes into a single consolidated shopping list.
It also integrates location-aware store discovery to help users find nearby grocery options, reducing friction between planning meals and completing a shopping trip.
Features
Meal planning with structured ingredients
Users create meals by adding ingredients with selectable measurement units. Ingredients and unit preferences are stored persistently and reused across the app, reducing repetitive input across multiple recipes.
Automatic ingredient aggregation
Ingredients from multiple meals are automatically merged into a unified grocery list. Users can inspect quantities, track which recipes each item belongs to, and adjust measurement formats before shopping.
Location-aware store discovery
Map-based store discovery is integrated directly into the shopping workflow. The app uses GPS to surface nearby grocery options via OpenStreetMap, reducing the gap between planning and shopping.
Technologies
Reflections
The usability evaluation revealed strong performance across the core workflow. A System Usability Scale test with nine participants returned an overall score of 84.2 — usability 88.9, learnability 83.0 — confirming that users could navigate the meal planning flow quickly and without confusion.
Building with Flutter's async architecture surfaced interesting tradeoffs between loading performance and data freshness — especially when handling the large OpenStreetMap grocery store dataset. Managing unit normalization across ingredient types also required careful design of the data model to avoid edge cases at aggregation time.