Full-stack mobile application for managing coffee brews, recipes, and brewing history, with guided workflows, asynchronous timers, and persisted user data.
BrewHand is designed as a stateful, data-driven application that supports end-to-end brewing flows, from method selection and configuration to execution, review, and social sharing.
User dashboard aggregating persisted brew data, including usage statistics, streaks, and historical summaries derived from stored brew records.
Brewing method selection flow driving dynamic configuration paths based on the selected brewing method and difficulty.
Parameterized brew setup allowing users to configure beans, grind size, ratios, and water volume using data-driven defaults.
Sequential brewing guide implementing controlled progression through defined brewing steps.
Asynchronous brewing step with countdown timer, pause/reset controls, and persisted state handling across navigation.
Post-brew completion flow capturing user ratings, notes, and feedback before persisting results to storage.
Historical brew records displaying saved parameters, ratings, timestamps, and replay/share functionality.
Social feed displaying shared brew records with metadata, ratings, and interaction hooks.
Rule-based conversational assistant providing coffee bean and brewing recommendations based on user preferences and inputs.
- Frontend: Flutter mobile application with modular UI components and asynchronous state handling.
- Backend: Supabase for authentication, data persistence, and realtime updates.
- Data Model: Relational schema for brews, methods, parameters, ratings, and user activity.
- State Management: Step-based workflows with persisted state across screens.
- Async Logic: Timers, guided steps, and user-controlled progression.
- Frontend: Flutter, Dart
- Backend: Supabase (PostgreSQL, Auth, Realtime)
- Data: Relational data modeling, persisted user records
- Async: Timers, step-based workflows, realtime updates
- Flutter SDK (latest stable version)
- Dart SDK
- Android Studio or Xcode (for mobile deployment)
- Supabase account
-
Clone the repository
git clone https://github.com/yourusername/brewhand.git cd brewhand -
Install dependencies
flutter pub get
-
Configure Supabase
- Create a new Supabase project
- Run the SQL scripts in the following order:
supabase_fixed_solution.sql(complete database setup)- Or individual components:
- Table creation scripts
supabase_functions_fixed.sqlsupabase_rls_policies.sql
- Update the Supabase credentials in the app
-
Run the app
flutter run
This project is licensed under the MIT License - see the LICENSE file for details.








