๐ŸŒ AIๆœ็ดข & ไปฃ็† ไธป้กต
Skip to content

๐ŸŒ€ SWIRL - Fashion Discovery App | Tinder for Fashion | Swipe-based AI-powered personalized shopping experience for UAE/Middle East

License

Notifications You must be signed in to change notification settings

Xyerophyte/swirl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒ€ SWIRL - Fashion Discovery App

SWIRL Logo

Tinder for Fashion - Swipe Your Style Into Existence

Flutter Supabase License

A next-generation fashion discovery platform that uses AI-powered personalization and swipe-based interactions to help users discover clothing from UAE/Middle East stores.

Features โ€ข Demo โ€ข Installation โ€ข Architecture โ€ข Documentation


๐ŸŽฏ What is SWIRL?

SWIRL revolutionizes online fashion discovery by combining:

  • Swipe-based Interface: Tinder-like mechanics for effortless browsing
  • AI Personalization: Machine learning that learns your style preferences
  • Weekly Outfit Drops: Curated outfit recommendations every Monday
  • Multi-Store Discovery: Products from Amazon, Noon, Namshi, and more
  • Zero Friction: Browse anonymously, no login required

๐ŸŒŸ Key Highlights

  • ๐ŸŽจ Beautiful UI: Smooth 60 FPS animations with haptic feedback
  • ๐Ÿค– Smart Recommendations: ML-powered personalization engine
  • ๐Ÿ›๏ธ Seamless Shopping: Direct purchase links to product pages
  • ๐Ÿ“ฑ Cross-Platform: Native iOS & Android with single Flutter codebase
  • โšก Blazing Fast: Optimized feed preloading and image caching

โœจ Features

Core Features

  • Swipe Gestures

    • ๐Ÿ‘‰ Swipe Right โ†’ Like (add to Swirls)
    • ๐Ÿ‘ˆ Swipe Left โ†’ View Details
    • ๐Ÿ‘† Swipe Up โ†’ Skip
    • ๐Ÿ‘‡ Swipe Down โ†’ Add to Wishlist
  • Personalized Feed

    • Style filters (Minimalist, Urban Vibe, Streetwear, Avant-Garde)
    • Brand following with priority in feed
    • ML-based recommendations (coming soon)
  • Weekly Outfits

    • 2 coordinated outfits delivered every Monday
    • 5 individual high-confidence items
    • Push notifications for new drops
  • Search & Browse

    • Advanced filters (price, brand, color, size, category)
    • Real-time search suggestions
    • Grid and swipe view modes
  • Shopping Features

    • Swirls collection (liked items)
    • Wishlist with price alerts
    • Direct "Buy Now" links to stores
    • Shopping cart (Phase 2)

๐Ÿ“ฑ Demo

Screenshots

Home Feed Product Detail Search Swirls

Video Demo

[Coming Soon]


๐Ÿš€ Installation

Prerequisites

  • Flutter SDK 3.9.2 or higher
  • Dart SDK 3.0+
  • Android Studio / Xcode
  • Supabase account (free tier)

Quick Start

# 1. Clone the repository
git clone https://github.com/yourusername/swirl.git
cd swirl

# 2. Navigate to the app directory
cd swirl

# 3. Install dependencies
flutter pub get

# 4. Set up environment variables
# Copy .env.example to .env and fill in your credentials
cp .env.example .env

# 5. Run the app
flutter run

Environment Setup

Create a .env file in the swirl/ directory:

SUPABASE_URL=https://your-project-id.supabase.co
SUPABASE_ANON_KEY=your-anon-key-here

See SUPABASE_SETUP.md for detailed backend setup instructions.


๐Ÿ—๏ธ Architecture

Tech Stack

Frontend

  • Framework: Flutter 3.9.2+ (Dart)
  • State Management: Riverpod 2.4+
  • UI/Animations: flutter_animate, shimmer
  • Image Caching: cached_network_image

Backend

  • Database: Supabase (PostgreSQL)
  • Storage: Supabase Storage (CDN-backed)
  • Auth: Supabase Auth (anonymous + social login)
  • Analytics: Firebase Analytics

Machine Learning (Phase 2)

  • Content-based filtering with CLIP embeddings
  • Collaborative filtering
  • Hybrid recommendation model

Project Structure

swirl/
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ core/                      # Core utilities
โ”‚   โ”‚   โ”œโ”€โ”€ theme/                 # Design system
โ”‚   โ”‚   โ”œโ”€โ”€ constants/             # App constants
โ”‚   โ”‚   โ””โ”€โ”€ providers/             # Global providers
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ features/                  # Feature modules
โ”‚   โ”‚   โ”œโ”€โ”€ home/                  # Main swipe feed
โ”‚   โ”‚   โ”œโ”€โ”€ detail/                # Product details
โ”‚   โ”‚   โ”œโ”€โ”€ search/                # Search & filters
โ”‚   โ”‚   โ”œโ”€โ”€ swirls/                # Liked items
โ”‚   โ”‚   โ”œโ”€โ”€ profile/               # User profile
โ”‚   โ”‚   โ””โ”€โ”€ onboarding/            # First-time experience
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ data/                      # Data layer
โ”‚   โ”‚   โ”œโ”€โ”€ models/                # Data models
โ”‚   โ”‚   โ”œโ”€โ”€ repositories/          # Repository pattern
โ”‚   โ”‚   โ””โ”€โ”€ services/              # API services
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ shared/                    # Shared widgets
โ”‚
โ”œโ”€โ”€ assets/                        # Assets
โ”‚   โ”œโ”€โ”€ fonts/                     # Inter font family
โ”‚   โ”œโ”€โ”€ images/                    # App images
โ”‚   โ””โ”€โ”€ mock_data/                 # Mock JSON data
โ”‚
โ”œโ”€โ”€ docs/                          # Documentation
โ”œโ”€โ”€ android/                       # Android config
โ””โ”€โ”€ ios/                          # iOS config

