Project Story
Inspiration
Most productivity apps feel clinical — tools that push you to get more done, faster. And most social platforms? They feel noisy, impersonal, and exhausting. We wanted something different.
We were deeply inspired by the film Her — the concept of an AI not just as a digital assistant, but as an emotional presence. What if you had something that could help you plan your life and help you process it? Not a robotic scheduler, but a calm, intelligent friend who listens, reflects, and acts with care. That’s how Aeva came to life — out of a longing to build an AI that doesn’t just optimize your tasks, but holds space for your thoughts, feelings, and focus.
What it does
Aeva is a warm, intelligent AI companion that supports both your productivity and your well-being — seamlessly integrated into one cohesive experience.
- Voice-Driven Intelligence: Aeva listens and speaks. She adapts to the context — assertive during task planning, empathetic while journaling. Everything runs through a unified AI brain that truly understands natural language.
- Smart Task & Project Management: Say “Plan my final exams,” and Aeva creates an intelligent project structure with subtasks, dates, and priorities — instantly.
- Private Journaling: Speak freely. Aeva retains context and engages in reflective dialogue, helping you understand your thoughts without judgment.
- Focus Mode: Includes a Pomodoro timer, ambient soundscapes (like rainfall or coffee shops), and mindful mini-games to gently reset your focus.
- Study Suite: Aeva breaks down tough topics, summarizes reading material, and creates flashcards — acting as a personal tutor who’s always ready to help.
How we built it
We built Aeva from scratch within the Bolt.new environment, designing every piece to feel seamless, supportive, and alive.
- Frontend: React (with Vite) and TypeScript gave us a fast, type-safe foundation. Tailwind CSS styled the experience with a cozy “Warm Embrace” aesthetic, and Framer Motion brought it all to life with elegant animation.
- Backend: Netlify Functions power the serverless logic. Supabase handles the database, with real-time syncing to make every task and interaction feel immediate.
- AI Brain: Powered by
gemini-1.5-pro, which gave Aeva the ability to understand voice, interpret complex intent, and call functions to take real action (like creating tasks or retrieving journal entries). - Voice System:
- Capture speech via the browser’s
MediaRecorder. - Send it to Gemini for transcription and processing.
- Convert the response into natural audio using ElevenLabs Voice, and stream it back to the user in real time for a fluid, expressive conversation.
Challenges we ran into
This was a bold project — and we hit plenty of real-world walls:
- Broken Task Updates: Manual edits didn’t reflect in the UI. We refactored our
TaskContext.tsxlogic to blend real-time updates with forced refreshes. - Google Cloud Setup Hell: Enabling the right APIs and linking billing (even on the free tier) caused multiple 404s and wasted hours.
- Hallucinating AI: Early on, Aeva would say she did something — like "I added your task" — without actually doing it. We solved this by rewriting system prompts with strict instructions to use tools, not pretend.
- Deployment Pains: We debugged everything from broken Netlify builds to mismatched
<div>tags and nastypackage-lock.jsonmerge conflicts.
Accomplishments that we're proud of
We’re most proud of the Unified AI Brain — one function that adapts its personality and skills depending on where the user is. A planner in one moment, a reflective journal in the next, a supportive tutor later on — all powered by the same core.
Hearing someone say “Plan my trip to California” and watching Aeva respond with a structured, actionable plan — created from just that one sentence — was the moment we knew we’d built something truly intelligent.
What we learned
This was more than a technical build — it was a deep learning experience:
- Prompt engineering matters. The system prompt defines everything — personality, safety, logic — and it needs to be rock solid.
- State management is everything. Handling optimistic updates, real-time sync, and edge cases in a React app requires real thought and discipline.
- Tools must act, not talk. We learned to tie every piece of language understanding directly to function-calling behavior, or else it’s just smoke and mirrors.
- Don’t ignore the emotional layer. Building for feeling — not just features — changes everything about how you approach product design.
What's next for Aeva
We’re just getting started. Here’s what’s on the roadmap:
- User Accounts: Supabase Auth will give each user a private, persistent experience with full database row-level security.
- Mood Insights Dashboard: We’ll build visualizations to reflect mood patterns, helping users (and therapists) understand long-term emotional trends.
- Proactive Briefings: Aeva will offer a “morning check-in,” summarizing your tasks, calendar, and energy level in one short, motivating message.
- Memory That Grows: By integrating vector-based memory via pgvector, Aeva will be able to remember specific details from past conversations — weeks or even months later — making her feel like a true long-term companion.
- Adaptive Personas (coming soon): We’re working toward allowing users to personalize Aeva’s persona — her tone, pace, and personality — depending on who they are and what they need. Whether you want a gentle coach, a focused executive assistant, or a friendly peer, Aeva will evolve to match you.
Aeva is more than software. She’s a signal of what human-centered AI can become — not just efficient, but empathetic. Not just powerful, but personal. She’s not here to replace anyone. She’s here to be with you — through the stress, the plans, the doubts, the triumphs. A voice in your corner. A quiet kind of presence.
We built her for ourselves. And for anyone who’s ever needed a little more understanding in their digital world. 💛
Built With
- css
- eleven-labs-api
- framer
- gemini
- gemini-api
- html
- javascript
- netlify
- node.js
- react
- sql
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.