Your AI-powered personal beauty & style companion.
Features • Screenshots • Tech Stack • Getting Started • Project Structure • Contributing • License
Lumin is a cross-platform mobile application that leverages artificial intelligence to help users discover their best look. From AI-driven skin and hair analysis to virtual try-on and personalised style recommendations, Lumin is the all-in-one glow-up toolkit built for the modern era.
| Feature | Description |
|---|---|
| 🧠 Ask Lumin (AI Chat) | Conversational AI assistant for personalised beauty & style advice |
| 🪞 Face Analysis | AI-powered facial feature analysis with tailored recommendations |
| 💇 Hair Analysis | Detailed hair type detection and care routine suggestions |
| 🧴 Skin Analysis | Skin condition assessment with product & routine guidance |
| 👗 Virtual Try-On | Camera-based virtual try-on for outfits and accessories |
| 🛍️ Smart Shopping | Curated product recommendations with bag & wishlist management |
| 🎨 Style Profiling | Multi-step onboarding that captures work, casual, and night-out preferences |
| 🌙 Animated Splash | Premium animated splash screen with smooth transition |
Coming soon — screenshots and demo GIFs will be added here.
| Layer | Technology |
|---|---|
| Framework | React Native 0.81 |
| Platform | Expo SDK 54 (Expo Router v6) |
| Language | TypeScript 5.9 |
| Navigation | React Navigation 7 (Bottom Tabs + Native Stack) |
| Animations | React Native Reanimated 4 · Lottie |
| UI | Expo Linear Gradient · Expo Blur · Lucide Icons |
| Media | Expo Camera · Expo Image Picker · Expo Video |
| Networking | React Native URL Polyfill · Cross-Fetch |
- Node.js ≥ 18 — Download
- Expo CLI — installed globally or via
npx - A physical device with Expo Go, or an Android / iOS emulator
# 1. Clone the repository
git clone https://github.com/sandeepannandi/Lumin.git
cd Lumin
# 2. Install dependencies
npm install
# 3. Start the development server
npx expo startScan the QR code with Expo Go (Android / iOS) or press a / i to launch an emulator.
| Command | Description |
|---|---|
npx expo start |
Start the Expo development server |
npm run android |
Build & run on an Android device / emulator |
npm run ios |
Build & run on an iOS simulator (macOS only) |
npm run lint |
Run the project linter |
npm run build:web |
Export a production web bundle |
lumin/
├── app/ # Expo Router screens
│ ├── _layout.tsx # Root layout & navigation config
│ ├── home.tsx # Home / dashboard screen
│ ├── ask-lumin.tsx # AI chat assistant
│ ├── skin.tsx # Skin analysis module
│ ├── hair.tsx # Hair analysis module
│ ├── virtual-tryon.tsx # Virtual try-on camera screen
│ ├── profile.tsx # User profile
│ ├── settings.tsx # App settings
│ ├── bag-checkout.tsx # Shopping bag & checkout
│ ├── wishlist.tsx # Saved / wishlist items
│ ├── orders.tsx # Order history
│ └── chat-history.tsx # Past AI conversations
├── components/ # Reusable UI components
│ ├── AnimatedSplashScreen.tsx
│ ├── FaceAnalysisScreen.tsx
│ ├── LoginScreen.tsx
│ ├── OnboardingCarousel.tsx
│ ├── UserDetailsScreen.tsx
│ ├── BodyDetailsScreen.tsx
│ └── *PreferenceScreen.tsx # Style-preference onboarding steps
├── hooks/ # Custom React hooks
├── assets/ # Images, icons & media
├── app.json # Expo configuration
├── package.json
└── tsconfig.json
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/amazing-feature. - Commit your changes:
git commit -m "feat: add amazing feature". - Push to the branch:
git push origin feature/amazing-feature. - Open a Pull Request.
For major changes, please open an issue first to discuss the proposed modification.
This project is licensed under the Apache License 2.0 — see the LICENSE file for details.
Built with ❤️ by Sandeepan Nandi