NexusTime: Intelligent Multi-Calendar Scheduler
NexusTime is a lightweight, client-side Single Page Application (SPA) designed to solve the "availability tetris" problem. By ingesting standard `.ics` calendar files (common in Outlook, Google, Apple), it algorithmically determines optimal meeting slots. Unlike binary "free/busy" tools, NexusTime provides a fuzzy availability score, ranking time slots based on how many participants can attend. It features a clean, mobile-first UI and leverages Google's Gemini API to draft context-aware meeting
NexusTime: Intelligent Multi-Calendar Scheduler
Abstract
NexusTime is a lightweight, client-side Single Page Application (SPA) designed to solve the "availability tetris" problem. By ingesting standard .ics calendar files (common in Outlook, Google, Apple), it algorithmically determines optimal meeting slots. Unlike binary "free/busy" tools, NexusTime provides a fuzzy availability score, ranking time slots based on how many participants can attend. It features a clean, mobile-first UI and leverages Google's Gemini API to draft context-aware meeting invitations based on the selected slot.
Detailed Analysis & Architecture
1. Core Philosophy
- Privacy First: All calendar parsing and logic happen in the browser. No calendar data is sent to a server.
- Resilience: Handles imperfect data by offering "best possible" matches, not just perfect matches.
- Simplicity: Drag-and-drop interface with immediate visual results.
2. Architecture
- Frontend Framework: React 18 with TypeScript for type-safe logic.
- Styling: Tailwind CSS for rapid, responsive, and aesthetic UI development.
- State Management: React
useStateanduseMemofor filtering and sorting slots efficiently. - Services:
IcsParser: A regex-based service to extractVEVENTdata (Start, End, Summary) from raw text files.SchedulerEngine: A time-bucket algorithm. It discretizes the timeline into 15-minute chunks, calculates a "heat map" of availability, and aggregates chunks into viable meeting slots.GeminiService: Utilizes@google/genaito generate professional meeting invites or analyze schedule conflicts.
3. Features
- Multi-File Ingestion: Accepts multiple
.icsfiles, assigning a unique color/identity to each. - Dynamic Duration: User can adjust meeting length (e.g., 30m, 60m), instantly recalculating available slots.
- Availability Ranking:
- Tier 1 (Green): 100% of calendars are free.
- Tier 2 (Yellow): >75% of calendars are free.
- Tier 3 (Orange): >50% of calendars are free.
- Conflict Visualization: Clearly shows who is missing in a partial match.
- GenAI Invitation: One-click generation of a meeting email draft using the chosen time and context.
4. Implementation Steps
- Scaffolding: Setup React DOM and Tailwind.
- Data Layer: Create strict TypeScript interfaces for
Calendar,Event, andTimeSlot. - Parser Logic: Implement a robust
.icsreader that normalizes dates (handling UTC/Z timezones). - Scheduling Algorithm: Implement the intersection logic to find and rank gaps.
- UI Components:
Uploader: File input.Controls: Duration slider.Results: Masonry or Grid layout of time cards.
- Integration: Connect Gemini API for the "Draft Invite" feature.
Related Documents
Totem — Development Rules
- **pnpm only** (never npm/yarn). Use `pnpm dlx` (never `npx`). Windows 11 + Git Bash. TypeScript strict mode.
MechCAD-MLLM
我们将这一新模型暂定名为 **"MechCAD-MLLM"**(面向机械领域的CAD多模态大模型)。
Gemini Project Context: ScryFall-UI
This file provides context for the Gemini AI assistant to understand and effectively assist with this project.
GEMINI.md — FIM One Instructional Context
FIM One is an AI-powered **Connector Hub** that serves as a bridge between disjointed enterprise systems (ERP, CRM, OA, Databases) through autonomous AI agents.