Inspiration
As college students ourselves we often found that scheduling, while useful and important for productivity, it can be time consuming and boring. Furthermore, existing scheduling applications are cumbersome, complex and paywalled. We believed we could provide a better and more simple alternative.
What it does
It automatically generates a simple schedule for you to follow given just a few inputs. You simply enter your weekly availability hours (saved automatically for future use), add your tasks with deadlines and types, specify the hours needed for each, and our app handles the rest. To further improve and streamline the user experience the app also allows for the user to copy-paste a description of the task and have the app generate a estimated time to complete through the use of our Gemini AI integration. The schedule appears in a simple and elegant calendar, where you can further adjust your availability for specific days and also export the schedule as a .ics file for easy integration with your calendar app of choice.
How we built it
We built Lazy Scheduler as a React frontend application using Vite for fast development and Tailwind CSS for styling. For AI time estimation, we integrated Google's Gemini API to allow users to pase assignment requirements into a modal for contextual analysis. All user data persists locally using localStorage, eliminating the need for accounts and databases. For exporting the schedule we leverage the iCalendar (.ics) standard for compatibility with major calendar applications.
Challenges we ran into
Our initial implementation did not include the type of task field so it did not take into consideration tasks like exams which should be scheduled differently from other tasks. You would not want to study for an exam 3 weeks out from when it starts since by the time you take the exam you would have forgotten a lot of the material. To implement this we had to modify the scheduling algorithm to a two-pass system: first processing all exams with backward scheduling from their deadlines to concentrate study time in the final week for optimal retention, then processing assignments/general tasks with forward scheduling to distribute work evenly and avoid leaving tasks to last minute. This required restructuring our core scheduling logic from a single greedy algorithm to separate prioritized passes while maintaining the same simple user interface.
What we learned
While we had implemented our own personal coding projects before, we can all honestly say that it was our first time completing an entire project, from idea to full deployment, in only 24 hours. In the process of doing this, we learned a lot about the process of web development and how to quickly iterate on an idea as a team.
What's next for Lazy Scheduler
As of now Lazy Schedule is fully deployed and available for public use through https://lazy-scheduler-smoky.vercel.app .We would like to encourage students and others who wish to improve their time management to use it and provide feedback. This is so that we may further refine the app and improve the user experience.
Log in or sign up for Devpost to join the conversation.