demo 1 assignment for college
demo 1 assignment for college
Submitted by
Randheer Kumar 2212678
Md Junaid 2212624
Vanshika 2212732
Ashwani Kumar Yadav 2212544
Rahul 2212667
1
CANDIDATE’S DECLARATION AND CERTIFICATE
___________________________________________________________________________
We hereby certify that the work, which is being presented in this report entitled, AI
Assistant , in partial fulfilment of the requirements for the degree of Bachelor of
We further declare that the matter embodied in this report has not been submitted by us
for the award of any other degree.
Candidate(s) Signature:
This is to certify that the above statement made by the candidate is correct to the best of my
knowledge and belief.
Date:28-03-2025
2
Table of Contents
1 Introduction 4
10 Project Outcome 19
3
1. Introduction
The AI Assistant project is a contemporary voice-operated system aimed at helping users
accomplish various tasks through natural language processing. Created with Python,
HTML, CSS, JavaScript, Bootstrap, and the Eel model, this assistant offers an excellent
interface between the backend and frontend. Python is the principal programming language
which facilitates speech, text-to-speech, and API integration in order to do tasks such as
messaging, opening apps, and automation. HTML, CSS, JavaScript, and Bootstrap are the
technologies used in the frontend with which a well-usable, visually appealing GUI is
provided by which users may interact with the assistant in real-time.
The system utilizes the Eel framework to bridge the Python backend and the frontend,
providing a seamless interaction between the voice assistant's logic and its interface. The
assistant is able to recognize voice commands, give responses, automate tasks such as
sending messages or opening applications, and even provide extra features such as face
authentication. By incorporating the latest technologies like speech recognition, Twilio for
messaging automation, and free AI API alternatives for conversational features, this AI
assistant is both powerful and flexible. It gives users a hands-free, intuitive, and interactive
experience for controlling their digital space more effectively.
4
2. Literature Review & Problem Formulation
Voice assistants have become an essential part of modern technology, integrating artificial
intelligence (AI) to facilitate user interactions. Systems like Apple's Siri, Google Assistant,
and Amazon Alexa use advanced speech recognition and natural language processing
(NLP) to provide assistance in various tasks. This study explores the development of a
voice assistant using Python, incorporating AI features such as speech recognition, text-to
speech conversion, facial authentication, mobile automation, and a chat-based interface.
5
2.1.3 Connecting Backend (Python) with Frontend (HTML, CSS,
JavaScript) Using Eel
Eel is a lightweight Python library that allows developers to build interactive web-based
Front ends while managing backend processes in Python. This makes it a suitable
choice for integrating a Python-based voice assistant with a modern UI.
6
Windows App & Website Opening Open apps and websites using voice
commands
7
3. Objective and Scope of the Project
3.1 Objective:
The primary objective is to develop a Voice Assistant with advanced features like:
3.2 Scope:
The scope includes:
8
4. Feasibility Study
4.1 Development Tools:
Python: The primary backend language used to create the voice assistant (Jarvis
model). Python has numerous libraries such as speech recognition for voice input,
pyttsx3 for text-to-speech, and eel for frontend-backend integration.
Eel: An open-source Python library for creating simple Electron-like desktop
applications using HTML, CSS, and JavaScript. Eel will connect the backend Python
Voice-based Interaction: This feature eliminates the need for manual typing. The
assistant listens to user commands through a microphone, processes them using speech
recognition, and responds via text and speech synthesis.
Mic Button Animation: Click Animation: The frontend will have a microphone button
that triggers a listening state, showing animation when clicked. This provides intuitive
user interaction.
9
4.3 Functionality Features:
Windows App Open Feature: The assistant will support opening applications on the
Windows OS using Python scripts.
Website Launch Feature: The assistant can launch websites using the default web
browser. A command such as "Open Google" will open the browser and navigate to
google.com.
Chat History: User interactions (voice and text) will be logged and stored locally to
provide a history of previous chats. This allows users to view or continue past
conversations.
Mobile Automation (Phone Calls, SMS): The assistant can send SMS messages or
initiate phone calls using services like Twilio or by leveraging Python libraries for
mobile automation
Hot Word Detection: Ensures that the system only listens for commands when activated
by the hot word, reducing unnecessary background listening.
10
5. Significance of Project
This project brings innovation in human-computer interaction, providing users with a
hands-free assistant for their daily tasks. Unlike traditional software interfaces, the
voice assistant improves accessibility and productivity, especially for users with
disabilities. The inclusion of AI-driven features makes it a next-generation personal
assistant.
Automation Features: The system can automate everyday tasks such as sending
messages, opening apps, or performing searches on the web. This is a practical
application of AI to improve user productivity and convenience.
11
Ease of Use: The voice assistant’s user-friendly design, including features like mic
button animation, chat history, and intuitive responses, ensures a positive experience for
users regardless of their technical background.
Task Automation: The voice assistant can perform various tasks like sending SMS,
opening apps, browsing websites, and even automating WhatsApp messages. This
allows users to perform multiple actions simultaneously without manual intervention,
increasing productivity.
Expansion to More Complex Systems: The core features can serve as the basis for
more advanced AI systems in areas like virtual assistants, customer service bots, or even
integration into enterprise-level systems.
12
6. Tools and Technology Used
Python: The core programming language used for backend development, powering the
voice assistant's logic and automation features.
Eel: A Python library for integrating the backend with the frontend, enabling seamless
communication between Python and web-based UI (HTML, CSS, JavaScript).
HTML, CSS, JavaScript: Used for frontend development. HTML structures the user
interface, CSS handles styling, and JavaScript manages dynamic interactions (like
mic button animation).
pyttsx3 & Speech Recognition: pyttsx3 is used for text-to-speech functionality,
converting text into spoken words.
OpenCV: A computer vision library used for implementing face recognition and
authentication features to secure access to the assistant.
Twilio API: Used for automating SMS and phone calls, enabling the assistant to send
messages and make calls programmatically.
SQLite: A lightweight database used to store chat history, logs, and user preferences
for persistence between sessions.
13
7. Process Description and Time Frame
7.1 Process Description
7.1.1 Which Process Model We Are Using?
We are using the Incremental Process Model for this project. It allows us to
develop the system in small modules and integrate them step by step.
Frontend & Backend Development (Week 2-5): Developed the user interface using
HTML, CSS, and JavaScript. Built the backend logic in Python, integrating with the
frontend using the Eel library.
Testing & Debugging (Week 8-9): Conducted thorough testing of all system
components, identified bugs, and performed debugging to ensure smooth operation.
14
Deployment & Documentation (Week 10-12): Deployed the assistant for use,
ensuring all components were functioning correctly. Created user and technical
documentation for future reference and maintenance.
15
8. Contribution of the Project
16
9. Resources and Limitations
9.1 Resources:
9.1.1 Development environment
Python: The main programming language for backend logic and AI integration.
Eel: A Python library that connects the backend with a frontend using HTML,
CSS, and JavaScript. It allows you to create a web-based interface for the voice
assistant.
VS Code: The development IDE to write and manage the code, integrating both
the Python backend and frontend.
9.1.2 APIs:
Twilio: Used for automating SMS, phone calls, and WhatsApp messages.
OpenAI API Alternative: A free API alternative to OpenAI for chatbot
functionality and natural language processing.
9.1.3 Hardware:
Microphone: For capturing voice commands and enabling speech recognition.
9.2 Limitations:
17
Constant listening for hotwords (like "Hey Jarvis" ) might require significant
system resources. The system needs to be capable of processing real-time audio
input efficiently.
18
10. Project Outcome
The project delivers a fully functional Voice Assistant with an intuitive frontend and
a powerful Python-based backend. The system efficiently processes voice commands,
recognizes faces, automates applications, and interacts with users dynamically. This
assistant serves as an accessible, interactive, and smart tool for daily operations,
showcasing a blend of AI, automation, and security features.
Additionally, the project demonstrates the capability of Python, Eel, and other APIs
such as Twilio and free alternatives to OpenAI in building a flexible, user-friendly aide
that can be tailored to the user's requirements. The frontend is developed using HTML,
CSS, and JavaScript to provide seamless interaction and visual cues in the form of
microphone animations and waveforms, much like other voice aids. While there are
some constraints, for example, dependence on microphone quality and possible system
resource requirements for hotword detection, the result is a stable voice assistant
capable of development with more features and tweaks in the future.
19