Back to the red bull cans

Solo build

Nexus

One AI assistant for your whole Google account: mail, calendar, files, tasks and forms

ShelvedSep 2025

Video in the works

Nexus

Signing in with Google and running the daily briefing.

About the project

Sign in with Google and let one assistant work across your Gmail, Calendar, Drive, Tasks and Forms. The Google side works; the AI chat on top was never connected.

Nexus was meant to be one AI assistant for your whole Google Workspace: ask it to find an email, schedule an interview with a Meet link, or give you a morning briefing, and it would use Gmail, Calendar, Drive, Tasks and Forms for you.

I built the Google side in one day: sign-in with offline access, a service for each API, and two combined workflows. The AI chat that would call them as tools was never connected, because the TermiX dashboard work took over two days later.

How it works

  1. Sign in once

    Sign in with Google. Tokens are stored and refreshed automatically.

  2. Your Workspace

    Gmail (search, send, drafts, attachments), Calendar (Meet links, free slots), Drive, Tasks and Forms.

  3. Interview scheduler

    Creates a Meet event, then a feedback form, then sends the email.

  4. Daily briefing

    Pulls today's events, tasks and unread mail at the same time.

  5. Planned, not built

    An AI chat that calls all of this as tools.

Under the hood

Login
NextAuth with Google offline access, tokens in Postgres through Prisma.
Services
One per Google API, each set up on first use.
UI
Next.js 15: dashboard, workspace and chat pages.

What I did

  • Planned it in four sprints: Google sign-in, Workspace APIs, AI tool calling, then workflows and billing
  • Google sign-in with offline access to Gmail, Calendar, Drive and Tasks, with each user's tokens stored safely
  • One service per Google API: Gmail (search, send, drafts, attachments), Calendar (Meet links, free-slot finder), Drive, Tasks and Forms
  • Two combined flows: an interview scheduler (Meet event, then feedback form, then email) and a daily briefing (events, tasks and unread mail in parallel)
  • Sign-in, dashboard and workspace pages, and a chat screen

What was new

  • Google OAuth with offline access across five Workspace APIs, saving refreshed tokens automatically
  • Creating Meet links and finding free slots from calendar data
  • Chaining several Google APIs into one workflow, as groundwork for AI tool calling

Problems I hit, and how I fixed them

  1. Google returned an extra token field the database model didn't expect, and sign-in failed.

    Fix Strip it before saving the account.

  2. Each service needs a database lookup to build its Google client, which a constructor can't do.

    Fix A lazy initialise step at the start of every method.

  3. Access tokens expire.

    Fix Listen for token refresh events and write the new tokens back.

  4. Why it stopped: the AI chat was never wired up.

    Fix Not fixed. Two days later the TermiX dashboard work took over.

Screenshots

Screenshots in the works

Real screens from Nexus go here.