top of page

Vision

Overview: A journal and planner app with a backtracking scheduling algorithm, created for my Fundamentals of Programming and Computer Science term project. 

Role: Designer & Software Developer

Tools: Python Tkinter graphics

Duration: 3 weeks

Problem Space

In today's world, there are so many options people have for using planners and journals. Some people prefer paper, and some prefer the vast variety of apps and websites available. As someone who likes certain aspects of both, I wanted to have an app that had all the advantages of a paper planner and journal, but with the added convenience of having it on your laptop at all times. 

Screen Shot 2022-04-11 at 2.07.31 AM.png

Goal

With Vision, my goal was to create an app that would make my life easier, in the hopes that other people would find it useful as well. I wanted to journal in a new format: instead of writing, I envisioned a design where users could view their schedule for the day and annotate it in a more visually organized format. In addition, I wanted to include a feature where users could view how their time was being allocated each day and each week. 

Screen Shot 2022-04-01 at 3.20.11 PM.png

Features

This app has 5 modes:

  1. the journal app allows the user to annotate their schedule for a more visually organized journaling experience

  2. the daily planner allows users to easily input and color-code events for today and tomorrow

  3. the weekly planner app allows users to use the backtracking scheduling algorithm to have events scheduled for them

    • takes in constraints such as priority, earliest and latest possible time, duration, travel time​

  4. the long term notes section allows users to track long term notes and goals

  5. the analytics view allows users to see their daily and weekly breakdown using the color-coded categories they created themselves

    • this allows users to take control of their schedules by seeing clearly how much time they devote to different aspects of their lives​

Prototyping

Version 2:

  • changed idea for backtracking algorithm; decided to keep track of all events being scheduled by the algorithm using a new EventsToSchedule object- each time a new one is added the algorithm schedules all the events using constraints such as duration, latest possible date, priority, etc

  • made weekly analytics feature

 
Version 3:

  • made sure deleted events were also deleted from scheduler algorithm’s list of events to schedule

  • user can now add events from the weekly view by clicking on a box to create an hour-long event

  • fixed bug where text boxes from previous day’s events show up on the daily view

Final thoughts

I would like to continue this project in the future and release it on the app store so that other people can use it, since I think it's a really useful tool for staying organized and a fun and new way to journal. This was my first big coding project, so I learned a lot about organizing my code and refining it to add more features.

Screen Shot 2022-04-11 at 2.07.43 AM.png
  • Instagram
  • Facebook
  • LinkedIn
  • YouTube
  • TikTok

© 2025 by Cheryl Zhang

bottom of page