Inspiration
When we were considering the issues that people in education face, we looked at a myriad of issues, from resources to academic integrity. However, we kept coming back to the idea of developing something that would be helpful to students in an increasingly digital world. In doing this, we thought of the 5 part memorization strategy. Essentially, if someone reviews something 10 minutes, 1 hour, 1 day, 1 week, and 1 month after learning it, the concept will be fully rooted in their mind. The website we designed would provide reminders and an organizational structure to aid students in their study and review of ideas.
What it does
Memo is first and foremost an organizational tool. The website has a calendar, a task list, and a dashboard to easily view the most recent assignments. A user would add a task/concept to the list and select the relevant subject from the dropdown menu. After adding the task, it would appear on their tasklist and as a calendar item, while also replacing whatever was on the dashboard as the most recent subject. The task would come with a timer counting down to the next interval (first a ten minute timer, then a 1 hour timer, and so one until 1 month). The website will also send an alert notification when the timer is complete so that users know that it is time for reviewing the subject. They can view the most recent task for a given subject at the top of the page, their full list of tasks, and a list of calendar dates that show when the task's review is scheduled for.
How we built it
The website is built with a combination of HTML, CSS, and JavaScript. We started by figuring out the tasks that we wanted Memo to be capable of. Then, we built each of this components separately: a dashboard, a tasklist, a calendar, etc. Once each feature was working properly alone, we integrated them into one webpage consisting of an HTML and CSS file. Finally, we fine tuned the format, aesthetics, and bugs to get our result.
Challenges we ran into
One of the biggest challenges was the integration of multiple concurrent timers with each new task. When we were adding new tasks to the task list, the timer would never work properly. It would sometimes run the timers concurrently, but on the same task; freeze any old timers when adding new tasks; or not function at all. This issue bled into other places as well, with the calendar not updating for new timers or showing all the end times in the same row. We realized the issue was in the id for each timer, as they had to be different to run concurrently.
We also had issues using the data from the new task to create a calendar event and dashboard update. Since the calendar and dashboard were not on the same file as the task list, the code wasn't able to draw data from the tasklist and use in the other sections. We hadn't enabled any backend storage or cookies, and were unable to integrate the features without it. We worked around it by putting the features on one webpage so that every variable and input could be accessed by every feature.
Accomplishments that we're proud of
Many of our proudest accomplishments come from our toughest victories. The timers were incredibly finicky and difficult to integrate, but they were paramount to our success and we were elated to be able to use them properly. It was tough to code and even tougher to implement, but eventually, we got it.
We are also proud of our general cohesiveness and integration. All of our features work hand in hand and combine to form a full experience. Our features provide data in multiple ways to allow for the most interactive and useful experience for our users.
What we learned
A big learning point was on the backend and storage side. We had coded everything within our html files and only near the end did we realize that we needed a way to store the data if the user left and came back. Though we didn't end up having separate webpages, instead putting all the features on a single page, our learning of cookies, local storage, and webstorage in general was influential to our process.
What's next for Memo
We have envisioned a lot of growth for Memo. We want to incorporate multiple new features to expand the purpose of the website. These include extra customizability to have more organizational features, such as specific timers, colors, and new subjects. We also want to expand to have a mobile app, as phones are very prevalent and used more often than computers. We also want to do some testing with a small cohort that could provide us feedback on the project and what features they want to see incorporated.
Log in or sign up for Devpost to join the conversation.