Personal AI Assistant
A personal AI assistant chatbot with support for reminders, alarms, and to-do management — using structured intent classification and an LLM-powered conversational layer for natural, context-aware interactions.
Screenshots
Deep Dive
This Personal AI Assistant is a comprehensive chatbot system designed to handle everyday productivity tasks through natural language. Users can set reminders, create alarms, manage to-do lists, and have general conversations — all through an intuitive chat interface.
The system uses a sophisticated intent classification pipeline that analyzes user messages and categorizes them into structured schemas (reminder, alarm, todo, or general chat). This classification layer ensures that task-specific messages are routed to the correct handlers while free-form conversation flows to the LLM.
Built on FastAPI with Pydantic for strict data validation, the REST APIs handle all chat interactions and task management operations. The architecture follows clean separation of concerns — the NLU layer handles understanding, the task engine handles execution, and the LLM provides conversational intelligence.
The assistant maintains conversation context across sessions, enabling follow-up interactions like 'Actually, change that reminder to 3 PM' without requiring the user to repeat the full context. This state management creates a natural, human-like interaction experience.
Key Features
- Schema-based intent classification for reminders, alarms, todos, and chat
- LLM-powered conversational responses with context awareness
- Persistent reminder and alarm scheduling with notification system
- To-do management with priorities, deadlines, and status tracking
- Multi-turn conversation support with context carryover
- FastAPI + Pydantic REST APIs for all chat and task operations
- Structured output parsing for extracting dates, times, and parameters
- Graceful fallback handling for ambiguous or unclear user intents
Architecture
Chat Interface Layer
REST API endpoints handling user messages and streaming responses
Intent Classification
ML-based classifier routing messages to appropriate handlers
Task Engine
Specialized handlers for reminders, alarms, and todo CRUD operations
LLM Conversational Layer
Context-aware response generation for general chat
State Management
Session-based context tracking for multi-turn conversations
Notification System
Background scheduler triggering reminder and alarm notifications
Challenges Solved
Designing an intent classifier that handles ambiguous inputs gracefully
Maintaining conversation context without excessive memory usage
Extracting structured data (dates, times, priorities) from natural language reliably
Balancing LLM response quality with latency for a responsive chat experience