Thank you for checking out AI Closet! If you find it useful or interesting, consider giving this repository a star ⭐. It helps others discover the project too.
AI Closet is a mobile application that brings an AI-powered approach to closet management and styling. Whether you want to keep track of every piece in your closet, or seek an easy way to visualize outfit ideas, the AI Closet helps you:
- Digitally store and manage all your clothing.
- Experiment with outfit combinations on a freeform canvas and save your favorite looks for future inspiration.
- Preview how items/outfits (even from online stores) might look on you using virtual try-on technology.
The app is built with React Native and Expo, offering a cross-platform solution for both iOS and Android. By integrating AI for tasks like automatic background removal and smart categorization, it reduces manual work and helps users stay organized and creative with their wardrobe.
Add & Manage Clothing Items
|
Virtual Try-On
|
- TypeScript: Primary language for safer code and better autocompletion.
- React Native & Expo: Cross-platform mobile development for iOS & Android.
- AsyncStorage & expo-file-system: Local data persistence and file handling.
- AWS Services (Planned): API Gateway, Lambda, DynamoDB, S3 for future cloud integration.
-
Clone the Repository:
git clone [Your Repo URL Here] cd [Your Repo Name]
-
Install Dependencies:
npm install
-
Configure Environment:
- The AI features require require the following APIs and keys, add them to your environment variables:
- OpenAI API: for auto categorization and tagging
- fal.ai API: for background removal
- Kwai Kolors API: for virtual try-on
EXPO_PUBLIC_OPENAI_KEY = "" EXPO_PUBLIC_FAL_KEY = "" EXPO_PUBLIC_KWAI_ACCESS_KEY = "" EXPO_PUBLIC_KWAI_SECRET_KEY = ""
- The AI features require require the following APIs and keys, add them to your environment variables:
-
Run the App:
npm start # Use the Expo CLI to run on an emulator, simulator, or physical device
The app should now be running on your local machine. You can access it via the Expo client on your mobile device or an emulator.
- UI Layer – Built with React Native to support iOS and Android.
- State Management Layer – Powered by React Context API for global state.
- Data Layer – Uses AsyncStorage and
expo-file-system
for metadata and image storage.
- API Gateway – Securely proxy API requests while hiding and protecting sensitive API keys.
- Rate Limiting System – AWS Lambda checks user credits before forwarding API requests; logs transactions in DynamoDB.
- AI Services – Current third-party AI services will move behind a proxy to enforce rate limits and protect API keys.
Note: Currently only the client-side components are implemented. Third-party AI services reside in the client codebase. Cloud features and the credit-based system are in the planning stage.
Refer to the design_doc for more details on the current architecture.
- Batch Clothing Upload: Add multiple clothing items at once for faster initial closet setup.
- Social Sharing & Export: Easily share outfits to social media or with friends.
- User Onboarding Screens: Introduce new users to the app and its features.
- Outfit Calendar: Track daily outfits and look back at past styles.
- Closet Analytics: Gather insights like items per category, color distribution, etc.
- Multi-item Try-On Options: Support multi-item try-on such as full outfits or multiple items at once.
- Credit-Based Premium Features: Implement a system that allows users to purchase credits for expensive AI functionalities (mainly virtual try-ons or large-scale operations).
One key differentiator of AI Closet is the integrated virtual try-on plus wardrobe management — an all-in-one approach compared to many closet-only or try-on-only apps.
Service | Cost/Usage |
---|---|
Background Removal (Birefnet) | $0.002/image |
Clothing Categorization (GPT-4o) | $0.002/image |
Virtual Try-On (Kolors by Kwai) | $0.1/try-on |
Assuming an average user uploads 50 images per month, the estimated monthly cost per user would be around $0.20 for simple usage (not counting try-ons). However, for users who want to use the virtual try-on feature more frequently, a credit-based system can be implemented.
Example: 50 credits for $10; each try-on = 1 credit.
This system would provide a revenue stream while keeping the app free for most users.
The backend AWS cost is minimal, but are crucial for implementing secure credit-based or pay-as-you-go models in the future. This is included for reference:
Backend AWS Costs (for future cloud integrations):
- API Gateway: $3.50 for first 333M requests
- AWS Lambda: $0.20 per million requests
- DynamoDB: $0.7 per million writes, $0.2 per million reads
Contributions are appreciated! Whether it’s a bug fix, new feature proposal, or performance optimization. For major changes, please open an issue first to discuss what you’d like to change. This ensures alignment and helps us provide guidance.
This project is licensed under the MIT License.
- Issues / Bug Reports: Please use the GitHub Issues tab for bugs or feature requests.
- Questions / Suggestions: Feel free to start a discussion in the Discussions tab.