DEV Community

Tanush Reddy
Tanush Reddy

Posted on

How I Built an AI-Powered Workday Assistant with Gemini, Gmail & Google Calendar in One Day

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

  1. User signs in with Google OAuth — zero setup
  2. FlowDesk fetches the last 15 unread emails + today's calendar events server-side
  3. Everything is sent to Gemini with an executive assistant system prompt
  4. Gemini returns a structured Daily Briefing: priorities, conflicts, suggested focus
  5. User can chat naturally: "Do I have time for lunch?" or "What's my most urgent email?"
  6. 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)