Database Schema

10 core tables:

  • users - User profiles and preferences
  • products - Product catalog
  • swipes - Comprehensive swipe tracking (13 fields)
  • swirls - Liked items
  • brands - Brand catalog
  • brand_follows - User-brand relationships
  • wishlist_items - Saved items
  • carts / cart_items - Shopping cart
  • weekly_outfits - ML-generated recommendations

See supabase_schema.sql for full schema.


๐Ÿ“– Documentation

Comprehensive documentation is available:

Getting Started

Project Documentation

Development Guides


๐ŸŽจ Design System

Color Palette

Primary Black: #1A1A1A
Primary White: #FFFFFF
Accent Coral:  #FF6B6B    // Like action
Accent Blue:   #4A90E2    // Details
Accent Green:  #4CAF50    // Wishlist

Typography

  • Font Family: Inter (Variable)
  • Scales: 12px to 32px
  • Weights: Regular, SemiBold, Bold

Animations

  • Card transitions: 300ms ease-out
  • Detail modal: 400ms ease-in-out
  • Shimmer loading: Continuous
  • 60 FPS guaranteed

๐Ÿงช Testing

Run Tests

# Unit tests
flutter test

# Integration tests
flutter test integration_test/

# Widget tests
flutter test test/features/

Testing Checklist

  • Swipe gestures work smoothly
  • Feed preloading (20 cards ahead)
  • Image caching operational
  • Analytics tracking verified
  • Detail view animations smooth
  • Search filters functional
  • ML recommendations (Phase 2)
  • Social features (Phase 3)

๐Ÿšข Deployment

Build for Production

# Android APK
flutter build apk --release

# Android App Bundle
flutter build appbundle --release

# iOS
flutter build ios --release

Environment Configuration

Different configs for dev/staging/production:

  • Development: Mock data, debug logging
  • Staging: Real database, analytics enabled
  • Production: Optimized build, error tracking

๐Ÿ“Š Performance Metrics

Current Performance

  • Initial Load: < 2 seconds
  • Card Transitions: < 300ms (60 FPS)
  • Image Load: < 1 second (cached after first view)
  • Search Response: < 500ms
  • Memory Usage: < 150 MB average

Optimization Features

  • Progressive image loading with BlurHash
  • Aggressive feed preloading (20 cards)
  • Image caching (100 MB limit)
  • Lazy loading for off-screen content
  • Virtual scrolling for large lists

๐Ÿ—บ๏ธ Roadmap

Phase 1: MVP (Weeks 1-6) โœ…

  • Core swipe functionality
  • Product detail view
  • Swirls (liked items)
  • Basic search & filters
  • Anonymous browsing
  • Analytics tracking

Phase 2: ML & Enhanced Features (Weeks 7-12) ๐Ÿšง

  • ML-powered personalization
  • Weekly outfit recommendations
  • Advanced search filters
  • Price drop alerts
  • Social sharing

Phase 3: E-commerce & Social (Weeks 13-20) ๐Ÿ“‹

  • Shopping cart & checkout
  • Payment integration (Stripe)
  • User profiles & following
  • Outfit collections
  • Comments & likes

Future Enhancements ๐Ÿ”ฎ

  • AR virtual try-on
  • Video product demos
  • Live shopping events
  • Stylist consultations
  • Regional expansion (GCC)

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

# Fork the repository
git clone https://github.com/yourusername/swirl.git

# Create a feature branch
git checkout -b feature/amazing-feature

# Make your changes and commit
git commit -m "Add amazing feature"

# Push to your fork
git push origin feature/amazing-feature

# Open a Pull Request

Code Style

  • Follow Flutter style guide
  • Use Riverpod for state management
  • Write tests for new features
  • Document public APIs

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Supabase - Backend infrastructure
  • Flutter Team - Amazing framework
  • Unsplash - Product images
  • Inter Font - Typography
  • Open Source Community - Inspiration and support

๐Ÿ“ž Contact & Support


๐ŸŒŸ Star History

If you like SWIRL, please give us a โญ on GitHub!

Star History Chart


Made with โค๏ธ by the SWIRL Team

Website โ€ข Documentation โ€ข Blog

About

๐ŸŒ€ SWIRL - Fashion Discovery App | Tinder for Fashion | Swipe-based AI-powered personalized shopping experience for UAE/Middle East

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published