A sophisticated AI-powered personal assistant with voice recognition, face authentication, and comprehensive automation capabilities inspired by Tony Stark’s JARVIS.
- 🎤 Voice Recognition – Google Speech API integration
- 👤 Face Authentication – OpenCV + Haar Cascades
- 🌐 Web Interface – Eel-based responsive UI
- 🔊 Hotword Detection – Always-listening wake words (“Jarvis”, “Alexa”)
- 📱 Application Control – Launch/close apps & websites
- 🎵 Media Integration – YouTube search & playback
- 💬 Communication Hub – WhatsApp automation, SMS, voice calls
- 🤖 AI Chatbot – HugChat conversational AI
- 📊 Contact Management – SQLite database
- 🔄 Multiprocessing – Parallel hotword + main assistant
| Category | Technologies |
|---|---|
| Backend | Python 3.6+, SQLite3, Multiprocessing |
| AI / ML | OpenCV, HugChat, LBPH Face Recognition, Haar Cascade |
| Speech | pyttsx3, SpeechRecognition, PyAudio, PVPorcupine |
| GUI | Eel, HTML5, CSS3, JavaScript |
| Automation | PyAutoGUI, PyWhatKit, ADB Commands |
| Audio | playsound, other audio-processing libs |
• Python 3.6 or higher
• Windows / macOS / Linux
• Microphone (voice input)
• Camera (face auth)
• Internet connection (web features)
- Clone the repository
git clone https://github.com/Alisha-21-cloud/AI-Assistant-Jarvis.git
cd AI-Assistant-Jarvis- Create virtual environment (recommended)
python -m venv venvActivate
Windows
venv\Scripts\activatemacOS / Linux
source venv/bin/activate- Install dependencies
Core
pip install eel pyttsx3 speechrecognition opencv-python
pip install pyaudio playsound pyautogui pywhatkit
pip install hugchat pvporcupinePlatform-specific
Windows
pip install pypiwin32 pipwin
pipwin install pyaudiomacOS
pip install pyobjc>=9.0.1Linux
sudo apt-get install espeak espeak-data portaudio19-dev python3-xlibDirect execution
python main.pyWith hotword detection
python run.pyWindows batch
device.bat
| Category | Examples |
|---|---|
| Apps & Web | “Open Chrome”, “Open youtube.com” |
| Media | “Play Imagine Dragons on YouTube” |
| Messaging / Calls | “Send message to Alice”, “Call Bob” |
| Information | “What time is it?”, “Tell me about black holes” |
| General Chat | Conversational queries to Jarvis AI |
AI-Assistant-Jarvis/
├── main.py
├── run.py
├── device.bat
├── engine/
│ ├── features.py
│ ├── command.py
│ ├── config.py
│ ├── db.py
│ ├── helper.py
│ └── auth/
│ ├── recoganize.py
│ ├── trainer.py
│ └── samples/
├── www/
│ ├── index.html
│ ├── style.css
│ ├── *.js
│ └── assets/
└── jarvis.db
engine.setProperty('voice', voices.id) # 0 = male, 1 = female
engine.setProperty('rate', 174)
engine.setProperty('volume', 1.0)Add contacts in engine/db.py
cursor.execute("INSERT INTO contacts VALUES (?, ?)", ("Name", "Phone"))cd engine/auth
python sample.py # Collect face samples
python trainer.py # Train model• Local processing of face & voice data
• Encrypted SQLite storage
• Face verification before access
• Configurable privacy flags
| Issue | Fix |
|---|---|
| PyAudio install error | Windows: pipwin install pyaudio • macOS: brew install portaudio |
| Camera / mic not working | Check OS privacy settings & device usage |
| Web UI won’t load | Ensure port 8000 free • Try http://127.0.0.1:8000 |
- Fork →
git checkout -b feature/AmazingFeature - Commit →
git commit -m 'Add AmazingFeature' - Push →
git push origin feature/AmazingFeature - Open Pull Request
python -m venv dev_env
source dev_env/bin/activate # Windows: dev_env\Scripts\activate
pip install -r requirements.txtMIT – see LICENSE
OpenCV • Google Speech API • HuggingFace • Python community – and Tony Stark for the inspiration 😉
"Sometimes you gotta run before you can walk." — Tony Stark