A smart mirror project developed as the final year academic project (Semester VIII) at Department of Technology, Shivaji University, Kolhapur, integrating AI features into a conventional mirror setup to assist users in daily tasks.
This project transforms a regular mirror into a functional AI-enhanced display. It's an academic prototype demonstrating how embedded systems, AI, and interactive software can be combined to create an intelligent assistant.
.
├─ audio/ # Audio assets or processing scripts
├─ web/ # Web interface components
├─ brain.py # Core AI logic and decision-making
├─ database.py # Local storage or state management
├─ main.py # Entry point / orchestrator script
├─ reminders.py # Reminder scheduling feature
├─ smart mirror.pmdl # Pretrained model (Snowboy?) for hotword detection
├─ utils.py # Utility/helper functions
├─ README.md # (This file)
├─ Report.pdf # Project documentation and write-up
└─ LICENSE # MIT License
-
Clone the repository
git clone https://github.com/git-avinashpawar/AI-Smart-Mirror.git cd AI-Smart-Mirror
-
Install dependencies
- Ensure Python is installed (compatible version depends on project; often Python 3.x).\
- Install necessary Python packages if listed (e.g., via
pip install -r requirements.txt
if the file exists).
-
Prepare model file
- Ensure that
smart mirror.pmdl
is available --- likely used for hotword detection with tools like Snowboy.
- Ensure that
-
Run the application
python main.py
-
Optional: Configure reminders
- Check
reminders.py
to see how reminders are scheduled and triggered.
- Check
brain.py
-- Contains the central AI logic, likely responsible for decision-making, processing inputs, and output generation.database.py
-- Facilitates local storage or state tracking used across sessions.main.py
-- Acts as the application entry point, orchestrating module loading and runtime flow.reminders.py
-- Manages reminder creation, scheduling, and delivery functionality.smart mirror.pmdl
-- A pre-trained model file possibly used for hotword or voice command recognition.utils.py
-- A collection of utility functions to support other modules.
- Initialize the application via
main.py
. - If voice/hotword detection is enabled, it likely employs
smart mirror.pmdl
to trigger AI voice interactions. brain.py
handles logic such as interpreting commands or routing tasks.reminders.py
may register and deliver reminders, possibly usingdatabase.py
to store them.- Helper routines are wrapped in
utils.py
to streamline the implementation.
Detailed design notes, diagrams, implementation details, and project
rationale are available in Report.pdf
. Please review it for deeper
insights into architecture, decision-making, and results.
- C++ -- ~75% of codebase
- Python -- ~10%
- JavaScript, CSS, HTML, SWIG -- Additional support layers and front-end components
👨🎓 Project Maintainer: Avinash Pawar
📍 Institution: Department of Technology, Shivaji University,
Kolhapur
📚 Final Year Project (Semester VIII)