2
Table of Contents
1. Summary
2. Music, Motivation, and Language Learning
2.1 Why Create Lyraquist?
2.2 Market Research
2.3 Motivations Behind Lyraquist
3. Solution: Combining Music and Language Practice
3.1 Integration with Spotify
3.2 Lyrics
3.3 Workbooks
3.4 Dictation
3.5 Favoriting
4. Technical Development
4.1 Planning
4.2 Technical Framework
4.3 Libraries / APIs Utilized
4.4 Work Style
4.5 Implementation
5. Testing
5.1 Peer Review
5.2 User Tests
6. Future Recommendations
6.1 Potential Future Features
6.2 Next Steps
7. Significance
8. Works Cited
3
1. Summary
Lyraquist is a new language learning mobile app that encourages the practice of a foreign
language through music. Language learners can connect their Spotify Premium account to
Lyraquist to listen to music in their target languages and utilize tools such as translation and
vocabulary lists to facilitate language practice. Through integration with Spotify, users can
import and create Spotify playlists and search the service’s entire catalog. By combining daily
listening habits with several tasks associated with language learning in one place, Lyraquist
hopes to be a useful language learning tool.
Lyraquist was built to satisfy the requirements of CSCE 490 and CSCE 492, the two-course
Capstone sequence for Computer Science and Engineering majors at the University of South
Carolina. A GitHub repository of our code can be found at
https://github.com/SCCapstone/Lyraquist. A website advertising our app’s features can be
found at https://sccapstone.github.io/Lyraquist. The app is available for Android devices at
https://sccapstone.github.io/Lyraquist/download.
4
2. Music, Motivation, and Language Learning
2.1 Why Create Lyraquist?
When brainstorming app ideas to satisfy our Capstone requirements, we found similarities in
how we used music to further engage in new cultures and languages during our study abroad
experiences. One of our programmers, Vivian D’Souza, connected with her international
roommates in Ireland through music, sharing song lyrics and their meaning around a dinner
table. Mahi Patel, another programmer, took a Latin Dance class and consumed Spanish music
to get more engrained into the culture, traditions, and environment of Madrid, Spain. Through
these experiences, we believe that everyone can use music to aid in their language learning
journey.
2.2 Market Research
In this section, we identify the industry of language learning apps, its malleability, and research
into the viability of Lyraquist as a potential product entering the market.
2.2.1 Industry Research and PESTLE Analysis
The language learning market is dominated by mobile applications, allowing users to learn on-
the-go, instead of in a traditional classroom setting. It is also growing significantly. In 2022,
the “language learning market was valued at $52.7 billion” (Sukhanova) and the forecasted
compound annual growth rate is 20.8%. This is huge. We explore the language learning mobile
application market further using a PESTLE analysis. This is an industry measuring tool used
to identify political, economic, sociocultural, technological, legal, and environmental factors
that will impact Lyraquist when entering the industry.
2.2.1.1 Political Factors
Lyraquist will not ban certain countries from using it, but the same cannot be said about
countries restricting the use of Lyraquist. Restrictions and regulations countries put in place
regarding internet use and privacy can impact our app. If a country imposes restrictions on data
privacy, Lyraquist must change its terms and conditions to ensure its usability if not already in
compliance with the change. Instability in a country also impacts operations, as it could impact
non-remote operations and/or affect demand, depending on the country or region impacted.
5
2.2.1.2 Economic Factors
Currently, the app is offered free of cost, but several economic factors could impact the
operations, success, and growth of Lyraquist. A Spotify Premium account is required to access
Spotify APIs used within the app. A change in unemployment rates and income levels can
reduce the demand and usability of the app if fewer people continue their Spotify premium
subscriptions. A loss in subscriptions to Spotify creates fewer potential users for Lyraquist. An
increase in government spending on language learning initiatives can help Lyraquist grow with
opportunities to partner with institutions and expand its users.
2.2.1.3 Sociocultural Factors
In today’s digital world, the need to connect with the world and with each other is at an all-
time high. One key factor is the increase in emphasizing cultural inclusivity and diversity.
People are curious about other people and places, and this curiosity could be promoted through
language learning. Lyraquist could aid in this cultural discovery.
With the use of individual apps, an increasingly growing sociocultural factor is the growing
importance of self-learning. This could provide a unique niche within the market by tending to
this need for personalization, allowing the users to cater to their learning goals. Increased
access to new music is also a key factor in the growth of Lyraquist. There exists a potential for
users to turn their interest in music into a language learning opportunity.
2.2.1.4 Technology Factors
As a mobile application, the technology factor plays a huge role in the operations of Lyraquist.
Lyraquist must continuously keep up with trends and innovations. This requires upkeeping
user interfaces, implementing new features, and releasing bug fixes. This also means the need
to maintain compatibility with new devices and updates to mobile operating systems. Data
privacy is a top priority for Lyraquist, as users are required to create an account to use the app.
Additionally, a stable interaction connection is required to use Lyraquist, as the app utilizes
multiple APIs. Potential users will need constant internet access to learn through our app.
2.2.1.5 Legal Factors
A main legal factor is the laws and regulations regarding mobile applications. Lyraquist must
follow all relevant regulations to protect its consumers, privacy, and property. Since the app
employs Spotify as its third-party song library, rules and regulations regarding their
copyrighted content must be obeyed. Changes to any of these rules and regulations will mean
changes to Lyraquist to comply.
6
2.2.1.6 Environmental Factors
As a mobile application, users can learn languages through Lyraquist while not contributing to
paper waste. Focusing on sustainability as a factor can help Lyraquist grow with users who
have sustainability as a high-value priority for products they consume.
2.2.2 Competitors
There are already several well-established competitors within the language learning app
industry. Most notable is Duolingo, a publicly traded company with a revenue of $266 million
in 2022 with over 500 million users. Babbel, another competitor to Duolingo, boasts over 10
million subscriptions but has operated at a loss since 2013 (Curry). Both use subscription tiers
with free versions, keeping some features behind a paywall.
The structure for both follows a centralized curriculum focused on vocabulary and learning
words. The focus is on learning simple vocabulary through repetition and building motivation
to learn through gamification. In an educational context, gamification is the bundling of video
game elements with traditional learning processes to motivate or influence learners (Wang).
While this model is popular, it does not help in becoming fluent in a language. Users learn how
to use words but without context. They can ask if someone is a cat or knows their professor,
but the knowledge for more practical, real-world conversations, is not achieved. While trying
to prepare for her time in Spain, Mahi Patel, one of our developers, felt this knowledge gap.
In addition, the gamification aspect of these platforms lacks personalization. For example,
Duolingo displays its language courses as a series of learning paths, of which each lesson needs
to be unlocked, similar to video game levels. However, users don’t have much control over
what they want to learn. For example, users have to complete the animal unit in a predesignated
curriculum to get to the food unit.
An app like Lyraquist could fulfill users personalized learning goals, as they could search for
music in genres or topics, they want to learn more about. With Lyraquist, the focus of
individual learners allows the user to better personalize their content and language learning
journey. Learn what you want when you want.
7
2.2.3 SWOT Analysis
SWOT (Strengths, Weaknesses, Opportunities, and Threats) analysis is used to identify
Lyraquist competitive position and allow us to identify the best strategies to attack the market.
2.2.3.1 Strengths
Strengths in a SWOT analysis determine which features of Lyraquist make the app unique.
Lyraquist’s strengths come from its unique approach to teaching languages. None of the well-
known competitors have combined music and language learning in the way Lyraquist
proposes. Users can multitask, soaking in language learning while discovering new music.
Users can also personalize their journey, instead of adhering to the strict curriculum outlined
by our competitors.
Using Spotify as our third-party library of songs allows us to reduce operation costs, but not
seek copyright deals on our own. Lyraquist is a free app that requires the user to have a Spotify
Premium account to access these libraries. This grows our potential user base, as there are
approximately 326 million Spotify premium subscribers worldwide (Götting) that can use our
app. Additionally, our first release will be for Android users, reaching approximately 3 billion
users of this mobile operating system.
Figure 2.2.2.A: Example of nonsensical
practice sentences on Duolingo
Figure 2.2.2.B: Example of the flow of a language course on
Duolingo
8
2.2.3.2 Weaknesses
Weaknesses in a SWOT analysis show parts of the Lyraquist app that may cause issues in the
growth of the app. For Lyraquist, the main weakness comes from the industry already being
dominated by established competitors like Duolingo. To become a competitor, the app would
need many well-functioning and high-demand features. This would take a lot of time to
implement. Examples of such features include curated recommendations and the introduction
of non-Latin alphabets in lyrics, both of which would take time to plan develop, test, and
release.
2.2.3.3 Opportunities
Opportunities in a SWOT analysis represent things outside of Lyraquist that could aid in the
growth of the app.
With the use of the Spotify API, Lyraquist could partner with Spotify to grow the app’s reach
to a wider audience. For example, there is a potential to partner with international artists and
gain personalized content for users. We can also expand our songs database by including
covers of popular songs like listening to Beyonce in Spanish to further add personalization to
our users’ learning experience.
Another such opportunity is to act as an arsenal of less commonly spoken languages and
preserve dying languages. Songs in such languages can be highlighted in the Lyraquist
dashboard, inviting a broader audience to discover them.
2.2.3.4 Threats
Threats in a SWOT analysis represent things outside of Lyraquist that could potentially hinder
the app’s growth. One of the main threats is the time necessary to make the app the best it can
be. The industry of language learning apps is growing, and it is important to make the best app
possible, but time is not on Lyraquist’s side.
One of the main drawbacks is that users tend to enjoy the social component of language
learning, which our app will not offer. The user will only be interacting with music and their
own preferences, not other learners.
Since the app is free, there is no incentive to stay with our app other than our features.
9
2.3 Motivations behind Lyraquist
All analyses helped us understand the feasibility of Lyraquist as an app entering the language
learning market. Our motivations came from all the things we wanted users to get out of their
user experience.
2.3.1 Mission Statement
With Lyraquist, the hope is to connect with a variety of users, whether they are parents,
students, or anything in between. Anyone can be a Lyrical Linguist. Our target audience is any
language learner who loves music and wants to connect music and language learning together
to motivate their learning. The goal is to use music to learn languages in a way that goes beyond
vocabulary. This kind of learning can be done passively and while learning words, you also
learn the context, culture, and traditions that come with the songs you are listening to.
2.3.2 Significance
We have identified several significances of the combination of music and language learning
our users experience with our app.
2.3.2.1 Engagement and Motivation
Music is a great way for anyone to stay engaged with their material. By integrating language
learning with music, our app will make learning more engaging and motivate users to keep
learning.
2.3.2.2 Cultural Exposure
Using music to learn languages also gives the user an inside look into the culture that brings
the music to life. By analyzing lyrics, users gain exposure to cultural slang, expressions,
nuances, and themes and can encounter the language like a native
2.3.2.3 Contextual Learning
Songs are written for real-life situations, emotions, and stories. Other language apps teach you
lists of words, but learning from music and lyrics allows users to apply those words in the real
world.
10
2.3.2.4 Vocabulary and Pronunciation
The vocabulary you learn from hearing native speakers differs from what is taught in textbooks
or classrooms. Listening to songs on repeat can reinforce pronunciation, grammar rules, and
idiomatic expressions for learners.
2.3.2.5 Memory Enhancements
There are many research studies that show music aids in memory retention. Pairing language
learning with popular tunes and rhythms will help our user recall what they learn.
2.3.2.6 Personalization
Users can personalize their language learning experience based on their music preferences.
This helps retain information and motivation to continue learning and allows users to self-
measure their progress.
3. Lyraquist: Combining Music and Language Practice
3.1 Integration with Spotify
Music is at the heart of Lyraquist’s approach to language learning, and our choice to integrate
with Spotify stems from its widespread popularity and extensive user base. As the world’s
most popular digital music service, Spotify boasts millions of active users globally, offering
an opportunity to reach a vast audience of language learners.
3.1.1 Playlists
For those new to language learning, Lyraquist offers curated playlists tailored to each language.
These playlists provide an easy way to begin exploring a new language, with songs selected
for learners at the beginner level.
3.1.2 Song History
Lyraquist retains users’ song histories, providing a valuable tool for tracking progress and
revisiting favorite tracks. By maintaining a record of the songs users have listened to, Lyraquist
enables learners to reflect on their language learning journey, identifying areas for
improvement. Whether users want to review lyrics, practice pronunciation, or simply enjoy
their favorite tunes, the song history feature offers a convenient way to engage with music
while advancing their language skills.
11
3.1.3 Song Search
With Spotify integration, users have access to all of Spotify’s music. Through the app’s search
function, users can connect to this catalog and search for any song on Spotify, whether it be by
artist name, song name, or language.
3.1.4 Trending
Lyraquist allows users to explore popular songs in each language as well as globally. With the
“Trending” button, users can discover trending music trends worldwide or dive into the latest
hits in their target language. This feature not only keeps users updated with the latest music
trends, but also provides an opportunity to practice language skills with songs that are currently
popular, aiding in the learning of local dialect and slang.
3.2 Lyrics
Lyraquist pulls lyrics using the Spotify Premium API and Musixmatch, allowing the user to
view a song’s full lyrics.
3.2.1 Interactive Lyrics
With the interactive lyrics feature, users can delve deeper into the meaning and structure of
songs. From the playback screen, intuitive UI tabs allow users to switch between viewing lyrics
in their native language and the original language of the song. The interactive aspect of the
lyrics enables users to click on individual words within the lyrics to access their definitions
and part of speech, facilitating vocabulary acquisition and comprehension. Additionally, users
have the option to add words directly to their workbooks, a feature discussed in 3.3.
3.3 Workbooks
Workbooks in Lyraquist serve as personalized language learning repositories, allowing users
to compile and organize vocabulary for convenient study and review.
3.3.1 Interactive Workbooks
Users can create Workbooks directly from word translation pop-ups within the lyrics, or from
the Workbook screen directly. Users can add words from song lyrics to a Workbook or input
them themselves in the specific Workbook. With the option to categorize their vocabulary and
revisit saved words for further learning, Workbooks empower users to take ownership of their
language learning journey and enhance retention through active engagement.
12
3.4 Dictation
Dictation is a feature that enhances language learning by promoting engagement and
pronunciation practice. When users click on a word to view definition and part of speech from
the lyrics screen of a song, there is also a sound icon that pronounces the word for the user. To
make sure users are gaining contextual knowledge, the word is pronounced in the accent of the
language it is being pronounced in.
3.5 Favoriting
Favoriting is a convenient feature in Lyraquist that allows users to personalize their language
learning experience and prioritize elements for easy reference.
3.5.1 Favoriting Songs
Users can easily favorite songs within Lyraquist to add them to their home screen for easy
access. By marking songs as favorites, users can revisit them later for further practice. This
feature enables users to curate a collection of songs that resonate with them and align with their
language learning goals.
3.5.2 Favoriting Languages
Favoriting languages allows users to prioritize specific languages for their learning journey.
Similarly to favoriting a song, users can add their favorited language to their home screen,
making it easily accessible whenever they open the app. This feature enables users to focus on
mastering their chosen languages and provides a convenient way to track progress and maintain
consistency.
3.5.3 Favoriting Words within Workbooks
Within user Workbooks, users have the option to favorite words to highlight them and make
them a priority. By marking words as favorites, users can easily identify and focus on terms
they find challenging or important for their language proficiency. This feature enhances the
effectiveness.
13
4. Technical Development
4.1 Planning
4.1.1. User Personas
Once we had our app idea, the next step was to imagine the kinds of users of our app, to better
center our development around them. We developed three such personas:
- Susan, a 56-year-old stay-at-home mother
- Zoi, a 31-year-old dance choreographer
- Chad, a 20-year-old college student
Each of these personas had a different use case for our app. However, the overall idea of the
app appealed to all personas. Biographies were written for each of these personas and were
used to justify the existence of certain app features, as different features appealed to different
personas. For example, the dictation feature appealed to Chad the most, as he was a college
student learning a foreign language for his Business major.
4.1.2 Design
Our first designs were brainstormed on a whiteboard, during one of our weekly meetings. After
this meeting, we began using Figma, a web tool that allows you to create mock-ups of digital
interfaces. Our team used Figma to create a prototype of every major screen in our app. We
also decided on a color scheme, opting for a set of four primary colors and a fifth neutral color
(white) to provide an engaging theme with enough contrast for readability. A logo in the shape
of a vinyl record with the globe as its background was decided on for its ties to music and
world languages.
14
Figure 4.1.2.A: Initial Whiteboarding as our Lo-Fi Prototype
Figure 4.1.2.B: Screenshot of Figma, used to create prototyped designed
15
Figure 4.1.2.C: App's color scheme, font, buttons, and logo
4.1.3 Ethical and Legal Issues
Our team had to consider several ethical and legal constraints before beginning development.
A major issue was the fact that our app would be using music and song lyrics. Both are
protected by copyright. To avoid running into legal issues, we determined that all music and
song lyrics must be obtained legally and that we would not profit from their use. Users would
have to connect their Spotify Premium account to enable song playback and Spotify search, as
only Premium users have access to Spotify’s APIs. We discovered that only 30% of a song’s
lyrics were obtainable from the MusixMatch API, without having to pay for a subscription.
For the purposes of this app, we stuck to this limit and posted a disclaimer above lyrics, stating
that they weren’t being used for commercial purposes.
Another major issue to discuss was privacy. With the use of Firebase Realtime Database, we
committed to storing our users’ data securely and off of the device. Users were also required
to enter their birthdate upon sign-up, to ensure that users under 13 were not using the app.
16
4.2 Technical Frameworks
4.2.1 React Native/TypeScript
Since we wanted to create a mobile app, we decided to use React Native, a software framework
that enables one to develop apps that work across a variety of mobile platforms using
TypeScript. We decided to focus on creating an Android application. React Native is a popular
framework for developing mobile applications, ensuring that we have a wide variety of
libraries to choose from. React Native can be developed on any operating system, which was
important to our team, as some of us used Macs and some of us used Windows.
React Native applications developed for Android are built on Java. Typically, one would not
need to alter the Java part of the project. However, in the case of the Spotify Android SDK, it
later became necessary to edit these files.
4.2.2 Firebase Realtime Database
Because our app utilizes user accounts, we needed a way to persist data. Initially, we decided
on a SQL approach. Many projects using both React Native and SQL require an Object
Relational Mapper (ORM) to better connect SQL data to their representation as a React Object.
Our research led us to WatermelonDB, an SQL ORM for React Native. However, upon initial
implementation of WatermelonDB in our project, we found it incompatible with our version
of React Native and other libraries we were using.
This led us to research alternative database options. We eventually settled on Firebase Realtime
Database. This is an online, No-SQL database. A Firebase account was setup and we had to
build our own table structure. We created four main tables for our four main sources of data:
playlists, songs, users, and workbooks. Every entry in these tables is given its own unique
identifier. Workbooks and playlists are connected to a specific user via a ‘user-id’ property.
Songs are connected to a specific playlist via a ‘playlist-id’ property.
4.2.3 Firebase Authentication
Through further research, we realized that Firebase offers an authentication system through its
database. We used this authentication system to register new users and handle log-in and sign-
out.
4.2.4 Node Package Manager
Node Package Manger (NPM) is one of the most popular ways to manage and compile React
Native projects. NPM was used to install libraries into the project and compile the project for
runtime.
17
4.2.5 Android Studio and Emulator
Android Studio is the official suite for Android Development. It offers an emulator which we
used to simulate the running of our app while in development.
4.2.6 Expo
Expo is an open-source platform for developing and deploying React Native apps. It was used
to perform the initial setup for our project, integrating NPM and GitHub seamlessly. Expo also
includes Expo-Doctor, which checks for code vulnerabilities and outdated versions of libraries
while correcting environment incompatibilities.
4.2.7 Gradle
Gradle is a tool that assists in compiling, deploying, and packaging a software project. In our
project’s case, Gradle compiled our code with all the libraries we used into an APK (Android
Package Kit). An APK can be downloaded to any Android Phone and used to install the app.
4.2.8 Appium
Appium is a testing suite for mobile applications. We used it to perform unit and behavioral
testing for our app.
4.3 Libraries / APIs Utilized
4.3.1 Spotify Web API
This was the first of two Spotify APIs utilized in our project. The Spotify Web API is accessible
via web requests, allowing users to utilize Spotify’s search function, view users’ data (such as
saved playlists and currently listening), get track information (such as artist, album, and cover
art), and edit user data (such as creating a new playlist). In our app, calls to the Spotify Web
API were made for everything except track playback.
4.3.2 Spotify Android Software Development Kit (SDK)
This was the second Spotify API used in our project. Because the Web API did not offer full
track playback, we had to use the Android SDK to offer this feature. This API is written in
Java, so its functionality had to be coded into our React-based project through Android Native
Modules. Android Native Modules are Java programs that can be converted into React
components.
18
4.3.3 Musixmatch
Musixmatch is a music data company that licenses song lyrics for multiple music service
platforms like Spotify. We used Musixmatch API for developers to provide lyrics for display
for users of our application. We believe this can enhance the learning experience by helping
users visualize the words in the music. It allows users to search for lyrics by song title, artist
name, or even just a line from a song. Musixmatch offers API services for developers by
providing 30% of lyrics for free. We are able to fetch the lyrics for any specific song by making
a call to the API using a key provided to developers along with the song title and artist name.
When we fetch the data, we access the lyrics body attribute to display the lyrics in our
application.
4.3.4 Google Translation API
Using lyrics from Musixmatch, we used Google Translate API to translate the lyrics into the
user’s preferred language. We researched and experimented with many APIs for translation,
like OpenAI, Microsoft Azure, and others. Google Cloud Translation API worked best for our
application because of the AutoDetect functionality. The AutoDetect function from Google
Translate is implemented to be used on those lyrics to detect what language they are from and
then the lyrics are translated from the original language into the user's preferred language. The
preferred language is a language the user already knows and is comfortable learning in. For
example, if a user's preferred language is French, a Spanish song will be translated to French.
Not only do we utilize translate on the entirety of lyrics, but also individually on specific words
from the language found with AutoDetect into the user's preferred language.
4.3.5 Lexicala
Lexicala is a comprehensive multi-language database containing word-specific lexical data.
Most lexical API databases lack a core feature of providing multilingual support. Lexicala API
provides this functionality and caters to many languages other than English. In order to use
Lexicala API, we passed in a specific word and its corresponding language, determined by
Google Translate API’s AutoDetect functionality. This allowed us to specify which word and
language dictionary to query the Lexicala database. This allows us to retrieve a specific word’s
definition and part-of-speech information.
4.3.6 Expo Speech
Expo Speech API is a native Expo library that provides multilingual text-to-speech capabilities.
This enabled us to provide dictation for each word. Providing word specific dictation enhances
the user’s learning experience by hearing it at a slower pace than it may be enunciated in a
song. It is important to note that Expo Speech API dictates words accurately by accounting for
19
language accents. To implement dictation functionality for specific words, we can convert text
to speech by using the “Speech.speak(text)” method by passing in the specific word.
4.4 Work Style
4.4.1 Team Practices
For this project, we worked in a modified agile environment. We implemented sprints with a
duration of one week.
From the beginning of the CSCE 490 course, our team agreed to meet weekly on Mondays.
During the first semester, we were able to meet in-person, but for the second semester, we
began meeting virtually.
During the first semester, communication occurred through an SMS group chat. At the start of
the second semester, we decided on a more robust communication system. We created a
Discord server, which allowed us to pin messages and meet virtually. We also began using
Trello, a kanban-style list maker. With Trello, we could write tasks on cards and move cards
as they were being worked on and completed. Cards were also assigned to team members, so
it was clear who should work on what.
4.4.1 Work Prioritization
Within the Trello board, we were easily able to prioritize the development work needed. We
labeled work to do based on its importance (required, desirable, aspirational), the features, if it
was work that needed to be done before others could be completed, and its type of work (bug,
task, research, UI, etc.). This allowed us to review the tasks at hand and ensure everyone had
reasonable work to do within the week, as well as plan accordingly per milestone.
20
Figure 4.4.1.A: Image of the Trello Board used for sprint planning
4.4.2 Weekly Standup Format
Following the agile environment, our weekly meeting took on a standup format. In a real agile
environment, stand-ups are done daily, however, we did have to adjust accordingly. The Trello
board was created to move cards depending on Todo, doing, and done in sprint. As we
complete work we move the card accordingly. At the meeting, the product manager will go
down the list and start with done in sprint and get updates on all work that was promised to get
down that week. If the code has been pushed into the app, then we move the card to done
overall. If someone is stuck on a task, we work together to find how to fix the block and
continue with the work. Once updates are done, we go over new deadlines coming up and
populate our Todo list for the coming weeks. This was done weekly and stimulated a real app
development team.
21
4.5 Implementation
4.5.1 User Interface
The team used discussions from other classes to create this design and feel of the app. Our
design focused not only on branding, but also on the usability of the app. We created a mock-
up of our design within Figma, an online prototyping tool, before coding it.
Digital Interfaces must be user-friendly. We have easy-to-read descriptions on everything that
may be hard for users to understand, constantly giving them feedback on how to navigate the
app. For example, if you have just created an account, your dashboard will let you know to
start listening to songs or creating workbooks in order to populate it. If you enter information
incorrectly while signing up, the user will be alerted to the fields they need to change.
The interface must be efficient to use. By having a user dashboard for the home screen, the
user can easily access many of our main features quickly. This means quick access to their
songs, search, workbooks, and navigation to other parts of Lyraquist.
Users should be safe while using our app. This means we ensured that our design and interface
work with Spotify guidelines when using their API. We do not outwardly show their
information on the app, unless the user allow the app to do so. There is encryption on all
password inputs.
We also implement good utility. Our buttons are clearly labeled and we have designs consistent
with other well-known music apps, like Spotify. Our bottom tab navigation system is clearly
visible and accessible from all parts of the app.
We make our app easy to learn with large headers and implemented consistent design
throughout. Every single screen has a back button and all have access to the bottom tab
navigator. Making designs similar to Spotify also means users will feel comfortable with
Lyraquist, as they already know how to use Spotify.
Figure 4.5.1.A: Spotify Bottom Navigation
Figure 4.5.1.B: Lyraquist Bottom Navigation
22
Figure 4.5.1.C: Lyraquist Home Screen
23
4.5.2 Connection to Spotify
Upon a user’s first log-in to the app, the user is prompted to create a new Lyraquist account.
The user is then directed to a Spotify log-in page, where they must sign-in with their Spotify
Premium account. A web request to the Spotify Web API is made and returns an access token
and refresh token. Lyraquist can make requests to the Web API using the access token. The
refresh token is used to request a new access token every hour.
4.5.3 Data Persistence and Data Read/Write
When a user first creates an account with Lyraquist, a new entry in the database’s users table
is created. This entry holds key information specific to that user, such as their username,
password, and email. Upon creation of a new workbook, playlist, or the addition of a song to
a playlist, a new entry would be added to the respective table.
Figure 4.5.2.A: Screen requesting permissions after user connects Spotify Premium account
24
Figure 4.5.3.A: Example of a Workbook screen in Lyraquist. This screen would make database calls to retrieve
saved words.
25
4.5.4 Translation
On the playback page, we can click the chevron to swipe up to see a top tab navigator of the
lyrics. You can switch between the lyrics released in the original language and the lyrics
translated to the user’s preferred language. On the translation page, we are able to see the
translation of the lyrics from the original lyrics to user’s preferred language.
Figure 4.5.4.A: Example of the translated lyrics of a Spanish song.
26
4.5.5 Lyrics Display
When swiping up to view the lyrics, we can see the lyrics pulled from Musixmatch API. Users
can switch between the view of the original lyrics and the translated lyrics. If we stay on the
page with the original lyrics, we can click on any word to see the meaning of this word. On the
modal that pops up, we can see the meaning of the word in the user’s preferred language, the
definition, and a speaker icon. The speaker icon provides the functionality of the dictation of
the word upon click. The chevron tab can be used to open or close the lyrics display, or the
user can swipe it down or swipe it up.
Figure 4.5.5.A: Example of a Spanish song's lyrics
Figure 4.5.5.B: Definition pop-up that displays original
word, translation, part of speech, and dictation. Allows
user to save word to workbook.
27
4.5.6 Search
Users can use the main search screen search feature to search for songs or artists. They can
also view globally trending songs to ensure they are being kept up-to-date with global trends.
Focusing on individual priorities, users can also search by language, where they will be met
with a Lyraquist-curated playlist with songs for beginners to help them get started in their
language learning journey. On this page, they can view trending songs in their selected
language as well.
Figure 4.5.6.A: Lyraquist search by language feature
Figure 4.5.6.B: Lyraquist search by keyword feature
28
4.5.7 Playback
Full track playback is supplied by the Spotify Android SDK. This SDK was also used to code
functionality such as starting and pausing the track. The SDK also returned the player’s
playback position, which was used to display song progress to the user.
Figure 4.5.7.A: Player screen in the app
29
4.5.8 Security
No user data was stored on the user’s device. Instead, all data is stored in an encrypted database,
using Firebase. This database is accessible via query only by our app, which was given the
required access key. Additionally, queries from the app can only access information for the
current user, preventing unwanted reading of other users’ data. Firebase also stores login
credentials separately from the rest of the user data.
5. Testing
5.1 Peer Review
During the user testing phase, our project underwent a thorough evaluation by another group,
who diligently tested the application and documented any encountered bugs in our GitHub
repository. This process provided invaluable insights into areas requiring improvement, not
only in terms of fixing existing issues but also in identifying potential enhancements to enrich
the user experience. While addressing reported bugs was a priority, we also took into
consideration the suggestions for enhancements that were proposed, even if they did not
directly relate to malfunctioning aspects of the app. With feedback from the user testing group
and additional input from our thesis advisor, we meticulously reviewed and resolved the
identified issues, striving to enhance the overall functionality and usability of the application.
This collaborative effort allowed us to refine the app and ensure its readiness for a seamless
user experience upon release.
5.2 User Tests
During the user testing phase, our project underwent comprehensive evaluation through both
behavioral and unit tests, each serving distinct purposes in ensuring the app's functionality and
reliability. These were created using Appium, and the tests can be run by running commands
in the terminal. Through a combination of behavioral and unit tests, we were able to thoroughly
evaluate the app's functionality, identify areas for improvement, and validate the integrity of
the codebase. This comprehensive testing approach enabled us to deliver a high-quality
application that met both user expectations and technical standards.
5.2.1 Behavioral Tests
Behavioral tests focused on assessing the application's functionality from the end-user's
perspective. Test scenarios were designed to simulate real-world usage scenarios, allowing
testers to interact with the app as they would in actual usage. These tests examined various
aspects of the user interface, user experience, and overall application flow to identify any
30
potential usability issues or user-facing bugs. By conducting behavioral tests, we aimed to
ensure that the app met user expectations and provided a seamless and intuitive experience.
5.2.2 Unit Tests
Unit tests, on the other hand, delved into the internal logic and functionality of individual
components or units within the application. These tests targeted specific functions, methods,
or modules to verify that they behaved as expected under different conditions. By isolating and
testing individual units of code, we could identify and address any logic errors, edge cases, or
unexpected behavior that could affect the app's overall stability and performance. Unit tests
played a crucial role in validating the correctness and reliability of the underlying codebase,
helping to prevent regressions and ensure the app's long-term maintainability.
6. Future Recommendations
Currently, Lyraquist is a mobile application suitable for Android users. The app is
downloadable on our website via an APK. The 1.0 Release includes the main features that
allow users to become Lyrical Linguists.
6.1 Potential Future Features
We have several potential features that will expand our mission of connecting music and
language learning.
6.1.1 Goals & Badges
Users will have the ability to track progress and further personalize their language learning
journey, by setting their own goals and earning badges. Goals can be set based on number of
songs listened to, minutes listened, or words saved. Badges can be earned for the number of
songs listened to, account life, words saved. Badges will be displayed on a user’s profile and
goal progress can be viewed on the home screen.
6.1.2 Create Personal Playlists
Another potential feature would be the ability to create personal playlists. Users can create,
name, and describe playlists. They can add songs, queue, and delete songs based on personal
experience. Users could also import their Spotify playlists.
31
6.1.3 Karaoke
A karaoke mode would take extensive research to create, but would elevate the language
learning experience within the app. In the song player, a user could click a button that takes in
mic input. We can implement artificial intelligence to evaluate someone’s tone and
pronunciation to give feedback post song. There is no indication that this technology exists,
therefore, our team would have to develop it from scratch.
6.1.4 Social Media & Sharing
This feature will allow users to connect with one another. Users could follow each other, see
what songs others are listening to, and share playlists and workbooks. A feature to increase our
app’s visibility would be the ability for users to post their playlists and workbooks on other
social media platforms. An example would be a “currently playing” sticker one could post on
a Snapchat or Instagram story.
6.2 Next Steps
The next step would be to release the app to the greater public. This means working with
Spotify to ensure we comply with the rules and regulations of using their APIs, research the
feasibility of releasing as a free app, and then releasing Lyraquist on the Google Play Store. A
future consideration would be releasing the app to iOS users.
6.2.1 Spotify App Integration Process
Lyraquist’s access to Spotify APIs is controlled via the Spotify Developer Dashboard.
Currently, our app is in development mode, which means Lyraquist can only access the Spotify
APIs on the behalf of only 25 Spotify Premium users. In extended quota mode, the number of
Premium accounts allowed to access the APIs is unlimited. However, a request must be made
to move the app to extended quota mode. This request involves detailed answers concerning
our app use, attribution to Spotify within the app, and testing of the app by the Spotify team.
This process will take up to several weeks.
7. Significance
Lyraquist supplements traditional ways of learning by making it more engaging and
memorable with music. You may not always remember a vocabulary list, but you will always
remember the lyrics to your favorite songs.
With this in mind, Lyraquist fulfills two main use cases. The first is the personal, where a
learner may decide to learn a language for an individual reason, such as preparing for travel in
32
a foreign country or self-improvement. The second is in a school or college setting. Students
of foreign languages may benefit from the use of Lyraquist as a homework activity, giving
them a more creative way to interact with content. Both cases contribute to the rise of
technology in the education field, especially after the effects of the COVID-19 pandemic.
Educational technology cannot simply be a digital copy of pen-and-paper content. Because of
its unique medium, educational technology has the chance to offer something different. For the
purposes of language learning, the use of music improves the process by allowing users to
immerse themselves in passive learning.
33
8. Works Cited
Sukhanova, K. (2024, January 30). Global language learning market statistics in 2024. The Tech
Report. https://techreport.com/statistics/language-learning-market-statistics/
Curry, D. (2024, January 8). Language learning app revenue and usage statistics (2024).
Business of Apps. https://www.businessofapps.com/data/language-learning-app-market/
Götting, M. C. (2024, March 15). Spotify: Number of Premium Users Worldwide 2023. Statista.
https://www.statista.com/statistics/244995/number-of-paying-spotify-
subscribers/#:~:text=How%20many%20paid%20subscribers%20does,the%20correspond
ing%20quarter%20of%202022
Curry, D. (2024b, March 1). Android Statistics (2024). Business of Apps.
https://www.businessofapps.com/data/android-statistics/
Wang, Z. (n.d.). Introduction to the use of gamification in Higher Education: Part 1. Academic
Technology Solutions. https://academictech.uchicago.edu/2021/11/23/introduction-to-
the-use-of-gamification-in-higher-education-part-1/
Matt. (2022, August 12). 100 of the best (and weirdest) duolingo sentences ever. duoplanet.
https://duoplanet.com/100-of-the-best-and-weirdest-duolingo-sentences-ever/
Spanish for English tree in Android. (n.d.). Duolingo Wiki. Retrieved from
https://static.wikia.nocookie.net/duolingo/images/b/b4/Spanish_for_English_tree_in_An
droid.png/revision/latest?cb=20190518224627.