A complete template for building your own AI-powered style assistant. This Progressive Web App (PWA) helps users upload outfits, get AI recommendations, and track their personal style journey - all from their mobile device!
- π± Progressive Web App: Install on users' phone home screens like a native app
- πΈ Outfit Upload: Drag & drop or tap to upload outfit photos
- π€ AI Chat Assistant: Chat with GPT-4 Vision for personalized style advice
- π Occasion Planner: Get outfit suggestions based on weather, occasion, and mood
- π Digital Lookbook: Browse outfit history with real-time updates
- βοΈ Cloud Storage: Photos securely stored in Firebase Storage
- π Calendar Integration: Track outfits by date
- π¨ Custom Branding: Beautiful custom icons and modern UI
- HTML5 + CSS3 + JavaScript (Vanilla JS, no frameworks)
- Progressive Web App (PWA) with Service Worker
- Responsive Design optimized for mobile
- Firebase Storage for photo management
- Node.js + Express.js server
- Vercel Serverless deployment
- OpenAI GPT-4 Vision for AI recommendations
- Firebase Authentication (anonymous)
- Sharp for image processing
- Vercel for hosting and deployment
- GitHub for version control
- Custom Domain ready
Stylisti-1/
βββ web-interface/
β βββ app.html # Main PWA interface
β βββ server.js # Express.js backend
β βββ manifest.json # PWA manifest
β βββ sw.js # Service Worker
β βββ icon-192.png # App icons
β βββ icon-512.png
βββ src/ # Optional MCP components (not used in deployment)
β βββ server.ts # MCP server (development only)
β βββ database/ # Data layer
β βββ ai/ # AI recommendations
β βββ tools/ # Style analysis tools
βββ vercel.json # Vercel deployment config
βββ package.json # Dependencies
βββ README.md # This file
- Node.js 18+
- Firebase project (for photo storage)
- OpenAI API key (for AI chat)
-
Clone the repository
git clone https://github.com/srustisain/Stylisti.git cd Stylisti-1 -
Install dependencies
npm install
-
Set up environment variables Create a
.envfile:OPENAI_API_KEY=your_openai_api_key FIREBASE_API_KEY=your_firebase_api_key FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com FIREBASE_PROJECT_ID=your_project_id FIREBASE_STORAGE_BUCKET=your_project.appspot.com FIREBASE_MESSAGING_SENDER_ID=your_sender_id FIREBASE_APP_ID=your_app_id
-
Customize your app
- Edit
web-interface/manifest.jsonfor your app name and branding - Replace icons in
web-interface/with your own - Update colors and styling in
web-interface/app.html
- Edit
-
Start development server
npm start # or npm run dev -
Open in browser
http://localhost:3000
-
Connect to Vercel
# Install Vercel CLI npm i -g vercel # Deploy vercel --prod
-
Set Environment Variables
- Go to Vercel Dashboard
- Add your Firebase and OpenAI environment variables
- Redeploy
-
Custom Domain (Optional)
- Add your custom domain in Vercel settings
- Update DNS records as instructed
- Overview of user's style journey
- Quick access to all features
- Recent outfit activity
- Tap "Upload Outfit"
- Select/take a photo
- Tag with occasion, style, and mood
- Add optional notes
- Submit to lookbook
- Tap "Chat" to open AI assistant
- Ask for style advice, outfit suggestions, or fashion tips
- AI can see uploaded outfits for personalized advice
- Get real-time recommendations
- Select date and occasion
- Choose weather conditions
- Get AI-powered outfit suggestions
- Based on personal style and wardrobe
- Browse all uploaded outfits
- Organized by date
- Tap any outfit to view details
- See tags and notes
Edit web-interface/manifest.json:
{
"name": "Your App Name",
"short_name": "YourApp",
"theme_color": "#8b2635",
"background_color": "#FFFFFF"
}Edit web-interface/sw.js to modify caching strategy:
const CACHE_NAME = 'your-app-v1';
const urlsToCache = [
'/app.html',
'/manifest.json',
// Add more assets
];The main app runs on a simple Express.js server with:
- Firebase Storage: Photo upload and management
- OpenAI Integration: GPT-4 Vision for style analysis
- Anonymous Authentication: No signup required
- PWA Support: Service worker and manifest handling
The src/ folder contains optional MCP (Model Context Protocol) components for advanced features (development only):
- Outfit Analysis: Advanced style pattern recognition
- Recommendation Engine: Personalized suggestions
- Wardrobe Management: Track and organize clothing items
- Style Evolution: Monitor style changes over time
- β Firebase Security: Photos stored securely in Firebase Storage
- β Anonymous Auth: No personal data collection required
- β HTTPS: All traffic encrypted
- β Environment Variables: API keys stored securely
- β Client-Side Processing: Most processing happens in browser
- Style Analysis: AI analyzes outfits and provides feedback
- Weather Recommendations: Suggests appropriate clothing for weather
- Color Coordination: Helps with color matching and combinations
- Occasion Matching: Recommends outfits for specific events
- Personal Style Evolution: Tracks style journey over time
- Offline Access: Works without internet connection
- Home Screen Install: Native app experience
- Push Notifications: Stay updated with style tips
- Fast Loading: Cached assets for instant loading
- Mobile Optimized: Perfect touch experience
- Outfit Sharing: Share looks with friends
- Style Analytics: Detailed insights into style patterns
- Shopping Assistant: AI-powered shopping recommendations
- Wardrobe Planner: Plan outfits for the week
- Style Challenges: Gamify the style journey
- Social Features: Connect with other fashion enthusiasts
- Weather Integration: Real-time weather-based suggestions
- Calendar Sync: Plan outfits for upcoming events
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for GPT-4 Vision API
- Firebase for cloud storage and authentication
- Vercel for seamless deployment
- Progressive Web App standards and community
Build your own AI-powered style companion! π±β¨
If you're building your own Stylisti app and need help:
- Check the existing code comments for guidance
- Review the included examples
- Open an issue for technical questions
- Contribute improvements back to the project
Happy building! π