A chat-based AI task management app built with React, TypeScript, and Vite.
Interact with an AI assistant that can add, list, complete, edit, and delete tasks using natural language — with real-time streaming responses.
Live Demo: https://tasky22.vercel.app/
- 💬 AI-powered chat interface
- ⚡ Streaming responses using Server-Sent Events (SSE)
- 🗂 Multiple chat threads with unique thread IDs
- 📝 Task CRUD: Add, List, Complete, Edit, Delete
- 📊 Markdown tables for task lists
- 🧠 Friendly AI prompts and summaries
- ⚛️ Clean, modern UI with React + TypeScript
- Node.js (v18 or higher)
- Backend server running (see setup below)
Clone the repository:
git clone https://github.com/babs12316/AI-Assistant-Task-Manager-Frontend.git
cd AI-Assistant-Task-Manager-FrontendInstall dependencies:
npm installThis frontend requires the backend API to be running. Follow these steps:
git clone https://github.com/babs12316/AI-Assistant-Task-Manager-Backend.git
cd AI-Assistant-Task-Manager-BackendFor detailed backend setup, configuration, and API documentation, visit:
The backend provides:
- LangChain-powered AI agent
- Task management tools (Add, List, Complete, Edit, Delete)
- SSE streaming endpoints
- FastAPI server
Create a .env file in the frontend project root:
VITE_API_URL=http://localhost:8000 # Your backend URLNote: Make sure the backend server is running at the specified URL before starting the frontend.
cd AI-Assistant-Task-Manager-Backend
uvicorn src.api:app --reloadBackend will run at: http://localhost:8000
cd AI-Assistant-Task-Manager-Frontend
npm run devFrontend will run at: http://localhost:5173
Open your browser at:
http://localhost:5173
- User types a message in the chat UI (e.g., "Add gym at 6pm")
- Frontend sends the message to the backend via
fetchEventSource - Backend AI agent processes the request using LangChain tools
- Backend streams tokens via SSE back to the frontend
- Messages appear in real-time, token by token
- Tasks are managed in backend memory with thread persistence
| User Input Example | What It Does |
|---|---|
Add gym at 6pm |
Adds a task with time tag |
Show me today's tasks |
Lists tasks due today |
Complete gym |
Marks task as complete |
Edit lunch to 2pm |
Updates an existing task |
Delete gym |
Removes the task |
- React + TypeScript
- Vite (fast bundler)
- React Markdown for formatted messages
- @microsoft/fetch-event-source for SSE streaming
- CSS for a simple, modern UI
- FastAPI (Python)
- LangChain + LangGraph for AI agent orchestration
- Groq API for LLM inference
- Server-Sent Events (SSE) for real-time streaming
For backend details, see: Backend Repository
AI-Assistant-Task-Manager-Frontend/
├── src/
│ ├── App.tsx # Main chat component
│ ├── App.css # Styling
│ └── main.tsx # Entry point
├── .env # Environment variables
├── package.json # Dependencies
└── README.md # This file
If you see "Connection failed" errors:
- ✅ Check backend is running:
http://localhost:8000/health - ✅ Verify
VITE_API_URLin.envmatches backend URL - ✅ Check CORS settings in backend allow frontend origin
- ✅ Verify backend has valid Groq API key configured
- ✅ Check backend console for error logs
- ✅ Ensure backend tools are properly registered
- Backend Repository: AI-Assistant-Task-Manager-Backend
⭐ If you like this project, give it a star on GitHub!