{"id":43577785,"url":"https://github.com/zebangeth/ai-closet","last_synced_at":"2026-02-03T23:22:13.610Z","repository":{"id":259228471,"uuid":"875859592","full_name":"zebangeth/ai-closet","owner":"zebangeth","description":"An AI-native app to digitize your wardrobe, get outfit inspirations, and try on looks virtually. Support both iOS and Android","archived":false,"fork":false,"pushed_at":"2025-11-10T00:39:23.000Z","size":17167,"stargazers_count":214,"open_issues_count":4,"forks_count":33,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-11-10T02:20:07.175Z","etag":null,"topics":["art","artificial-intelligence","mobile","mobile-app","react-native","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zebangeth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-21T01:40:21.000Z","updated_at":"2025-11-10T00:39:26.000Z","dependencies_parsed_at":"2024-10-23T17:49:45.688Z","dependency_job_id":"c321e5d2-30a4-4834-98c3-50776db31533","html_url":"https://github.com/zebangeth/ai-closet","commit_stats":null,"previous_names":["zebangeth/ai-closet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zebangeth/ai-closet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebangeth%2Fai-closet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebangeth%2Fai-closet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebangeth%2Fai-closet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebangeth%2Fai-closet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zebangeth","download_url":"https://codeload.github.com/zebangeth/ai-closet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebangeth%2Fai-closet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29061059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T23:14:54.203Z","status":"ssl_error","status_checked_at":"2026-02-03T23:14:50.873Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["art","artificial-intelligence","mobile","mobile-app","react-native","typescript"],"created_at":"2026-02-03T23:22:13.038Z","updated_at":"2026-02-03T23:22:13.603Z","avatar_url":"https://github.com/zebangeth.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003e\nAI Closet\n\u003c/h2\u003e\n\n\u003e \u003cdiv align=\"center\"\u003e\n\u003e   \u003csub\u003eThank you for checking out AI Closet! If you find it useful or interesting, consider giving this repository a \u003cstrong\u003estar\u003c/strong\u003e ⭐. It helps others discover the project too.\u003c/sub\u003e\n\u003e \u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"release_assets/banner.png\" alt=\"Hero Image Banner\" width=\"100%\" /\u003e \n\u003c/div\u003e\n\n\n**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:\n\n- Digitally store and manage all your clothing.  \n- Experiment with outfit combinations on a freeform canvas and save your favorite looks for future inspiration.  \n- Preview how items/outfits (even from online stores) might look on you using virtual try-on technology.\n\nThe 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.\n\n\n---\n\n### Key Features\n\n\u003ctable max-height=\"400px\"\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"33%\"\u003e\n      \u003cstrong\u003eAdd \u0026amp; Manage Clothing Items\u003c/strong\u003e\u003cbr /\u003e\n      \u003cul\u003e\n        \u003cli\u003eEasily add clothing items from the camera or gallery.\u003c/li\u003e\n        \u003cli\u003eAI automatically removes backgrounds and assigns attributes (e.g., category, color, season).\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"33%\" align=\"center\"\u003e\n      \u003cimg src=\"release_assets/all_clothes.png\" alt=\"All Clothing Items screen\" style=\"max-width:100%; max-height:400px;\"\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"33%\" align=\"center\"\u003e\n      \u003cimg src=\"release_assets/clothes_detail.png\" alt=\"Clothing Item Details screen\" style=\"max-width:100%; max-height:400px;\"\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cbr /\u003e\n\n\u003ctable max-height=\"400px\"\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"33%\"\u003e\n      \u003cstrong\u003eCreate \u0026amp; Save Outfits\u003c/strong\u003e\u003cbr /\u003e\n      \u003cul\u003e\n        \u003cli\u003eMix and match items on a freeform canvas, drag-and-drop to arrange the perfect look.\u003c/li\u003e\n        \u003cli\u003eStore finished outfits and revisit them anytime to make updates or get inspiration.\u003c/li\u003e\n        \u003cli\u003eEach clothing item lists the outfits it belongs to.\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"33%\" align=\"center\"\u003e\n      \u003cimg src=\"release_assets/all_outfits.png\" alt=\"All Outfits screen\" style=\"max-width:100%; max-height:400px;\"\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"33%\" align=\"center\"\u003e\n      \u003cimg src=\"release_assets/outfit_canvas.png\" alt=\"Outfit Canvas screen\" style=\"max-width:100%; max-height:400px;\"\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cbr /\u003e\n\n\u003ctable max-height=\"400px\"\u003e\n  \u003ctr\u003e\n    \u003ctd width=\"60%\"\u003e\n      \u003cstrong\u003eVirtual Try-On\u003c/strong\u003e\u003cbr /\u003e\n      \u003cul\u003e\n        \u003cli\u003eUpload a personal photo and let the AI generate an approximate look.\u003c/li\u003e\n        \u003cli\u003eKeep track of previous try-on sessions to revisit or share later.\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"40%\" align=\"center\"\u003e\n      \u003cimg src=\"release_assets/vton.png\" alt=\"Virtual Try-On screen\" style=\"max-width:100%; max-height:400px;\"\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n---\n\n### Tech Stack\n\n\u003cdiv\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003eTypeScript:\u003c/strong\u003e Primary language for safer code and better autocompletion.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eReact Native \u0026amp; Expo:\u003c/strong\u003e Cross-platform mobile development for iOS \u0026amp; Android.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eAsyncStorage \u0026amp; expo-file-system:\u003c/strong\u003e Local data persistence and file handling.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eAWS Services (Planned):\u003c/strong\u003e API Gateway, Lambda, DynamoDB, S3 for future cloud integration.\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/div\u003e\n\n---\n\n### Installation and Usage\n\n1. **Clone the Repository:**\n   ```shell\n   git clone [Your Repo URL Here]\n   cd [Your Repo Name]\n   ```\n\n2. **Install Dependencies:**\n   ```shell\n   npm install\n   ```\n\n3. **Configure Environment:**  \n   - The AI features require require the following APIs and keys, add them to your environment variables:\n      - OpenAI API: for auto categorization and tagging\n      - fal.ai API: for background removal\n      - Kwai Kolors API: for virtual try-on\n   ```shell\n   EXPO_PUBLIC_OPENAI_KEY = \"\"\n   EXPO_PUBLIC_FAL_KEY = \"\"\n   EXPO_PUBLIC_KWAI_ACCESS_KEY = \"\"\n   EXPO_PUBLIC_KWAI_SECRET_KEY = \"\"\n   ```\n\n4. **Run the App:**\n   ```shell\n   npm start\n   # Use the Expo CLI to run on an emulator, simulator, or physical device\n   ```\n\nThe app should now be running on your local machine. You can access it via the Expo client on your mobile device or an emulator.\n\n---\n\n### Architecture and Future Roadmap\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"release_assets/system_arch.png\" alt=\"System Architecture Diagram\" width=\"80%\" /\u003e\n  \u003cp\u003e\u003cem\u003eArchitecture Diagram (including both client and future cloud components)\u003c/em\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n#### Current Implementation (Client-Side)\n1. **UI Layer** – Built with React Native to support iOS and Android.  \n2. **State Management Layer** – Powered by React Context API for global state.  \n3. **Data Layer** – Uses AsyncStorage and \u003ccode\u003eexpo-file-system\u003c/code\u003e for metadata and image storage.\n\n#### Planned Cloud Components\n1. **API Gateway** – Securely proxy API requests while hiding and protecting sensitive API keys.  \n2. **Rate Limiting System** – AWS Lambda checks user credits before forwarding API requests; logs transactions in DynamoDB.  \n3. **AI Services** – Current third-party AI services will move behind a proxy to enforce rate limits and protect API keys.\n\n\u003e **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.\n\nRefer to the [design_doc](/design_doc.md) for more details on the current architecture.\n\n### Future Features\n- **Batch Clothing Upload**: Add multiple clothing items at once for faster initial closet setup.\n- **Social Sharing \u0026 Export**: Easily share outfits to social media or with friends.\n- **User Onboarding Screens**: Introduce new users to the app and its features.\n- **Outfit Calendar**: Track daily outfits and look back at past styles.\n- **Closet Analytics**: Gather insights like items per category, color distribution, etc.\n- **Multi-item Try-On Options**: Support multi-item try-on such as full outfits or multiple items at once.\n- **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).\n\n---\n\n### Productization Considerations\n\n\u003cdiv\u003e\n  \u003cp\u003eOne key differentiator of AI Closet is the \u003cstrong\u003eintegrated virtual try-on plus wardrobe management\u003c/strong\u003e — an all-in-one approach compared to many closet-only or try-on-only apps.\u003c/p\u003e\n\u003c/div\u003e\n\n#### Cost Estimation\n\n| Service                                 | Cost/Usage      |\n|-----------------------------------------|-----------------|\n| **Background Removal (Birefnet)**       | \\$0.002/image   |\n| **Clothing Categorization (GPT-4o)**    | \\$0.002/image   |\n| **Virtual Try-On (Kolors by Kwai)**     | \\$0.1/try-on    |\n\nAssuming 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. \n\nExample: 50 credits for \\$10; each try-on = 1 credit.\n\nThis system would provide a revenue stream while keeping the app free for most users.\n\nThe 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:\n\n**Backend AWS Costs** (for future cloud integrations):  \n- **API Gateway**: \\$3.50 for first 333M requests  \n- **AWS Lambda**: \\$0.20 per million requests  \n- **DynamoDB**: \\$0.7 per million writes, \\$0.2 per million reads  \n\n---\n\n### Contributing\n\nContributions 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.\n\n---\n\n### License\n\nThis project is licensed under the **MIT License**.\n\n---\n\n### Contact \u0026 Support\n\n- **Issues / Bug Reports**: Please use the [GitHub Issues](#) tab for bugs or feature requests.  \n- **Questions / Suggestions**: Feel free to start a discussion in the [Discussions](#) tab.\n\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003csub\u003eThank you for reading! If you find AI Closet useful, consider giving this repository a \u003cstrong\u003estar\u003c/strong\u003e ⭐.\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebangeth%2Fai-closet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzebangeth%2Fai-closet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebangeth%2Fai-closet/lists"}