Skip to content

Jarvis is like having Tony Stark's helpful assistant in your pocket. It helps with tasks, controls gadgets, and keeps things organized, just like in the movies.

License

Notifications You must be signed in to change notification settings

Arpitgarg07/Jarvis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

34 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Jarvis - Just A Rather Very Intelligent Assistant ๐Ÿค–

An open-source Python-based personal voice assistant with face recognition security and intelligent automation capabilities.

๐Ÿš€ Get Started ยท ๐Ÿ› Report a Bug ยท โœจ Request a Feature

Stars License Forks


๐ŸŒŸ The Vision: Your Secure Personal AI Assistant

Jarvis transforms your computer into an intelligent companion that not only responds to voice commands but also recognizes your face for secure access. Built with Python and powered by advanced AI libraries, Jarvis combines the convenience of voice interaction with the security of biometric authentication.

Unlike commercial assistants, Jarvis runs entirely on your machine, giving you complete control over your data and privacy while providing powerful automation capabilities.

๐Ÿ”ฅ Core Features

  • ๐ŸŽค Voice Interaction: Natural speech recognition with contextual responses and greetings
  • ๐Ÿ‘ค Face Recognition Security: Biometric authentication with automatic screenshots for security
  • ๐ŸŒ Web Intelligence: Google search, Wikipedia summaries, news updates, and IP lookup
  • ๐Ÿ“ง Email Automation: Voice-controlled email composition and sending
  • ๐Ÿ–ฅ๏ธ System Control: Application launching, file management, screenshots, and system monitoring
  • ๐ŸŽต Entertainment Hub: YouTube control, music playback, and media management
  • ๐Ÿง  Advanced Computing: WolframAlpha integration for complex calculations and queries
  • โฐ Smart Scheduling: Alarms, reminders, task management, and focus mode
  • ๐Ÿ“ฑ Communication: WhatsApp messaging and call automation via Twilio
  • ๐ŸŽฎ Interactive Features: Built-in games like Rock Paper Scissors
  • ๐ŸŒ Multilingual Support: Translation capabilities with voice output
  • ๐Ÿ“Š System Monitoring: Battery status, performance metrics, and notifications

๐Ÿ—๏ธ System Architecture: Security-First Design

Jarvis implements a multi-layered architecture with security at its core:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Jarvis System Architecture                             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ๐Ÿ”’ SECURITY LAYER                                                          โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚    Face Training     โ”‚ โ”‚   Face Detection     โ”‚ โ”‚ Access Control &     โ”‚ โ”‚
โ”‚ โ”‚      (OpenCV)        โ”‚ โ”‚       (LBPH)         โ”‚ โ”‚    Screenshots       โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                                      โ”‚                                     โ”‚
โ”‚                                      โ–ผ                                     โ”‚
โ”‚ ๐ŸŽค INTERACTION LAYER                                                     โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚      Speech          โ”‚ โ”‚      Command         โ”‚ โ”‚      Response        โ”‚ โ”‚
โ”‚ โ”‚    Recognition       โ”‚ โ”‚     Processing       โ”‚ โ”‚     Generation       โ”‚ โ”‚
โ”‚ โ”‚    (Google API)      โ”‚ โ”‚      Engine          โ”‚ โ”‚      (pyttsx3)       โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                                      โ”‚                                     โ”‚
โ”‚                                      โ–ผ                                     โ”‚
โ”‚ โš™๏ธ SERVICE LAYER                                                         โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚        Web           โ”‚ โ”‚       Email          โ”‚ โ”‚       System         โ”‚ โ”‚
โ”‚ โ”‚      Services        โ”‚ โ”‚        SMTP          โ”‚ โ”‚       Control        โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚       Alarms &       โ”‚ โ”‚       Games &        โ”‚ โ”‚     Translation      โ”‚ โ”‚
โ”‚ โ”‚      Reminders       โ”‚ โ”‚        Jokes         โ”‚ โ”‚       Engine         โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                                    โ”‚
โ”‚ โ”‚      Wolfram         โ”‚                                                    โ”‚
โ”‚ โ”‚       Alpha          โ”‚                                                    โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜


๐Ÿš€ The Tech Stack: Proven & Powerful

Component Technology Purpose
Speech Recognition Google Speech API High-accuracy voice command processing with natural language understanding
Text-to-Speech pyttsx3 Offline voice synthesis with customizable speech rates and voices
Face Recognition OpenCV + LBPH Secure biometric authentication with Local Binary Patterns Histograms
GUI Framework Tkinter + PIL Native cross-platform interface with animated GIF support
Web Automation requests + BeautifulSoup Intelligent web scraping and API interactions
System Control pyautogui + psutil Complete system automation and performance monitoring
Email Service smtplib Secure email sending with Gmail integration
Messaging pywhatkit + Twilio WhatsApp automation and phone call capabilities
Knowledge Engine WolframAlpha API Advanced mathematical and factual query processing
Translation googletrans + gTTS Multi-language translation with voice output

