Friday is your personal AI assistant, designed to streamline your day by offering seamless interaction with multiple services. It responds to your mood, performs system-level tasks, automates scripts, and even handles everyday activities like music playback, coding, and messaging.
Live Demo: π΄ Coming Soon
β¨ Emotion Recognition
The assistant reads your facial emotions in real-time using advanced computer vision techniques and responds according to your moodβwhether you're feeling happy, sad, or neutral. Your assistant understands you!
π Web Scraping
Need quick answers? Friday can browse the web and fetch the most accurate information for you.
πΆ Media Control
Easily control your favorite media apps. Say "Play [song] on Spotify" or "Play [video] on YouTube," and Friday will do the rest.
π» Program Writing and Execution Friday can write and execute programs in Python, allowing you to automate tasks or perform computations with simple commands. For example, you can say, "Write a program to calculate the factorial of a number."
π² WhatsApp Messaging
Send WhatsApp messages to any of your contacts by simply saying, "Send a WhatsApp message to [contact]."
π» PyAutoGUI Script Generation
Friday can automate your tasks by writing and executing PyAutoGUI scripts, controlling your system with commands like mouse movements, clicks, and keyboard inputs.
π User History Tracking
The assistant stores a log of your actions and interactions to personalize your experience. The next time you chat, it remembers your preferences!
π οΈ System Commands
Commands like βShut down,β βRestart,β βSleep,β and setting alarms make Friday your ultimate assistant for controlling system functions.
π PDF Summarization
Need a quick summary of a long PDF? Friday can summarize documents for you within seconds.
Here's a sneak peek of the UI:
The main interface of Friday, showcasing the home screen.
Ensure the following are installed before starting the project:
- Python 3.7+
- Flask
- OpenCV (for emotion recognition)
- deepface(for emotion , age and gender recognition)
- PyAutoGUI (for automation)
- SpeechRecognition
- Pyttsx3
- json
- dotenv
- youtube_transcript_api
- BeautifulSoup
- PYPDF2
- googletrans
- screen_brightness_control
- seleneium
- PIL
- Requests (for gemini LLM API data retrieval) Install dependencies with:
pip install -r requirements.txt
-
Clone the Repository
git clone https://github.com/danyQe/FRIDAY.git cd FRIDAY
-
Start the Flask Server
python app.py
Your webcam captures your face, and using OpenCV and deepface, it detects your facial expressions(age,gender,emotion). The assistant analyzes your mood and responds accordingly.
Friday uses Selenium and the Beautiful soup to fetch data and summarise the results based on your input. Spotify app is must in the windows pc to play the songs.
Through PyAutoGUI, the assistant can write and execute Python scripts for system control, such as automating mouse clicks or typing tasks.
Each conversation is logged in a text file for later reference, allowing the assistant to better understand and tailor future interactions.
FRIDAY/
β
βββ app.py # Main Flask server
βββ gemini_functions.py # API keys and configuration
βββ prompt.py # the prompts used to control the gemini model
βββ .env # the API keys will be stored here.
βββ history.txt # the data of the user will be stored here.
βββ messages.json # the json schema between user and the model will be stored here.these data can be used to fine tune the model further.
βββ /static # Static files (CSS, JS, images)
βββ /templates # HTML templates for UI
βββ /programs # The generated programms will be stored here.
βββ /photos # The user's face database to save their names with photos.
βββ /documents # The pdf documents will be stored here for summarisation.
βββ requirements.txt # Project dependencies
Ask anything:
"Find the latest news about AI"
"What's the weather like today?"
"Play [song name] on Spotify"
"Play [video name] on YouTube"
"Send a WhatsApp message to [contact] saying [message]"
"Write a script to click the mouse at [x, y] position."
"Automate typing this sentence."
"Shut down the system."
"Restart the system."
"Set an alarm for 7 AM."
We welcome contributions! Feel free to fork the repository and submit pull requests for new features or bug fixes. If you're unsure how to contribute, check out our contribution guidelines.
This project is licensed under the MIT License. See the LICENSE file for more details.
For any inquiries, feel free to reach out via email: [[email protected]]
Hope this README inspires you to use Friday and build upon it. Contributions and feedback are always appreciated!
This version should capture attention with some cool formatting and icons, making it more engaging for users. Feel free to add screenshots, GIFs, or even links to live demos for added flair.