A Python butler that answers to 'Sir'
Voice-controlled desktop assistant wiring together pyttsx3, OpenCV, and a dozen APIs to handle your email, news, weather, and YouTube downloads.

What it does
J.A.R.V.I.S is a Python voice assistant that listens for commands and delegates them: send emails via SMTP, pull weather data from an API, search Wikipedia, open websites, download YouTube videos, generate todo lists, and report news headlines. It also swaps between male and female synthesized voices on demand.
The interesting bit
The project leans heavily on off-the-shelf libraries — pyttsx3 for speech, speech_recognition for input, OpenCV for face authentication, tesseract for OCR — but wires them into a single interactive loop. The “Intelligent Sensing” dictionary is just Python’s difflib doing spell-check proximity. It’s less AI and more enthusiastic plumbing.
Key highlights
- Face-authentication gate via OpenCV before the assistant activates
- Voice-activated email sending (credentials and SMTP server required)
- Weather, news, and geolocation reports via external APIs
- YouTube search and direct video download by URL
- Gender toggle between “J.A.R.V.I.S” and “F.R.I.D.A.Y” voices using pyttsx3 voice switching
Caveats
- Windows users must manually install a PyAudio wheel from a third-party binary archive; the README warns it may interrupt installation
- Ubuntu requires
espeaksystem package installed separately - The README itself notes “Core AI chatbot like functionality can be added” — meaning it isn’t there yet
Verdict
Good for Python beginners who want to see how speech recognition, web APIs, and system automation fit together in one script. Skip it if you need actual conversational AI or robust error handling.