Skip to content

Mirror Me

A Flutter app that tries clothes on you with Gemini and gives styling advice, grown out of a 2022–23 virtual wardrobe project.

Year
2023–26
Role
Solo: architecture, mobile app, backend
Status
Private · client
Context
Product
Mobile · GenAI virtual try-on2023–26

Results

  • 5

    tables under Row-Level Security

    Full per-user data isolation

  • 3

    architecture layers

    Data, Domain and Presentation, per feature

It started as a virtual wardrobe web app that matched outfits automatically and never repeated one. Mirror Me is the rebuild: a Flutter mobile app with realistic virtual try-ons and markdown-formatted styling advice, both powered by Gemini through the native google_generative_ai SDK.

The architecture is Clean Architecture with feature modules: separate Data, Domain and Presentation layers, BLoC for unidirectional state, GetIt for dependency injection, and Dartz Either types for type-safe error handling.

The backend is Supabase: auth sessions, multi-bucket storage for images, and five relational tables (users, wardrobe, user_images, tryon_results, recommendations), each locked down with Row-Level Security so every user’s data stays isolated.