The Problem I Set Out to Solve
Every professional I know drowns in the same two things: emails and calendar conflicts.
We spend the first hour of every workday just figuring out what actually matters.
I wanted to fix that with AI.
What I Built: FlowDesk
FlowDesk is an AI-powered workday assistant that connects your Gmail and Google Calendar,
then uses Gemini AI to tell you exactly what matters today — in plain English.
Live demo: https://flowdesk-914324693806.us-central1.run.app
GitHub: https://github.com/TanushReddy-Dev/Flowdesk
The Tech Stack
- Next.js 14 (App Router + TypeScript)
- Gemini API — AI reasoning, summarization, chat
- Gmail API — fetch and summarize inbox
- Google Calendar API — today's events + conflict detection
- Google OAuth 2.0 — one-click sign in
- Google Cloud Run — serverless deployment
- NextAuth.js — session management
How It Works
- User signs in with Google OAuth — zero setup
- FlowDesk fetches the last 15 unread emails + today's calendar events server-side
- Everything is sent to Gemini with an executive assistant system prompt
- Gemini returns a structured Daily Briefing: priorities, conflicts, suggested focus
- User can chat naturally: "Do I have time for lunch?" or "What's my most urgent email?"
- User can generate AI email drafts with one click
The AI Decision Logic
The core insight is context stacking. Instead of asking Gemini one thing at a time,
FlowDesk sends the full picture — all emails, all events, current time — in a single
structured prompt. Gemini reasons across everything simultaneously and returns a
prioritized, conflict-aware briefing.
User data (emails + calendar + time)
↓
Gemini AI reasoning
↓
{ summary, priorities, conflicts, suggestedFocus }
↓
Daily Briefing card
The Biggest Challenge
Getting Gmail and Calendar data to arrive together before rendering the briefing.
I solved this with parallel Promise.all() calls on the server side, keeping the
dashboard load under 2 seconds even with multiple API calls.
What I Learned Building with Google Antigravity
Antigravity completely changed how I think about building. Instead of writing code
line by line, I described what I wanted and the agent planned, scaffolded, and built
entire modules autonomously. The hardest part was writing good prompts — being specific
about file structure, error handling, and TypeScript strictness made the difference
between generic output and production-quality code.
Results
- ✅ 28 passing tests
- ✅ 64% code coverage
- ✅ 97.5% security score
- ✅ 100% Google Services score
- ✅ Deployed on Google Cloud Run
- ✅ Mobile responsive + WCAG accessible
Try It Yourself
👉 Live: https://flowdesk-914324693806.us-central1.run.app
👉 Code: https://github.com/TanushReddy-Dev/Flowdesk
Built for PromptWars Virtual — powered by Google Antigravity + Gemini AI.
Top comments (0)