SkinSync is a full-stack mobile application that provides AI-powered skin analysis, personalized skincare recommendations, and progress tracking. This project includes both the React Native frontend and Node.js/Express backend.
- AI Skin Analysis: Upload photos of your face for automated skin condition detection
- Personalized Recommendations: Get tailored skincare advice based on your unique skin profile
- Progress Tracking: Monitor improvements in your skin health over time
- Daily Routines: Manage morning and evening skincare routines
- Community Support: Connect with others on similar skincare journeys
- GlowCoins Rewards: Earn points for consistent usage and unlock premium features
- React Native / Expo
- React Navigation v7
- Expo Router v5
- Lucide Icons
- Expo Camera for image capture
- React Native Reanimated for animations
- Node.js
- Express.js
- MongoDB / Mongoose (architecture ready for DB connection)
- RESTful API design
- Simulated skin analysis pipeline
- Image processing for feature extraction
- Skin type classification
- Condition detection algorithms
- Recommendation engine based on analysis results
skinsync/
├── app/ # Main Expo app directory with Expo Router
│ ├── _layout.tsx # Root layout
│ ├── (tabs)/ # Tab-based navigation
│ │ ├── _layout.tsx # Tab configuration
│ │ ├── index.tsx # Home/Dashboard screen
│ │ ├── analysis.tsx # Analysis screen
│ │ ├── routines.tsx # Routines screen
│ │ └── profile.tsx # User profile screen
│ └── analysis/ # Analysis flow screens
│ ├── camera.tsx # Photo capture screen
│ └── results.tsx # Analysis results screen
├── components/ # Reusable React components
├── constants/ # App constants and theme
├── hooks/ # Custom hooks
├── services/ # Frontend services for API calls
├── assets/ # Images, fonts, etc.
├── server/ # Backend Node.js/Express application
│ ├── index.js # Server entry point
│ ├── routes/ # API route handlers
│ ├── models/ # MongoDB models
│ └── services/ # Backend services including ML processing
└── package.json # Project dependencies
The AI skin analysis pipeline consists of the following components:
-
Image Pre-processing
- Image normalization and standardization
- Face detection and extraction
- Region of interest segmentation
-
Feature Extraction
- Texture analysis for skin conditions
- Color distribution analysis for redness, pigmentation
- Pattern recognition for acne, dryness, etc.
-
Classification Models
- Skin type classifier (Normal, Dry, Oily, Combination, Sensitive)
- Condition detectors (Acne, Dryness, UV Damage, etc.)
- Severity assessment (Low, Medium, High)
-
Recommendation Engine
- Rule-based system using classification results
- Personalized suggestions based on skin profile
- Progress-aware recommendations that adapt over time
- Node.js (v16 or higher)
- npm or yarn
- MongoDB (for full functionality)
- Expo CLI
-
Clone the repository:
git clone https://github.com/yourusername/skinsync.git cd skinsync -
Install dependencies:
npm install -
Start the Expo development server:
npm run dev
-
Navigate to the server directory:
cd server -
Install server dependencies (if not already installed):
npm install -
Start the server:
npm run server -
To run both frontend and backend simultaneously:
npm run dev:all
- Real ML model integration with TensorFlow.js
- Cloud storage for user images and analysis results
- Authentication with JWT and social login
- Push notifications for skincare reminders
- Expanded product database with recommendations
- Dermatologist consultation booking feature
- Weather and location-based skincare adjustments
This project is licensed under the MIT License - see the LICENSE file for details.
- Skin condition images used for training from open medical datasets
- Skincare product information from publicly available sources
- UI/UX design inspired by modern healthcare applications