๐Ÿ› ๏ธ Getting Started in Under 5 Minutes

Prerequisites

  1. Python 3.8+: Download here
  2. Webcam: Required for face recognition security
  3. Microphone: For voice commands
  4. Internet Connection: For API services

Installation & Setup

  1. Clone the Repository:

    git clone https://github.com/Arpitgarg07/Jarvis.git
    cd Jarvis
  2. Install Dependencies:

    # Run the automatic installer
    python installer.py
    
    # OR install manually
    pip install -r requirements.txt

    Note: On Windows, you may need to install PyAudio manually from here.

  3. Set Up Face Recognition (Security):

    # Generate face samples (10 photos)
    python "Sample generator.py"
    
    # Train the recognition model
    python "Model Trainer.py"
  4. Configure API Keys: Update the following files with your credentials:

    For WolframAlpha (Calculatenumbers.py):

    apikey = "YOUR_WOLFRAMALPHA_API_KEY"

    For News (NewsRead.py):

    # Replace the API key in the URLs
    apiKey=YOUR_NEWS_API_KEY

    For Email (sendemail.py):

    sender_email = "your_email@gmail.com"
    sender_password = "your_app_password"
  5. ๐ŸŽ‰ Launch Jarvis:

    python Jarvismain.py
  6. Activate Your Assistant: Say "Wake up" to start interacting with Jarvis!


๐Ÿ’ก Voice Commands: What Jarvis Can Do

๐ŸŽค Basic Commands

  • "Wake up" , "Go to sleep" - Control Jarvis
  • "Hello" ,"What's the time?" - Basic interaction
  • "Google search [topic]" , "Wikipedia [topic]" - Web search
  • "What's the news?" ,"What's my IP address?" - Information

๐Ÿ–ฅ๏ธ System & Productivity

  • "Open [app]" , "Take screenshot" - System control
  • "Set an alarm" , "Remind me" - Time management
  • "Focus mode" , "Show my focus" - Productivity tracking
  • "Battery status" , "Internet speed test" - System info

๐Ÿ“ง Communication & Entertainment

  • "Write an email" , "WhatsApp message" - Communication
  • "Play playlist" , "Tell me a joke" - Entertainment
  • "Calculate [math]" , "Translate [text]" - Smart features
  • "Open game" , "Flip a coin" - Interactive fun

๐Ÿ”ง Advanced Configuration

Face Recognition Setup

  1. Run Sample generator.py to capture 10 face samples
  2. Execute Model Trainer.py to create recognition model
  3. Update the names list in Jarvismain.py with your name
  4. Adjust id variable to match your assigned number

Focus Mode

  • Blocks distracting websites during work sessions
  • Tracks productivity time in focus.txt
  • Generates focus graphs with FocusGraph.py
  • Requires administrator privileges on Windows

WhatsApp Integration

  • Update contact_dict in Jarvismain.py with your contacts
  • Uses pywhatkit for automated messaging
  • Supports both manual and automated message scheduling

Email Configuration

  • Use Gmail App Passwords for security
  • Update recipient mappings in sendemail.py
  • Supports voice-to-text email composition

๐ŸŒŸ Unique Features

๐Ÿ”’ Security First

  • Biometric face recognition with OpenCV
  • Automatic security screenshots for unknown faces
  • Optional password protection
  • Local data processing for privacy

๐Ÿง  Smart Automation

  • Context-aware command processing
  • Natural language understanding
  • Intelligent system control
  • Productivity tracking and analytics

๐ŸŽฏ Focus Mode

  • Website blocking during work sessions
  • Productivity time tracking
  • Visual analytics with matplotlib
  • Administrative control for system-level blocking

๐ŸŽฎ Interactive Entertainment

  • Built-in games (Rock Paper Scissors)
  • Joke telling with pyjokes
  • Coin flipping with sound effects
  • Interactive voice responses

๐Ÿค Contributing to Jarvis

We welcome contributions! Here's how you can help:

๐ŸŒŸ Ways to Contribute

  • ๐Ÿ› Bug Fixes: Improve reliability and fix issues
  • โœจ New Commands: Add more voice command capabilities
  • ๐Ÿ”ง Hardware Support: Expand device compatibility
  • ๐ŸŒ Localization: Add support for more languages
  • ๐Ÿ“ฑ Integrations: Connect with more services and APIs
  • ๐ŸŽจ UI Improvements: Enhance the visual interface

