Skip to content

BeeBombshell/brilliant

Repository files navigation

Brilliant - AI-Powered Calendar

An intelligent calendar application with conversational AI capabilities, built with React and integrated with Google Calendar. Schedule, manage, and reorganize your events naturally through chat.

Thanks to: big-calendar.vercel.app - A fantastic open-source calendar project that influenced the visual design and user experience patterns.

✨ Features

Calendar Views

  • Day View: Focus on a single day with time-based event layout
  • Week View: See your entire week at a glance with multi-day event support
  • Month View: Monthly overview with event indicators
  • Drag-and-drop event creation
  • Current time indicator with auto-scroll

AI-Powered Scheduling (via Tambo)

Chat naturally to manage your calendar:

  • "Schedule a team meeting tomorrow at 2pm for 1 hour"
  • "Block out focus time every weekday morning"
  • "Move my dentist appointment to next Thursday and add a gym session on Monday"
  • "What do I have scheduled this week?"

Google Calendar Sync

  • Two-way synchronization with Google Calendar
  • Recurring event support (daily, weekly, monthly, yearly)
  • Color mapping from Google Calendar
  • Automatic sync every 60 seconds
  • Batch-parallel sync queue (5 concurrent API calls)

🛠 Tambo Features Used

This project demonstrates several Tambo capabilities:

AI Tools (Function Calling)

Tool Description
createCalendarEvent Create a single event with optional recurrence
getCalendarEvents Query events within a date range
updateCalendarEvent Modify a single existing event
deleteCalendarEvent Remove a single event
batchCalendarUpdate Preferred for 2+ changes — create/update/delete in one call

The batchCalendarUpdate tool uses a JSON string for operations to avoid Tambo's streaming object decomposition. See ARCHITECTURE.md for details.

Context Helpers

The AI receives real-time awareness of the user's calendar without registering extra tools:

Helper Data
userTimeContext Current time + timezone
calendarViewContext Selected date, view type, range description
upcomingEventsContext Visible events with IDs (filtered to exact view)

Generative Components

  • GenerativeForm: Dynamic, schema-driven forms for structured data collection

Thread Management

  • Auto-generated thread names
  • Thread history with conversation switching
  • Checkpoint-based undo/revert system

🏗 Architecture

See ARCHITECTURE.md for the full architecture documentation including:

  • System diagrams and data flow
  • Directory structure
  • State management (Jotai atoms)
  • AI tool + context helper design
  • Google Calendar sync pipeline
  • Design decisions and trade-offs

High-Level Flow

graph LR
    A[User] --> B[Chat Interface]
    A --> C[Calendar UI]
    B --> D[Tambo AI]
    D --> E[AI Tools]
    E --> F[Jotai State]
    C --> F
    F --> G[Google Calendar Sync]
    G -->|batch parallel| H[Google Calendar API]
    H --> G
    G --> F
Loading

⚠️ Known Limitations

Token Refresh (No Backend)

This app uses Google's OAuth2 Implicit Grant Flow, which only provides short-lived access tokens (~1 hour). There are no refresh tokens without a backend server implementing the Authorization Code flow.

Current behavior: When the token expires, users see a re-authentication dialog.

Recurrence Support

Supported:

  • ✅ Daily, Weekly, Monthly, Yearly frequency
  • ✅ Interval (every N days/weeks/etc.)
  • ✅ Count-based and end-date limits
  • ✅ BYDAY for weekly recurrence

Not yet supported:

  • ❌ BYSETPOS, BYMONTHDAY complex rules
  • ❌ Exception dates (EXDATE)

Performance

For users with very large event counts (1000+), client-side recurring event expansion may impact performance.

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • pnpm
  • Google Cloud Console project with Calendar API enabled

Environment Variables

VITE_TAMBO_API_KEY=your_tambo_api_key
VITE_GOOGLE_CLIENT_ID=your_google_client_id

Installation

pnpm install
pnpm dev

📝 License

MIT

About

An intelligent AI Calendar app that sits on top of your Google Calendar - helps you manage your schedule via conversational AI capabilities. Schedule, manage, and reorganize your events naturally through chat.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages