How rhythmic-code/smart_scheduler works
Smart Scheduler is a voice-driven meeting assistant. Its active main.py loop gathers spoken preferences, offers conflict-free calendar slots, and creates an event after confirmation. A separate conversation-agent implementation supports LLM-based intent extraction and calendar queries, but the sampled active loop does not invoke it. The README also documents voice I/O, timezone-aware scheduling, and calendar integration. The graph reflects these distinct paths; unsampled wiring is omitted.
Main entry points: calendar_service.py Calendar service · main.py Scheduler loop · calendar_agent.py Calendar agent · config.py Runtime settings
Components 11
Voice interaction
- Scheduler loop
main.py - Voice interface
services/voice_service.py
Conversation intelligence
- Conversation agent
agents/conversation_agent.py - LLM service
services/llm_service.py - Date parsing
utils/time_utils.py
Calendar scheduling
- Calendar agent
agents/calendar_agent.py - Calendar service
services/calendar_service.py
Configuration and auth
- Runtime settings
config.py - OAuth credentials
gcal/auth.py
Other components
- User
- Google Calendar
Connections 17
- User → Scheduler loop: speaks to
- Scheduler loop → User: speaks response
- Scheduler loop → Calendar service: checks slots
- Scheduler loop → Calendar service: creates event
- User → Voice interface: provides audio
- Voice interface → User: plays speech
- Conversation agent → LLM service: extracts intent
- Conversation agent → Calendar agent: queries events
- Conversation agent → Date parsing: parses dates
- Calendar agent → Date parsing: parses constraints
- Calendar agent → Calendar service: finds slots
- Calendar agent → Calendar service: schedules event
- Calendar service → Google Calendar: reads and writes
- Calendar service → Runtime settings: reads settings
- LLM service → Runtime settings: reads settings
- Voice interface → Runtime settings: reads settings
- OAuth credentials → Runtime settings: reads credentials paths