Inspiration
Students who are dedicated to achieving their academic goals often encounter the challenge of losing touch with their studies and experiencing a decline in motivation to persist. This sentiment strongly resonates with our team, compelling us to take proactive measures to address this issue. As we delved into finding a solution, we identified crucial elements: a data-driven approach that considers past and future performance, as well as the inclusion of a social dimension. Numerous avenues existed to tackle this challenge, but our team unanimously settled on a competition-based flashcard strategy. This choice naturally prompts the question: why competition and flashcards? The answer lies in the proven efficacy of active recall and flashcards as unparalleled tools for effective memorization and learning. Therefore, it was only logical to integrate these methodologies into our project. Furthermore, we were keen on enabling students to compare their progress with that of their friends, ultimately fostering a spirit of friendly competition. Research indicates that such camaraderie significantly enhances performance. All in all, this is how the two key aspects of the solution were decided upon.
What it does
In essence, the application functions as a catalyst for healthy competition among students, introducing novel features beyond standard flashcards. Through relative difficulty ratings, interactive social sharing, dynamic scoreboards, and insightful visualizations, the application fuels a motivating and enriching learning experience.
Primarily, cards are dynamically rated by their level of difficulty, with this assessment being relative to the experiences of other users tackling the same card sets. Furthermore, to foster a social dimension, users gain the ability to make the decks they create and engage with accessible to the public, thereby enabling their friends to view and interact with them.
Expanding upon the competitive facet, a scoreboard takes center stage. This scoreboard derives its data from parameters such as current ratings and personal best scores. Speaking of ratings, a user's rating is determined by the successful completion of challenging card decks. Notably, the infusion of competition is enhanced by a visually informative pie chart. This chart provides an overview of the distribution of attempted card decks across varying levels of difficulty.
How we built it
Having arguably conquered the challenging aspect of ideation, the next logical step is to contemplate how to construct the solution from the ground up. Broadly speaking, guided by the aforementioned essential features, we identified the need for several components:
- Graphical User Interface (GUI): This was essential to facilitate seamless interactivity, allowing users to engage effortlessly and do things like create card decks, play them and share them with other people.
- Data Collection: To ensure the solution's effectiveness, it was crucial to incorporate mechanisms for gathering crucial data efficiently to facilitate the discovery of patterns and trends for a specific user or a group of users. Data points like, size of card deck attempted, number of decks attempted, tally of questions that were correctly picked, so on and so forth.
- Data Presentation: The ability to present collected data in an accessible manner was another pivotal requirement. This is needed to show users things like areas of strengths, weakness and progression over time.
- Core Algorithm Implementation: Central to the solution's functionality was the integration of a core algorithm. This algorithm would be responsible for tasks such as determining card deck difficulty, tracking user progress over time, and identifying the optimal moments for active recall interactions.
By addressing these overarching elements, our approach was to pick a framework or technology best suited for each of these functionalities. FlipPy uses Taipy for interactivity within graphical user interfaces, data processing and visualization, and page routing. CSS was also used for the front-end of the web application to stylize the components in TaiPy GUI. By using built-in features in TaiPy Core such as the graph functionality, we were able to help the user track their progress.
Challenges we ran into
While building our project, we faced several roadblocks during development. For example, the main technology we used was Taipy, a Python web framework. Our team had no experience with the framework prior to the start of the hackathon so it was a challenge to create a project while learning the library that it is built on. Compared to popular JavaScript frameworks such as React, Angular, or Vue, Taipy has a unique approach of working as a web framework which was difficult to master due to our group’s familiarity with JavaScript frameworks.
Accomplishments that we're proud of
As TaiPy was a new technology that we were not familiar with, we’re proud that we were able to learn TaiPy from scratch and build a full stack application from within a 36-hour hackathon window.
What we learned
- We learned how to use Taipy
- We learned how to style our Taipy project with Stylekit and integrating CSS to project
- We learned how to create graphs, route pages,and implement reactivity to components with TaipyGUI
What's next for FlipPy
We plan to continue FlipPy by adding additional quality of life features such as the ability to import and export decks, a tournament mode, a friend system, and more features. We also plan to improve the styling of the application.

Log in or sign up for Devpost to join the conversation.