2025

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.

PythonFastAPIPydanticLangChainOpenAI APISQLiteasyncioPrompt EngineeringStructured Outputs

Screenshots

AI Assistant● Online
Remind me to review the ML model at 3 PM
Got it! I've set a reminder for 3:00 PM today to review the ML model. I'll notify you when it's time.
What's on my todo list?
Here are your active tasks: 1. Deploy FastAPI service (High) 2. Review ML model (Medium) 3. Write RAG documentation (Low)
Type a message...
/01Chat Interface
Task Dashboard5 tasks
Deploy FastAPI serviceHighIn Progress
Review ML model outputsMediumTodo
Write RAG documentationLowTodo
Update LangChain promptsMediumDone
Fix vector DB indexingHighDone
2 completed · 1 in progress · 2 pending
/02Task Dashboard
Intent Classification Pipeline
"Remind me at 3 PM"reminder
96.0%
"Set alarm for 7 AM"alarm
94.0%
"Add buy groceries to my list"todo
91.0%
"What's the weather like?"chat
88.0%
/03Intent Classification
Reminders3 active
🧠
Review ML model
3:00 PM Today
👥
Team standup
10:00 AM Tomorrow
🚀
Deploy v2.0
Friday 5:00 PM
Code review session
Completed
/04Reminders View

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

01

Chat Interface Layer

REST API endpoints handling user messages and streaming responses

02

Intent Classification

ML-based classifier routing messages to appropriate handlers

03

Task Engine

Specialized handlers for reminders, alarms, and todo CRUD operations

04

LLM Conversational Layer

Context-aware response generation for general chat

05

State Management

Session-based context tracking for multi-turn conversations

06

Notification System

Background scheduler triggering reminder and alarm notifications

Challenges Solved

01

Designing an intent classifier that handles ambiguous inputs gracefully

02

Maintaining conversation context without excessive memory usage

03

Extracting structured data (dates, times, priorities) from natural language reliably

04

Balancing LLM response quality with latency for a responsive chat experience