Back to portfolio

📅

AI Calendar Assistant

Conversational AI · Gemini + Google Calendar

A conversational assistant built with FastAPI, Gemini and the Google Calendar API that schedules events from natural language — including fuzzy phrasing like 'next Saturday' or 'Friday 12pm'.

Overview

The assistant maintains conversational memory with LangChain, resolves fuzzy dates with dateparser and writes confirmed events straight into Google Calendar.

Problem Statement

Booking meetings still means switching to a calendar UI and translating human phrasing into exact timestamps.

Architecture

  • FastAPI service exposing the chat endpoint
  • Gemini (Google Generative AI) for intent and slot understanding
  • LangChain ConversationBufferMemory for persistent session context
  • dateparser for fuzzy natural-language date resolution
  • Google Calendar API v3 for event creation

Workflow

  1. 01User sends a natural-language scheduling request
  2. 02Gemini extracts intent, title, participants and timing
  3. 03dateparser resolves relative phrasing into exact datetimes
  4. 04Assistant confirms, then writes the event to Google Calendar

Features

  • Conversational AI with memory (LangChain + Gemini)
  • Books events directly into Google Calendar
  • Persistent sessions via ConversationBufferMemory
  • Handles fuzzy natural-language dates and times

Technology Stack

FastAPIGemini (LLM)LangChaindateparserGoogle Calendar v3

Challenges & Solutions

Relative dates are ambiguous across time zones.

SOLUTION · Anchored every resolution to the user's locale and confirmed before writing.

LLMs forget earlier turns.

SOLUTION · Added ConversationBufferMemory so multi-turn bookings stay coherent.

Results

  • Zero-UI scheduling from plain conversation
  • Reliable handling of fuzzy phrasing in multi-turn flows