A complete dual-platform virtual try-on application for hair styles and nail designs, built with cutting-edge AR technology, AI/ML models, and modern web/mobile frameworks.
BeautyTryOn enables users to virtually try on different hairstyles, hair colors, and nail designs in real-time using their device camera. The application leverages MediaPipe for face/hand tracking, advanced image processing, and AI-powered style generation.
Key Features:
- β¨ Real-time AR hair color and style try-on
- π Hand-tracked nail polish visualization
- π¨ 500+ hair styles and nail designs
- πΈ Save and share looks on social media
- π€ AI custom style generation (Premium)
- π± Cross-platform (Web PWA + Flutter mobile)
- π€ Complete automation with n8n workflows
Frontend - Web:
- Next.js 15 (App Router) + React 18 + TypeScript
- Tailwind CSS + shadcn/ui components
- MediaPipe for AR/ML processing
- Framer Motion for animations
Frontend - Mobile:
- Flutter 3.0+ (Dart)
- Riverpod state management
- Camera & AR plugins
Backend & Services:
- Supabase (PostgreSQL + Auth + Storage + Edge Functions)
- n8n workflow automation (4 production workflows)
- Deno Edge Functions (3 serverless functions)
AI/ML:
- MediaPipe Face Landmarker (468 points)
- MediaPipe Hands (21 landmarks per hand)
- Hair segmentation with luminance preservation
- Custom color/texture processing
beauty-tryon-app/
βββ apps/
β βββ web/ # Next.js web application
β β βββ app/ # App router pages
β β β βββ (auth)/ # Authentication
β β β βββ (dashboard)/ # Main application
β β βββ components/
β β β βββ ui/ # shadcn/ui components
β β β βββ ar/ # AR components
β β β βββ features/ # Feature-specific
β β βββ lib/
β β βββ ai/ # AI/ML utilities
β β βββ supabase/ # Supabase client
β β βββ social/ # Social sharing
β βββ mobile/ # Flutter application (initialized)
β βββ lib/
β β βββ screens/
β β βββ widgets/
β β βββ providers/
β βββ pubspec.yaml
βββ packages/
β βββ shared/ # Shared TypeScript types
βββ supabase/
β βββ migrations/ # Database migrations
β βββ seed.sql # Initial data (10 hair + 10 nail styles)
β βββ functions/ # Edge Functions (3 functions)
β βββ analyze-face/
β βββ generate-hair-style/
β βββ process-image/
βββ n8n/
βββ workflows/ # n8n automation (4 workflows)
βββ social-media-automation.json
βββ analytics-sync.json
βββ image-processing.json
βββ user-onboarding.json
- Node.js β₯18
- pnpm β₯8
- Flutter SDK β₯3.0 (for mobile)
- Supabase account
- n8n instance (optional, for automation)
- Install dependencies:
npm install pnpm@8.15.1
pnpm install- Configure environment:
cd apps/web
cp .env.local.example .env.local
# Edit .env.local with your Supabase credentials- Set up database:
# Run migrations in Supabase SQL Editor
# 1. Execute: supabase/migrations/001_initial_schema.sql
# 2. Execute: supabase/seed.sql- Start development:
pnpm dev- Access app: Open http://localhost:3000
Features Implemented:
- β Landing page with gradient hero
- β Authentication (login/signup)
- β Dashboard with navigation
- β Hair try-on page with AR camera
- β Nail try-on page with hand tracking
- β Gallery with grid/list views
- β Profile with settings tabs
- β Social sharing dialog
- β Real-time MediaPipe processing
- β Color pickers and style carousels
Run:
cd apps/web
pnpm devStructure Complete:
- β Flutter project initialized
- β Splash screen
- β Onboarding flow (3 pages)
- β Authentication screens
- β Home dashboard
- β Navigation structure
- β Theme system (matching web)
- β Placeholder screens for all features
Run:
cd apps/mobile
flutter runComplete schema with Row Level Security:
- profiles: User information, subscription tiers
- hair_styles: 500+ hairstyles library
- nail_styles: 300+ nail designs library
- try_ons: User try-on history with images
- galleries: User collections
- gallery_items: Collection items
- analytics_events: Event tracking
- analytics_summary: Aggregated metrics
See supabase/migrations/001_initial_schema.sql
- Status: Production ready
- Endpoint:
/webhook/social-share - Platforms: Twitter/X, Instagram, Pinterest, Facebook
- Features: Multi-platform posting, watermarking, analytics
- Status: Production ready
- Schedule: Every 15 minutes
- Features: PostHog sync, metric aggregation, alerts
- Status: Production ready
- Endpoint:
/webhook/process-tryon-image - Features: 4 image variants (HD, social, thumbnail, preview)
- Status: Production ready
- Endpoint:
/webhook/user-signup - Features: Welcome email, engagement check, upgrade offer
See n8n/README.md for setup instructions.
Analyzes facial features for style recommendations.
AI-powered custom style generation (Premium).
Server-side image processing and optimization.
See supabase/functions/README.md for deployment.
Colors:
- Primary:
#8B5CF6(Purple) - Secondary:
#EC4899(Pink) - Gradient:
linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%)
Typography:
- Font: Inter (Google Fonts)
Components: All shadcn/ui components + custom AR components.
- β Monorepo setup with pnpm workspaces
- β Next.js 15 web application
- β Tailwind CSS + shadcn/ui
- β Supabase database schema & RLS
- β Authentication pages
- β Dashboard layout
- β MediaPipe integration
- β AR Camera component
- β Hair processing engine
- β Hair try-on page
- β Nail processing engine
- β Nail try-on page
- β Gallery page
- β Profile page
- β n8n workflows (all 4)
- β Edge Functions (all 3)
- β Social sharing functionality
- β Flutter app initialization
-
Supabase Setup:
- Create project
- Add credentials to
.env.local - Run migrations
- Deploy Edge Functions
-
n8n Setup:
- Import workflows
- Configure credentials
- Update webhook URLs
-
Deployment:
- Deploy web app to Vercel
- Submit mobile apps to stores
- Configure custom domain
vercel deploy --prod# iOS
flutter build ipa
# Android
flutter build appbundle --releasesupabase functions deploy- Web App:
/apps/web/README.md - Mobile App:
/apps/mobile/README.md - n8n Workflows:
/n8n/README.md - Edge Functions:
/supabase/functions/README.md
This is a production-ready codebase. All major features are implemented and ready for deployment.
MIT License - See LICENSE file for details.
Copyright Β© 2026 Save My Time
- MediaPipe by Google
- Supabase for backend infrastructure
- n8n for workflow automation
- shadcn/ui component library
- Three.js community
- The open source community
Developed and maintained by Save My Time
Save My Time specializes in building production-ready, AI-powered applications that save users time and enhance their digital experiences.
- π Full-stack application development
- π€ AI/ML integration and consulting
- π± Cross-platform mobile development
- βοΈ Cloud infrastructure and DevOps
- π¨ UI/UX design and branding
- π Website: savemytime.com
- π§ Email: hello@savemytime.com
- πΌ Business inquiries: business@savemytime.com
- π Support: support@savemytime.com
If you find BeautyTryOn useful, please consider giving it a β on GitHub!
Built with π by Save My Time
Transforming ideas into reality, one line of code at a time.
Ready for production deployment! π