Xorbix developers began enhancing the app, so it is not only visually appealing but also a highly functional learning tool. Here are some of the features they included:
Simplicity: with just a few clicks and bits of information, users can create a set of flashcards that they can modify and add anytime, anywhere. The data is primarily stored locally, so users can learn with or without an internet connection.
Modes: This application comes built-in with two modes of learning, create and study. Create lets users add, edit, and delete flashcards in each set. They can also scroll through their entire list with ease, allowing them to review any flashcard they see fit. The study gives users the chance to take a self-assessed quiz, going through their entire set all at once. A score is then provided at the end, giving them concrete feedback as to how well they understand the subject.
Artificial Intelligence: Using Microsoft’s Azure OpenAI service, the developers provide the users with the option to generate flashcards without making them manually type questions and answers. Simply input three basic bits of information: the topic of the flashcards, the difficulty level they want the questions to be (kindergarten, 4th grade, bachelor’s degree, etc.), and the number to be created. With the press of a button, the flashcards are then generated using artificial intelligence, and placed into an organized set.
Cross Platform: Using Flutter, this programming language allows the developers to build and maintain an application that’s deployable to both Android and iOS devices simultaneously.
Synchronization: Using Firebase, users also have the option to upload their sets to an online database. Then, on any device they own, can download those sets onto another one.
Innovations:
The application makes use of brand-new features and technologies:
Microsoft Azure OpenAI Service:
Using GPT 3.5-Turbo, users can pass a templated prompt to AI, which returns a response in flashcard format. This response is parsed and placed into the database, allowing for a more advanced method of learning. The user can specify what topic they want: “US History”, “Simple Spanish Words”, “Biology”, or anything else they want to learn more about. They can then specify the grade level they want the questions to be. If someone is brand new to a subject, it’s recommended they pick a low level, while proficient people can select college-level questions. The final option they can select is the number of flashcards they want created on that subject.
Flutter Development Packages:
Thanks to a dedicated community of developers, Xorbix can integrate user-created packages such as the template for the flashcards themselves. Due to this being a mobile app, tapping the flashcard on the screen will give users a flipping animation and display the other side of the card, like a real-life flashcard.
User-Sided Database:
Most modern learning tools require users to create accounts and be always connected to the internet for the application work. Not this one, though. Sets and flashcards that the user creates are all stored locally on their device. No sign-up is required. The only components that do need an internet connection are the previously mentioned AI generation tool and the optional account creation.
Online Database:
While users don’t have to sign in, there is still an option to do so. This is for syncing flashcards across the user’s devices, or restoring data if they lose their current one. This is all done via Firebase. An online database service that handles the storage of flashcards and user authentication.
High-Level Architecture:
System Components (or Functional Modules):
Components (or Modules):
- Mobile Application: A Flutter-based application available on both iOS and Android platforms.
- SQFlite Database: A local database, stored on each user’s device. Allowing for access offline, anytime, anywhere.
- Firebase Database: An optional online tool to store sets remotely.
- Microsoft Azure OpenAI Service: An artificial intelligence tool that can return prompts in a flashcard format for the user to learn and study.
Interactions
- Using a simple parsing method, the response from OpenAI is then stored in the user’s SQFlite database. Users can access their generated flashcards anytime, even without an internet connection.
- If the user would like to, creating an account through our application, securely linked to Firebase, will sync the local SQFlite database to the online one. Allowing them to sign in on another device and continue learning.
Core Technologies
- Flutter
- SQFlite Local Database
- Microsoft Azure OpenAI Service
- Firebase Authentication
- Cloud Firestore