Clear Cosmetics is a web application designed to bring transparency to shopping for makeup products. It helps users make more informed decisions by utilizing AI to analyze and compare products based on user queries.
- Uses AI-powered search to assist users in finding makeup products.
- Provides personalized product recommendations and insights.
- Allows users to ask questions about makeup products and get accurate, AI-driven responses.
- OpenAI API: Uses OpenAI's GPT-3.5 model to analyze and generate embeddings for user queries and makeup product data.
- Chroma Database: Embeddings generated by the OpenAI API are stored and retrieved using the Chroma vector database.
- Flask (Backend): The backend API is built using Flask, which handles requests and integrates with the AI model.
- Next.js (Frontend): The user interface is built using Next.js, providing a modern and responsive web experience.
To run Clear Cosmetics locally, follow these steps:
- Python 3.8+
- Node.js 14+
- OpenAI API Key (You can obtain this from OpenAI)
-
Clone the repository:
git clone https://github.com/yourusername/clear-cosmetics.git cd clear-cosmetics/backend
-
Set up a Python virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Set your OpenAI API key in an
.env
file:echo "OPENAI_API_KEY=your-openai-api-key" > .env
-
Run the Flask server:
flask run
The backend should now be running at http://localhost:5000
.
-
Navigate to the frontend directory:
cd ../frontend
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
The frontend will run at http://localhost:3000
.
Once both the backend and frontend are running, you can visit the frontend in your browser (http://localhost:3000
) and start interacting with the app.
Users can search for makeup products, ask questions about specific items, and get product recommendations based on their needs. The app uses AI embeddings to offer personalized and transparent insights into the products.
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new feature branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -m "Add new feature"
). - Push to the branch (
git push origin feature/your-feature
). - Open a pull request.
This README provides clear installation instructions, a summary of the technologies used, and instructions for contributing to the project. Let me know if you need further adjustments!