The Smart Routine Optimizer is a productivity-based scheduling tool that generates an optimized daily routine for users based on their tasks, deadlines, priorities, and available time slots. It uses simple scheduling logic and algorithms to create a practical timetable that fits real-life study or work requirements.
Students and working professionals often struggle to manage multiple tasks with different deadlines. The Smart Routine Optimizer takes user inputs and produces a structured plan for the day or week, helping them stay disciplined and organized.
This project applies core programming concepts such as:
- Modular programming
- Data structures
- Sorting and scheduling algorithms
- File handling (optional)
-
Add tasks with:
- Task Name
- Required Time
- Priority (High / Medium / Low)
- Deadline (Date)
-
Add daily time slots when the user is free.
-
Automatically schedules tasks based on:
- Priority
- Earliest Deadline First (EDF)
- Available time
-
Generates a clean routine output.
-
Saves schedule to text/JSON file (optional).
-
Simple, terminal-based interface.
SRO/ ├── data/ │ ├── input/ │ │ ├── sample_input.json │ │ └── schedule.json │ └── output/ │ ├── json/ │ └── txt/ ├── src/ │ ├── init.py │ ├── input_handler.py │ ├── scheduler.py │ ├── tasks.py │ ├── output.py │ └── main.py ├── config/ │ └── settings.json ├── tests/ # (future unit tests) ├── .gitignore ├── requirements.txt # if you use external packages └── README.md
-
User enters tasks with full details.
-
Tasks are sorted using:
- Priority mapping (High > Medium > Low)
- Deadline ordering (Earliest first)
-
Time slots are processed.
-
The scheduler assigns tasks into available hours.
-
Final routine is displayed and optionally saved.
-
Install Python 3.13
-
Clone the repository:
git clone <your-repo-link> -
Run the main file:
python main.py -
Follow the instructions on the screen.
Generated Routine for 21 November 2025:
09:00 - 10:30 : Study Maths (High Priority)
10:30 - 11:00 : Break
11:00 - 12:00 : Complete Assignment (Medium Priority)
14:00 - 15:00 : Project Work (Low Priority)
Main interface running in VS Code
- Only works with user-entered time slots.
- No GUI (currently command-line based).
- Doesn’t auto-handle overlapping deadlines.
- Add a GUI or web interface.
- Integrate notifications/reminders.
- Add calendar export (.ics).
- Add optimization using weighted scheduling.
Developed by Naivedya Singh 25BAI10770
This project is mine Naivedya Singh and cannot be used