An intelligent, mobile-first task management application that combines React Native, Flask, Machine Learning, and Reinforcement Learning to help users manage tasks, predict priorities and durations, and automatically generate personalized schedules.
- 📝 Create and manage tasks
- ✅ Track pending and completed tasks
- 🎯 AI-powered task priority prediction
- ⏱️ AI-powered task duration prediction
- 📅 Intelligent smart scheduling using Reinforcement Learning
- 📊 Productivity insights and weekly summaries
- 🤖 Machine Learning model retraining using real user feedback
- 📱 Mobile-first React Native application
- ⚙️ Flask REST API backend
- 💾 SQLite database with SQLAlchemy
Smart-Task-Manager/
│
├── SmartTaskManager/ # React Native mobile application
│ ├── App.js
│ ├── navigation/
│ ├── screens/
│ ├── assets/
│ └── __tests__/
│
├── SMT_server/ # Flask backend
│ ├── app.py
│ ├── generate_data.py
│ ├── ml_models/
│ └── requirements.txt
│
├── Dataset/ # Datasets used for experimentation
│
├── PROJECT_DOCUMENTATION.md
├── requirement.txt
└── README.md
- React Native
- JavaScript / JSX
- React Navigation
- Python
- Flask
- SQLAlchemy
- SQLite
- REST API
- Supervised Machine Learning
- Task duration prediction
- Task priority prediction
- Reinforcement Learning
- TF-Agents
- DQN-based scheduling
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/tasks |
Get all tasks |
| POST | /api/v1/tasks |
Create a task |
| PUT | /api/v1/tasks/<id>/complete |
Complete a task |
| GET | /api/v1/insights |
Get productivity insights |
| GET | /api/v1/smart-schedule |
Generate a smart schedule |
| POST | /api/v1/retrain |
Retrain ML models |
Make sure you have:
- Node.js
- npm or Yarn
- Python 3.8+
- React Native development environment
- Android Studio for Android development
- Xcode for iOS development on macOS
git clone https://github.com/Vicky270506/Smart-Task-Manager.git
cd Smart-Task-ManagerCreate a Python virtual environment:
python -m venv .venvActivate it on Windows PowerShell:
.\.venv\Scripts\Activate.ps1Install the dependencies:
pip install -r SMT_server/requirements.txtStart the Flask server:
cd SMT_server
python app.pyOpen another terminal:
cd SmartTaskManager
npm installRun on Android:
npx react-native run-androidFor iOS on macOS:
npx react-native run-ioscd SMT_server
python generate_data.pyThe application uses machine learning to make task management more intelligent.
The system estimates how many minutes a task may require using the trained duration prediction model.
The application analyzes task information to estimate its priority or urgency.
A Reinforcement Learning environment uses a DQN agent to recommend suitable time slots for pending tasks based on the user's productivity patterns.
When a user completes a task, the actual completion time can be sent back to the backend. This feedback can be used to retrain the models and improve future predictions.
The application provides productivity information such as:
- Weekly task summaries
- Completion patterns
- Productivity trends
- Personalized scheduling recommendations
- Learned productive time slots
For detailed project architecture, API information, ML/RL details, and development notes, see:
- Improve ML model accuracy
- Add comprehensive API documentation with Swagger/OpenAPI
- Add automated testing and CI/CD
- Improve personalized scheduling
- Add cloud database support
- Add notifications and reminders
- Add authentication and multi-user support
- Improve analytics and productivity visualization
Vicky270506
GitHub: https://github.com/Vicky270506
If you find this project useful, consider giving it a ⭐ on GitHub.
Smart Task Manager — Plan smarter. Work better. 🚀