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:

https://xorbix.com/wp-content/uploads/2024/02/unnamed.jpg

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.