-
-
Welcome / Sign In — "Your AI productivity companion — sign in to let Aura plan your day."
-
Dashboard (Overview) — "Everything that matters today, at a glance — tasks, progress, and Aura's daily brief in one bento view."
-
Chat (Talk to Aura) — "Just tell Aura what you need — it decides which actions to take and gets it done, chat included."
-
Voice — "Speak your to-dos. Aura parses voice commands straight into real actions."
-
Autopilot — "One click: scan, prioritize, time-block, and book your entire day to the calendar."
-
AI Schedule — "A time-blocked day plan, built automatically around your real workload."
-
Priority Matrix — "Every task ranked by urgency and impact — the Eisenhower matrix, done for you."
-
Calendar — "Two-way synced with Google Calendar — your real schedule, always up to date."
-
Insights — "Your productivity, quantified — see what's actually moving the needle."
-
Goals — "Turn long-term goals into daily progress Aura keeps you accountable to."
Inspiration
Most to-do apps are just glorified lists — they store what you need to do but do nothing to help you actually get it done. We wanted an assistant that behaves like a sharp personal chief-of-staff: one you can hand a messy brain-dump (even a photo of a whiteboard list) to, and it figures out what matters, when to do it, and puts it on your calendar — without you having to manage the list yourself.
What it does
Aura is an agentic productivity companion built on Gemini, Firebase, and the Google Calendar API. It has two complementary ways of taking action:
Talk to Aura — a real Gemini function-calling agent. Give it a request in plain language (or a photo of a handwritten list), and it decides which tools to call — create/complete/update tasks, decompose a big task into steps, prioritize with an Eisenhower matrix, time-block your day, book calendar events, log habits — chaining multiple tool calls together and recovering if one fails. It also remembers your preferences (working hours, style) across sessions. Autopilot — a one-click deterministic pipeline that scans your open tasks, prioritizes them, time-blocks your day, and books it straight to your calendar. On top of that: daily briefs, weekly reviews, proactive nudges before deadlines slip, AI recommendations, and voice-command parsing.
How we built it
Frontend: React + Vite + Tailwind, deployed on Vercel. Backend: Express 5 on Node, deployed as a free Render Web Service. AI: Gemini 2.5 Flash via a custom REST wrapper with retry/backoff and hardened JSON parsing, plus a function-calling agent loop that gives the model a toolbox and lets it decide what to call. Data & Auth: Firebase Auth (email/password, ID-token verification on every request) and Cloud Firestore for tasks, habits, goals, reminders, calendar events, and agent memory. Calendar: Google Calendar API via OAuth2, with a mock mode so the app stays fully usable without calendar credentials configured. Engineering details: per-IP rate limiting, in-memory caching for expensive AI briefs, a /api/health probe that checks Firestore + Gemini connectivity, centralized error handling, and a Jest + Supertest test suite.
Challenges we ran into
Getting an LLM to reliably return well-formed JSON for structured actions (task lists, schedules) — solved with retry logic and JSON-hardening in the Gemini wrapper. Designing a function-calling loop that can chain multiple tool calls in one request and gracefully recover when a tool fails mid-chain, instead of just giving up. Keeping the app fully functional when Gemini or Calendar credentials aren't available — every AI path has a heuristic fallback. Deploying a split frontend/backend for free: wiring CORS and VITE_API_BASE_URL correctly across two independent platforms (Vercel + Render), and handling Render's free-tier cold starts gracefully on the client.
Accomplishments that we're proud of
A genuinely agentic assistant — not a single prompt-and-response wrapper, but a model that plans and executes multi-step actions across tasks, habits, goals, and calendar. Multimodal input: snap a photo of a to-do list and Aura extracts and creates the tasks. Long-term personalization via a user_preferences memory store. A resilient architecture that degrades gracefully instead of breaking when external AI/calendar services are unavailable. Shipped and fully deployed for free (Render + Vercel), with a working live demo.
What we learned
Prompt design and output-hardening matter as much as model choice when building reliable AI features. Tool/function-calling orchestration is a different design problem than single-shot generation — it needs explicit recovery paths. Splitting a full-stack app across two free-tier hosts is viable but requires careful attention to build-time vs. runtime environment variables and CORS. Designing for graceful degradation (mock modes, fallbacks) makes a demo far more robust under real-world conditions like flaky API keys or quota limits.
What's next for AI-Powered-Productivity-Companion
Move Google Calendar sync from optional/mock to a first-class onboarding step with full two-way sync. Expand proactive nudges into a smarter notification engine (push/email) instead of in-app only. A PWA/mobile-optimized experience for on-the-go capture and voice commands. Deeper personalization — richer long-term memory, adaptive scheduling based on completion patterns. Team/shared task support for collaborative productivity, not just solo use.
Built With
- axios
- express.js
- firebase
- firebase-auth
- firestore
- google-calendar-api
- google-gemini
- googleapis
- javascript
- jest
- node.js
- react
- recharts
- render
- tailwindcss
- vercel
- vite
Log in or sign up for Devpost to join the conversation.