Adding
Azure OpenAI to our Mobile App – Case Study
A
user-friendly, cross-platform learning companion that blends aesthetic designs
with modern features.
Product Description
A user-friendly,
cross-platform learning companion that blends aesthetic designs with modern
features. Clients can create and customize flashcards easily, study with
self-assessed quizzes, and enjoy offline access. Leveraging AI from Microsoft
Azure OpenAI, generates sets with a click based on
chosen topic and level. Clients can keep their learning in synchronization
across devices with Firebase, ensuring perfect education anytime, anywhere.
Embrace a smarter way to learn with the Flashcard App.
Challenge
Xorbix recently released a new app called
Flashcard Study Buddy. As the name suggests, the app allows the user to create
flashcards to help in learning. After the app’s release, we saw the potential
to incorporate generative AI into the app, allowing users to select a topic to
study and have the AI create flashcards for them.
Project Goals:
·
Improve our easy-to-use
mobile application that allows users to create flashcards on any topic of their
choosing.
·
Provide a portable way to
learn topics at the user’s own pace.
·
Allow for learning in a
variety of different ways.
·
Make use of artificial
intelligence to create flashcards without requiring users to lift a finger.
Solution
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
Process
Team
The team behind this
application consisted of a blend of UI/UX designers, mobile developers, and an
overseeing project manager. They worked closely with one another to generate
ideas and make this learning tool the best it could be.
General Development
The development process
was a constant cycle of adding new features, vigorous testing, and fixing any
bugs. The team started by building the basic structure of the flashcard app,
and then slowly introduced new features. Such as the quiz mode and eventually,
the OpenAI integration.
Testing
Process: Internal developers and our QA
team, tested the app at every stage of development. Since this application was
developed on both Android and iOS simultaneously, testing was done similarly
too. Ensuring that features on one platform carried over to the other.
Results
The developers are pleased
with how the application came out, and strongly believe it allows for learning
in a portable and easy-to-use way. They are most proud of the artificial
intelligence generation, as creating flashcards based on a simple prompt is a
feature not many other apps have yet. They made it their mission to make use of
the newest technologies available to them. Flashcard Study Buddy with the AI
integration will be released in March 2024.