Project Info
This project did not submit a demo video on Devpost.
Inspiration
In today’s fast-paced world, balancing mental well-being with productivity is a challenge for many. We were inspired by the idea of creating a tool that merges emotional intelligence with proactive productivity management. Our goal was to help users manage stress, monitor their emotional health, and stay on top of tasks in a personalized and seamless way. Serene AI was born from the desire to provide users with a voice-powered, emotionally aware companion that not only listens but also takes meaningful actions to support their well-being.
What it does
Serene AI is a voice-to-voice web application that assists users in managing both their mental well-being and productivity. It listens to users' thoughts, emotions, and concerns, offering thoughtful responses that include personalized advice and proactive actions. Through integrations with Gmail and Google Calendar, Serene AI helps users manage their schedules and tasks while simultaneously tracking emotional trends over time. It transforms well-being recommendations into actionable steps to improve overall wellness and productivity.
How we built it
Serene AI was developed using a robust, multi-layered tech stack: Frontend: We created the interface with React and used Chart.js for visualizing emotional trends and mood scores over time. Backend: Flask was utilized to manage API interactions and host the custom AI model, which is powered by Groq, with our embedding models from OpenAI. Voice-to-Voice Interaction: Speech-to-text and text-to-speech capabilities were enabled using the VAPI API, allowing seamless voice interaction. AI & Sentiment Analysis: We integrated Hume AI for advanced emotional sentiment tracking and analysis, while ChromaDB stores conversation histories and emotional data. Productivity Management: A multi-agent framework was implemented to integrate Google Calendar and Gmail, enabling Serene to manage events, send emails, and adjust schedules based on the user’s emotional state and preferences.
Challenges we ran into
One of the major challenges was creating agents that could interpret natural language queries to control various APIs, such as Google Calendar and Gmail. Fortunately, Groq's function-calling models simplified this process, making it easier to handle complex requests and improve the system's functionality.
Accomplishments we're proud of
We’re proud of creating a fully functional, voice-powered wellness coach that combines mental well-being support with productivity tools. A major achievement was building a custom LLM that understands and responds to users' emotions in real-time. The multi-agent framework, which allows Serene to proactively manage calendars and emails based on emotional input, is another significant accomplishment. Additionally, the ability to visualize emotional trends and provide users with actionable well-being insights over time is a feature we’re particularly excited about.
What we learned
Throughout the development of Serene AI, we deepened our understanding of how AI and emotional intelligence can intersect. We learned the importance of balancing personalization with user autonomy—ensuring that Serene’s suggestions are not only helpful but also actionable. We also enhanced our skills in integrating multi-agent systems, refining our ability to combine AI-driven emotional insights with practical productivity tools.
What's next
for Serene AI Looking ahead, we plan to: Expand integrations with additional productivity tools, such as task management apps. Improve our sentiment analysis with more sophisticated real-time mood prediction models. Incorporate guided meditations, breathing exercises, and other wellness activities based on emotional feedback. Add support for multiple languages to make Serene AI accessible to a global audience. With these enhancements, Serene AI aims to become an even more effective personal wellness coach for users everywhere.
Serene AI - Personal Wellness Coach
Serene AI is a voice-to-voice web application designed to help users manage their mental well-being and productivity through personalized interactions. Serene listens to users' thoughts, emotions, and concerns, and responds with thoughtful advice and actions to reduce stress, manage schedules, and track emotional trends over time.
Developed for CalHacks 2024 at UC Berkeley, Serene AI integrates a custom AI model with emotional sentiment tracking and productivity management tools.
Features
- Voice-to-Voice Interaction: Users can speak directly to Serene using the VAPI API, and Serene responds with personalized spoken dialogue.
- Custom LLM: Powered by a custom Large Language Model (LLM) using Groq and OpenAI, Serene generates context-aware responses based on user input.
- Multi-Agent Framework: Serene AI integrates with Google Calendar and Gmail, allowing it to:
- Retrieve and manage events and emails.
- Create or modify calendar events and send emails.
- Relieve stress by adjusting schedules based on user preferences and emotional state.
- Sentiment Tracking: Tracks user sentiment over time, adjusting responses to improve personalization based on emotional patterns.
- Trends and Insights: Users can view their emotional trends over time, with visualizations of:
- Mood scores/magnitudes across conversations.
- Top emotions felt and their frequency.
- Well-being insights over a month.
Tech Stack
Frontend:
- React: Web app interface.
- Chart.js: Visualizing trends and emotional data.
- VAPI API: Speech-to-text and text-to-speech interactions.
Backend:
- Flask: To expose the custom LLM and manage API interactions.
- Python: For AI agent creation and overall backend logic.
AI & Data:
- Custom LLM: Built using Groq and OpenAI for processing user input and generating responses.
- Hume AI: For advanced emotional sentiment analysis.
- ChromaDB: For storing conversation history, creating a knowledge base, and holding sentiment data.
- Multi-Agent Functionality: Allows us to control and edit your calendar or inbox directly through text and voice
Setup and Installation
Prerequisites
- Python 3.8 or higher
- Node.js (v14 or later)
- API keys for VAPI API, Google Calendar, Gmail, Hume AI, and OpenAI.
Installation
-
Clone the repository:
git clone https://github.com/yourusername/serene-ai.git cd SereneAI -
Install backend dependencies (Flask, AI models, and other Python packages):
pip install -r backend/requirements.txt -
Install frontend dependencies (React app):
cd frontend npm install -
Set up environment variables for API keys (create a
.envfile in bothbackendandfrontend):VAPI_API_KEY=your_vapi_api_key GOOGLE_CALENDAR_API_KEY=your_google_calendar_api_key GMAIL_API_KEY=your_gmail_api_key HUME_AI_API_KEY=your_hume_ai_api_key OPENAI_API_KEY=your_openai_api_key
Running the Application
-
Start the Flask backend:
cd backend flask run -
Start the React frontend:
cd frontend npm start -
Access the app in your browser:
http://localhost:3000
Usage
- Conversation: Speak directly to Serene about your current feelings, stress levels, or concerns. Serene will analyze the input and respond with advice or tips. For example, you can say:
- "I have an interview tomorrow, and I feel anxious. Can you help me calm down?"
- "I have a presentation next week, but I get really nervous when public speaking. What can I do to prepare?"
- "I’ve been feeling overwhelmed lately. Do you have any tips to reduce my stress?"
- "I haven’t been sleeping well. Can you help me with some relaxation techniques before bed?"
- "I’m feeling a bit down today. Can we talk about ways to lift my mood?"
- Productivity: Ask Serene to manage your calendar or emails. For example, you can say:
- "What's on my schedule for today?"
- "Cancel my meeting at 3 PM."
- "Send an email to [recipient] about rescheduling."
- Trends: Track your emotional trends over time on the trends page, where you can view:
- Monthly mood scores.
- Most frequent emotions.
- Sentiment analysis over conversations.
Roadmap
- Integration with additional productivity tools (task management apps, to-do lists).
- Enhanced mood prediction and real-time emotional analysis using deep learning models.
- Expanding language support for voice interactions.
- Incorporation of wellness activities like guided meditations and breathing exercises based on emotional state.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- VAPI API for enabling seamless voice interaction.
- Hume AI for emotional sentiment analysis.
- Google Cloud for Calendar and Gmail API services.
- OpenAI & Groq for powering the LLMs and embedding models behind Serene AI.
- ChromaDB for enabling seamless memory storage and creation
Analysis
View
Metric
- 21
- 17
- 11
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
5 of 5 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
53 KB
Source files
21
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
jw-source/SereneAI
37 files · 1.3 MB · @ b35d1a4
Structure
Interface
5 files · 14%Screens, components and styles rendered to the user.
Application logic
13 files · 35%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python52%
- JavaScript33%
- Markdown10%
- HTML3%
- CSS2%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 12- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- @vapi-ai/web
- chart.js
- react
- react-chartjs-2
- react-dom
- react-router-dom
- react-scripts
- react-spinners
- web-vitals
requirements.txt
pypi · 5- beautiful-date
- gcsa
- groq
- python-dotenv
- simplegmail
package.json
npm · 2- chart.js
- react-chartjs-2
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.