NOTE: EXTENSION DOESN'T ACTUALLY WORK BECAUSE GOOGLE HAS PUT IT UNDER REVIEW ON THE CHROME WEB STORE

Inspiration

For this Hackathon we heard automation and instantly knew we had to cater to self improvement. The prompt inspired us to really delve into the problems we had into our daily life, one of these problems for all of us was studying. It's so easy to get distracted when studying, especially with all the distractions available nowadays. Plus, before you even start learning, so much time is wasted hunting for the right lecture content, trying to organise weeks of material, or searching online for practice quizzes that either run out or don’t match the course. We were also inspired by previous years hackathons winners link which allowed us to see the standard and really aim for the stars compared to projects we have previously complete in such short time frames.

What it does

Here comes UniMind where we automate active recall and study by turning these distractions into opportunities for quick revision. UniMind creates active recall questions tailored to your UNSW subjects. Whenever a student gets distracted—like opening YouTube or Instagram—the app intervenes with a short quiz, reinforcing memory and boosting focus in real time. Using our algorithms, subjects with a lower score are prioritised along with some other factors e.g. time since last done that topic, and each question has a future due date after completing based on our algorithms. Our application also uses an algorithm to calculate and store scores for each topic, showing top 3 priorities that a student should be focusing on the dashboard based on previously answered questions. The lower scored topics will be prioritised in the questions UniMind provides the user. This is to ensure a holistic understanding of the course content. However, the user will still receive questions from all topics to still ensure active recall. The page also keeps track of upcoming assessments, displaying them along with their due date and time to automate the process of the user needing to manually keep on top of these and figure them out.

How we built it

We started by clearly defining what we wanted the app to achieve and sketched out the core user experience. From there, we made 2 python scripts, one to scrape PDFs from any COMP subject site, and another that parses these into a single text fil per subject. Then, we fed these to ChatGPT, creating a custom copy & paste prompt to generate .json files with questions categorised by topic, subtopic, and othe relevant data fields. This can be easily automated by feeding the .txt file into an openAI API key with the designed prompt to generate the .json, but we decided to skip this step due to time contraints. We designed the frontend to visualise the student dashboard and recall flow. We decided to use PostgreSQL, a relational database, to store courses, weekly content, and user progress for scalability reasons. Next, we implemented authentication using python, the backend functionality to the frontend, and created algorithsm to determine question recommendation, confidence tracking, and topic confidence.

We then created an extension that blocks users from accessing distracting websites, with a set of default sites blocked for new users, displaying a question "paywall" before they are allowed to continue to access the distracting website, e.g. youtube. Users have the option to modify their blocked sites list. Finally, we refined the interface and cleaned up the overall experience to make it intuitive and student-friendly.

Along the way, we created dataflow diagrams to guide our architecture, collaborated closely as a team to divide tasks, and iterated quickly to bring each part together into a cohesive system.

Challenges we ran into

One of our biggest challenges was adapting to the short timeframe of the hackathon. Even with five team members, this was the first hackathon experience for all of us, and most of our past projects were built over much longer periods, sometimes spanning months.

Managing data flow and ensuring we have the right data fields was another challenge, especially in regard to creating the recommendation algorithms and finally connect the frontend to properly display the questions. To adapt to such a small period where everything really cannot be made perfect was difficult, where feasibility and speed became our most important skills.

Furthermore, figuring out how to automate the lecture and content collection process for the database was also hard, but we ended up being able to automate these by creating python scripts and a custom GPT prompt to categorise the gathered data. These can also be scaled in the future to allow for full automation of adding courses to the website, refreshing every week as new content is added and assignments due dates are released. We also struggled slightly with task delegation as many of our previous projects had been solo developer projects. However, we ended up with the following roles:

Parham -> Full Stack Development and Feasibility Suman -> Front End Development Arnav -> Back End Development Lorcan -> Design Anthony -> System Design, Feasibility, user testing

Note: we worked on a lot of stuff TOGETHER, but during these sessions it would be done and submitted on only one person's computer which resulted in a skew in the commits.

Accomplishments that we're proud of

We are proud of our effective communication and technical accomplishments. None of us have ever done anything on this scale before and with the limited experience we all have we were able to combine it to create something genuinely impactful that we and our friends will actually be able to use in our daily lives. We are proud to have even participated in this Hackathon and for the time we have all put towards it. We are also proud of even finishing the task to the level it is in such a small timeframe.

What we learned

We learnt how the manage time as a team, specifically learning how to delegate tasks with specific time frames. We have also learnt how to effectively determine the feasibility of adding certain features within a certain time frame. We also all became better, more all rounded developers learning from each other's strengths (e.g. learning databases from Arnav and data management, learning frontend development and design principles from parham/anthony/lorcan, learning system design and user testing from parham/anthony). Finally, we have all learnt how to have a fire karaoke session while doing code reviews.

What's next for UniMind

For UniMind we are planning on talking to lecturs to discuss feasibility of beta trials for students, and releasing the product on various social media sites. Maybe eventually expand beyond UNSW to other universities. We also want to build richer question types like short answers, interactive diagrams and coding challenges. Add social features e.g. study leaderboards.

Share this project:

Updates