An intelligent task and reminder management application that helps you organize your daily life. Talk to it in plain English β it creates tasks, sets reminders, delegates tasks to family members, and manages shopping lists.
Imagine having a personal assistant that:
- Remembers all your tasks (take medicines, pay bills, attend meetings)
- Reminds you (and your family) until things get done
- Keeps grocery and shopping lists organized
- Works on your phone, laptop, or tablet β no app download needed
- Understands plain English β just type what you need
You: "Remind dad to take diabetic medicines at 11am and heart medicines at 2pm"
Agent: β
Created task with reminders set for 11:00 AM and 2:00 PM
You: "Create a grocery list for the supermarket"
Agent: π What items would you like to add?
You: "Remind son about basketball training at 5pm at the sports center"
Agent: β
Created delegated task for son with location details
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β YOU (Browser/Phone) β
β β
β Open website β Type a message β Get response + remindersβ
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
β Your message goes to...
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FRONTEND (React Web App) β
β β
β β’ Chat interface (like WhatsApp/iMessage) β
β β’ Shows your tasks and reminders β
β β’ Works on any device (phone, laptop, tablet) β
β β’ Can be "installed" on your phone home screen (PWA) β
β β
β Tech: React + Vite + Tailwind CSS β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
β Sends your message to...
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BACKEND (Python Server) β
β β
β β’ Receives your message β
β β’ Sends it to the AI brain (Amazon Bedrock / Claude) β
β β’ AI understands what you want and calls the right toolβ
β β’ Returns the response back to you β
β β
β Tech: FastAPI + Strands Agents SDK β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
β AI decides which tool to use...
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TOOLS (Actions) β
β β
β π create_task β Makes a new task β
β βοΈ update_task β Changes task details β
β β
mark_complete β Marks task as done β
β β° set_reminder β Schedules a reminder β
β π₯ delegate_task β Assigns task to someone else β
β π create_list β Makes a grocery/shopping list β
β π list_tasks β Shows all your tasks β
β β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β
β Data stored in...
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STORAGE (Currently In-Memory) β
β β
β For prototype: data lives in server memory β
β For production: Amazon DynamoDB (cloud database) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- You type a message in the chat (like "remind me to buy milk at 5pm")
- Frontend sends your message to the backend server
- Backend sends it to Claude AI (Amazon Bedrock) which understands English
- Claude figures out you want to create a task and calls the
create_tasktool - Tool creates the task and schedules a reminder
- Response flows back to you: "β Task created: Buy milk at 5:00 PM"
| Software | Version | What It Is | Download Link |
|---|---|---|---|
| Python | 3.11 or higher | Programming language for the backend | python.org |
| Node.js | 18 or higher | JavaScript runtime for the frontend | nodejs.org |
| npm | Comes with Node.js | Package manager for frontend libraries | Included with Node.js |
| pip | Comes with Python | Package manager for Python libraries | Included with Python |
| Git | Any recent version | Version control (to download this code) | git-scm.com |
| AWS Account | With Bedrock access | Cloud AI service (the "brain") | aws.amazon.com |
| Web Browser | Chrome, Edge, Firefox, or Safari | To use the app | You already have one! |
| Service | What It Does | Cost |
|---|---|---|
| Amazon Bedrock (Claude) | AI that understands your messages | ~$2-5/month for personal use |
| Amazon DynamoDB | Stores your tasks (future) | Free (25GB free forever) |
| Amazon Cognito | User login/signup (future) | Free (50K users free forever) |
| Amazon SNS | Push notifications (future) | Free (1M pushes/month free) |
git clone https://github.com/Subbaiswe/TaskReminderAgent.git
cd TaskReminderAgent# Go to the backend folder
cd backend
# Install Python libraries
pip install -r requirements.txt
# Set up your AWS credentials (ask your admin or use aws configure)
# Edit the .env file with your AWS region and model ID# Go to the frontend folder (from project root)
cd frontend
# Install JavaScript libraries
npm installMake sure your AWS credentials are configured. Run:
aws configureEnter your:
- AWS Access Key ID
- AWS Secret Access Key
- Default region (us-east-1)
- Output format (json)
cd backend
uvicorn app:app --reload --host 0.0.0.0 --port 8080You should see: Uvicorn running on http://0.0.0.0:8080
cd frontend
npm run devYou should see: Local: http://localhost:3000/
Open your browser and go to: http://localhost:3000
You'll see the Task Reminder Agent chat interface. Start typing!
TaskReminderAgent/
βββ backend/ # Server-side code (Python)
β βββ app.py # Main server file
β βββ tools/ # What the AI can do
β β βββ task_tools.py # Create/update/delete tasks
β β βββ reminder_tools.py # Set/snooze reminders
β β βββ delegation_tools.py # Assign tasks to others
β β βββ list_tools.py # Grocery/shopping lists
β βββ streaming/ # Real-time message streaming
β βββ db/ # Database connection
β βββ .env # Configuration (AWS keys, model ID)
β βββ requirements.txt # Python dependencies list
β
βββ frontend/ # Client-side code (React)
β βββ src/
β β βββ App.jsx # Main app component
β β βββ components/ # UI pieces (chat bubbles, input box)
β β βββ hooks/ # Logic for streaming messages
β βββ public/ # Static files (icons, manifest)
β βββ .env # Frontend configuration
β βββ package.json # JavaScript dependencies list
β
βββ .kiro/specs/ # Project planning documents
β βββ task-reminder-agent/
β βββ requirements.md # What the app should do
β βββ design.md # How it's built (technical)
β βββ tasks.md # Implementation checklist
β
βββ Makefile # Shortcut commands
βββ README.md # This file!
- Natural language chat interface
- Create tasks with detailed metadata (time, names, amounts, addresses)
- Set reminders with follow-up intervals
- Delegate tasks to family members
- Create grocery/purchase lists
- Mark tasks as complete
- List and filter tasks
- Responsive design (works on mobile)
- PWA support (installable on phone)
- Push notifications (browser-based, free)
- WhatsApp reminders for delegated tasks
- Persistent storage (DynamoDB)
- User authentication (login/signup)
- Real-time sync across devices
- Recurring tasks (daily/weekly/monthly)
- Task history and analytics
| Problem | Solution |
|---|---|
| "ExpiredTokenException" | Your AWS credentials expired. Get fresh ones and run aws configure again |
| "AccessDeniedException" | Check your AWS region and model ID in backend/.env |
| Frontend shows "Error: Failed to fetch" | Make sure the backend is running on port 8080 |
| Port already in use | Change the port in the command: --port 8081 |
This project is for personal/educational use.