๐Ÿ“ Getting Started

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Test your changes thoroughly
  4. Commit your changes (git commit -m 'Add amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

๐Ÿ”‘ Required API Keys

Free APIs (Recommended)

Optional Paid APIs

  • Twilio: For phone call functionality
  • Google Calendar API: For advanced calendar integration

๐Ÿ“ Project Structure

Jarvis/
โ”œโ”€โ”€ Jarvismain.py              # Main application with face recognition
โ”œโ”€โ”€ INTRO.py                   # Animated startup screen
โ”œโ”€โ”€ GreetMe.py                 # Greeting functionality
โ”œโ”€โ”€ Calculatenumbers.py        # WolframAlpha integration
โ”œโ”€โ”€ Dictapp.py                # System control functions
โ”œโ”€โ”€ SearchNow.py              # Web search capabilities
โ”œโ”€โ”€ NewsRead.py               # News reading functionality
โ”œโ”€โ”€ Whatsapp.py               # WhatsApp integration
โ”œโ”€โ”€ Translator.py             # Translation services
โ”œโ”€โ”€ FocusMode.py              # Productivity website blocking
โ”œโ”€โ”€ FocusGraph.py             # Focus time visualization
โ”œโ”€โ”€ battery.py                # Battery monitoring
โ”œโ”€โ”€ game.py                   # Rock Paper Scissors game
โ”œโ”€โ”€ joke.py                   # Joke functionality
โ”œโ”€โ”€ alarm.py                  # Alarm system
โ”œโ”€โ”€ reminder.py               # Reminder notifications
โ”œโ”€โ”€ sendemail.py              # Email functionality
โ”œโ”€โ”€ Location.py               # Location services
โ”œโ”€โ”€ Sample generator.py       # Face recognition training
โ”œโ”€โ”€ Model Trainer.py          # Face recognition model
โ”œโ”€โ”€ installer.py              # Dependency installer
โ”œโ”€โ”€ keyboard.py               # Volume control
โ”œโ”€โ”€ sendcall.py               # Twilio call integration
โ””โ”€โ”€ Various text files        # Data storage and configuration

๐Ÿ›ก๏ธ Privacy & Security

Jarvis prioritizes your privacy:

  • Local Processing: Face recognition and most operations run locally
  • Encrypted Storage: Sensitive data encrypted on your machine
  • API Control: You choose which external services to use
  • Open Source: Complete transparency - inspect every line of code
  • No Tracking: Zero telemetry or user data collection
  • Biometric Security: Face recognition prevents unauthorized access

๐Ÿงช Testing & Quality Assurance

Jarvis includes a comprehensive testing suite to ensure reliability and code quality.

๐Ÿš€ Quick Test Run

# Run all tests
python -m pytest tests/ -v

# Run tests with coverage
python -m pytest tests/ --cov=. --cov-report=html

๐Ÿ”ง Comprehensive Testing

# Run all checks (tests, linting, formatting, security)
python run_tests.py

# Run specific test categories
python run_tests.py --skip-lint
python run_tests.py --skip-security
python run_tests.py --fix  # Auto-fix formatting issues

๐Ÿ“‹ Test Categories

  • Unit Tests: Individual module functionality
  • Integration Tests: Module interaction and imports
  • Code Quality: Linting with flake8, formatting with Black
  • Security Checks: Vulnerability scanning with bandit
  • Coverage Analysis: Code coverage reporting

๐Ÿ”„ Continuous Integration

The project uses GitHub Actions for automated testing:

  • Main CI Workflow: Quick syntax and basic checks for all file changes
  • Python Tests Workflow: Comprehensive testing specifically for Python file changes
  • Multi-Python Support: Tests against Python 3.8, 3.9, 3.10, and 3.11

๐Ÿ“Š Development Dependencies

# Install development tools
pip install -r requirements-dev.txt

# Set up pre-commit hooks
pre-commit install

For detailed testing documentation, see tests/README.md.


๐ŸŒŸ Contributors

Thanks to these amazing people who make Jarvis better:


๐Ÿ’ฌ Community & Support


๐Ÿ“œ License

This project is freely available under the MIT License. See the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Tony Stark/Iron Man: For the inspiration behind the name and vision
  • OpenCV Community: For powerful computer vision tools
  • Python Community: For the amazing libraries that power Jarvis
  • Contributors: Everyone who helps improve this project
  • Users: Thank you for choosing Jarvis as your AI assistant

๐Ÿค– "Sometimes you gotta run before you can walk." - Tony Stark

Built with โค๏ธ and Python by Arpit Garg. Secure AI assistance for everyone.

Project views

About

Jarvis is like having Tony Stark's helpful assistant in your pocket. It helps with tasks, controls gadgets, and keeps things organized, just like in the movies.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7

Languages