The Project

Kronologue is a Smart Scheduler that uses Artificial Intelligence to optimize daily schedules and provide the best balance of work and rest to maximize productivity throughout the day. Most of us find it difficult to create a perfect schedule that works for us every single day. All the critical parameters that come into play – urgency, value, physical endeavor, and mental commitment – are too complicated to compute and weigh in our minds every day, making it difficult for people to recognize their exact productivity patterns. Kronologue boils down this entire process to a few easy steps for the user, whose entire schedule is rearranged and optimized keeping in view their energy and efficiency curves, their priorities, their capacity and their sensitivity to distractions. Kronologue is based on a genetic algorithm that optimizes the users’ existing schedules by selection and evolution. Each schedule goes through several generations – and only the best ones are picked to introduce variation in the next generation. This allows Kronologue to suggest schedules with as much as 99% higher efficiency. Kronologue’s web app was built using Ionic 5 with React, which is based on TypeScript. This allowed me to rapidly design an interactive and easy-to-use interface that could be tested and deployed easily for multiple software platforms. I used Firebase for regular backend jobs, like user-authentication and database management (with Firestore). For the core algorithm that performs the optimization, I used Python. The python program is hosted on PythonAnywhere and is accessed through an API Interface designed with Flask. Libraries like Pandas and NumPy, available for python, made it easy for me to manage and manipulate series and matrices in the program. The algorithm is a combination of a scoring function and an optimization function. The scoring function uses an intricate process – based on mental and physical energy levels, distractions and hindrances to productivity, and urgency and value of tasks – to measure the ‘productivity score’ of any given schedule. The optimization function uses a combination of user-specific data and random-numbers to alter the schedule and create several new schedules. The schedules with the best scores are retained and used to generate other schedules, while others are discarded. Within 10 to 40 iterations (or generations), Kronologue has been recorded to improve productivities by up to 99%. This algorithm thus works on the model of evolution driven by selection. Mental health has a direct relation with productivity - people, like students and professionals, have an extremely high chance of being affected by mental health issues if they are unable to complete their tasks on time since lack of productivity can adversely affect both their personal as well as academic or professional life. A solution like Kronologue can make it possible for these people to manage their life with greater efficiency and confidence. Kronologue is available for use here: (Note that you are required to press 'OPTIMIZE' on the dashboard in order to allow Kronologue to apply its algorithm and improve your current schedule.)


About the team

  • India
  • CoderDojo

Team members

  • Mrigank