Inspiration
We were inspired by the growing role of AI in making everyday life easier. We wanted to build a personal assistant that goes beyond answering questions and helps people interact with technology naturally through voice.
This idea led us to create Companion AI, an intelligent assistant designed to provide conversational responses, remember user preferences, and manage personalized reminders. Our vision is to make AI feel more like a helpful companion that understands what users need and responds in a natural, friendly way.
What it does
Companion AI is an AI-powered personal voice assistant that combines conversational intelligence with everyday productivity features.
Its key capabilities include:
- Gemini-powered conversations: Answers questions, explains concepts, and supports natural follow-up conversations.
- Voice interaction: Allows users to communicate with the assistant using spoken commands.
- Personalized reminders: Helps users create reminders using natural language, with friendly announcements such as, "Hey buddy, it's tea-break time!"
- User preferences and memory: Aims to remember saved information, such as the user's preferred name, across conversations.
- Intelligent task handling: Routes requests to the appropriate application functionality instead of treating every message as a search query.
- Spoken responses: Delivers conversational answers through the assistant's voice interface.
The goal is to provide a convenient, personalized experience through one simple interface.
How we built it
We designed Companion AI as a full-stack application that connects an interactive frontend with AI-powered backend services.
Our approach combines:
- Google Gemini AI for natural-language understanding and response generation.
- Frontend technologies for the conversational interface, voice controls, and reminder display.
- Backend services for processing requests, validating actions, and managing application logic.
- Model Context Protocol (MCP) for structured integration between the AI and supported tools.
- Persistent storage for user preferences and reminders, where configured.
- Voice technologies for speech input and spoken responses.
- Reminder scheduling to support scheduled notifications and personalized announcements.
We focused on separating conversational responses from application actions so that the assistant can answer questions naturally while handling tasks through the appropriate services.
Challenges we ran into
Building a voice-based AI assistant introduced several technical challenges.
- AI response routing: Ensuring ordinary questions are answered by Gemini rather than being redirected to irrelevant information sources.
- Voice interaction: Preventing duplicate messages, repeated responses, and audio feedback loops.
- Reminder scheduling: Converting natural-language requests into valid dates and times while ensuring reminders are stored and delivered correctly.
- Personalized memory: Making sure updated user preferences are saved and retrieved consistently across conversations.
- Tool integration: Connecting AI-generated decisions with backend actions and handling failures without reporting false success.
- Response consistency: Keeping spoken answers natural while preserving the meaning of the displayed response.
These challenges taught us the importance of reliable backend logic, careful testing, and clear separation between AI reasoning and real application operations.
Accomplishments that we're proud of
We are proud of developing the foundation of a personal assistant that brings conversational AI and productivity features together.
Our accomplishments include:
- Designing a voice-first assistant experience.
- Integrating Gemini into a conversational application.
- Exploring MCP-based tool integration.
- Developing workflows for personalized reminders.
- Building an architecture that supports user preferences and contextual conversations.
- Identifying practical challenges in voice processing, scheduling, and AI response routing.
We are especially proud of approaching the project as more than a chatbot: our goal is to connect natural conversations with useful actions that can make everyday tasks easier.
What we learned
We learned that building a useful AI assistant requires more than connecting a language model to a user interface.
We gained experience with AI integration, full-stack development, natural-language processing, voice interaction, backend architecture, tool orchestration, and persistent data management.
We also learned that user trust depends on reliability. An assistant should remember updated preferences correctly, provide accurate responses, and confirm a task only when the underlying operation succeeds.
What's next for Companion AI – Your Personal Voice Assistant
Our next goal is to make Companion AI more reliable, intelligent, and personalized.
Planned improvements include:
- More natural real-time voice conversations.
- Reliable scheduled reminders with personalized spoken notifications.
- Improved long-term memory for user preferences.
- Better handling of follow-up questions and conversational context.
- Stronger validation of current and time-sensitive information.
- Support for additional languages and regional conversations.
- Improved privacy, authentication, and secure data management.
- More integrations that allow the assistant to perform useful everyday tasks.
Our long-term vision is to create a dependable personal AI companion that helps people organize their day, access information, and complete tasks through simple, natural conversation.
Built With
- artificial-intelligence
- express.js
- generative-ai
- github
- javascript
- model-context-protocol-(mcp)
- mongodb
- natural-language-processing
- next.js
- node.js
- react
- rest-api
- speech-recognition
- tailwind-css
- text-to-speech
- typescript
- voice-assistant
- web-development
- webrtc
Log in or sign up for Devpost to join the conversation.