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.