An AI that can draw while answering your toughest questions!
Basically, you upload your lecture slides, drag and drop your most confusing parts, and SlideProf will answer while drawing and writing directly on your slides!
Check out our demo on YouTube to see SlideProf in action:
- Navigate to the
server
directory:
cd server
- Create a virtual environment:
python -m venv venv
- Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS/Linux:
source venv/bin/activate
- Install the required dependencies:
pip install -r requirements.txt
- Navigate to the
model
directory:
cd model
- Create a virtual environment:
python -m venv venv
- Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS/Linux:
source venv/bin/activate
- Install the required dependencies:
pip install -r requirements.txt
- Navigate to the
client
directory:
cd client
- Install the required dependencies:
npm install
- Start the backend server:
cd model
# Ensure the virtual environment is activated
python app.py
- Start the frontend development server:
cd client
npm run dev
Now, you should have both the backend and frontend servers running for development.
Here's a high-level overview of the SlideProf architecture:
The architecture consists of three main components:
-
Frontend (Client): Built with modern web technologies, it provides an intuitive interface for users to interact with SlideProf.
-
Backend (Server): Handles the core logic, including processing user requests, managing data, and serving the AI model's predictions. It acts as a glue sticking the frontend with the model, making sure that user inputs are correctly processed and that the model's outputs are appropriately formatted and sent back to the frontend.
-
Model: The AI component that performs the drawing and answering tasks, leveraging advanced machine learning techniques. The model processes the input data, scans the surrounding area to make sure there is space to draw, and then generates the necessary visual and textual explanations, and sends them back to the backend for further processing and delivery to the frontend.
Each component communicates seamlessly to deliver a smooth and efficient user experience.