A modern, feature-rich to-do list web application with AI-powered task summaries using Google's Gemini API.
β¨ Modern UI Design
- Dark theme with gradient accents
- Responsive design (mobile, tablet, desktop)
- Smooth animations and transitions
- Real-time statistics dashboard
π Task Management
- Add, complete, and delete tasks
- Filter tasks (All, Active, Completed)
- Clear all completed tasks at once
- Local storage persistence
- Task activity tracking
π€ AI-Powered Features
- Generate intelligent summaries of your tasks using Gemini API
- Get insights and recommendations
- Analyze workload and priorities
- Smart task breakdown analysis
- Python 3.8 or higher
- pip (Python package manager)
- A Google Gemini API key (Get one free)
- Clone or navigate to the project directory
cd TaskM- Create a virtual environment (recommended)
# Windows
python -m venv venv
venv\Scripts\activate
# macOS/Linux
python3 -m venv venv
source venv/bin/activate- Install dependencies
pip install -r requirements.txt- Configure Gemini API
# Copy the example file
cp .env.example .env
# Edit .env and add your Gemini API key
# On Windows, you can use: copy .env.example .env- Add your Gemini API key
- Visit https://ai.google.dev/
- Generate an API key
- Open
.envfile and replaceyour_api_key_herewith your actual API key
# Make sure your virtual environment is activated
python app.pyThe application will start at http://localhost:5000
Open your browser and navigate to:
http://localhost:5000
- Type your task in the input field
- Click "Add Task" or press Enter
- Task appears at the top of your list
- Check off: Click the checkbox to mark a task as complete
- Delete: Click the delete button to remove a task
- Filter: Use filter buttons to view All, Active, or Completed tasks
- Click the "π€ AI Summary" button
- Wait for the AI to analyze your tasks
- Read insights about your workload and get recommendations
- Total Tasks: All tasks in your list
- Completed: Tasks you've marked as done
- Remaining: Active tasks to complete
- Progress: Your completion percentage
TaskM/
βββ app.py # Flask backend
βββ requirements.txt # Python dependencies
βββ .env.example # Environment variables template
βββ README.md # This file
βββ static/
β βββ style.css # Styling
β βββ script.js # Frontend logic
βββ templates/
βββ index.html # Main HTML template
Serves the main application page
Health check endpoint
{
"status": "healthy",
"gemini_configured": true,
"model_initialized": true
}Generate AI summary of tasks
Request:
{
"tasks": [
{
"id": 1234567890,
"text": "Task description",
"completed": false,
"createdAt": "12/5/2025, 10:30:45 AM"
}
]
}Response:
{
"summary": "AI-generated summary text...",
"task_count": 5,
"completed_count": 2,
"active_count": 3
}| Variable | Description | Required |
|---|---|---|
GEMINI_API_KEY |
Your Google Gemini API key | Yes |
FLASK_ENV |
Set to 'development' or 'production' | No |
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- Make sure
.envfile exists in the project root - Verify your API key is correctly set
- Restart the Flask server
- Check that your Gemini API key is valid
- Ensure you have API quota remaining
- Check browser console for error messages
- Check if your browser allows localStorage
- Clear browser cache if experiencing issues
- Try a different browser
- Change the port in
app.py:app.run(port=5001) - Or kill the process using port 5000
-
For better performance:
- Limit to 50-100 tasks for optimal UI performance
- Archive completed tasks periodically
- Clear browser cache occasionally
-
For API efficiency:
- Use AI Summary sparingly to preserve API quota
- Batch summaries when possible
- Never commit
.envfile to version control - Keep your Gemini API key private
- The app runs locally and doesn't store data remotely
- Tasks are only stored in your browser's localStorage
- Task categories and tags
- Due dates and reminders
- Task priority levels
- Cloud synchronization
- Dark/Light theme toggle
- Task export (PDF, JSON)
- Voice input for tasks
- Recurring tasks
This project is open source and available for personal and commercial use.
For issues, feature requests, or questions:
- Check the troubleshooting section
- Review API documentation at https://ai.google.dev/
- Check Flask documentation at https://flask.palletsprojects.com/
Made with β€οΈ for productivity enthusiasts