Our dedicated development team with eLearning expertise gives you the ultimate guide on how to make an app like Duolingo or even better AI-based language learning app. You’ll learn how to effectively monetize it. What feature set to choose. How much it costs. And how long the language learning app development takes.
The primary idea and goal of eLearning applications is to make education available on personal users' phones and PCs, which favors studying at any time and place learners want.
There are several types of eLearning apps that differ by educational goals. If your intention is to make a language learning app, keep on reading to find the detailed guide.
However, if you consider creating an eLearning app with wider possibilities and purposes, use this guide on How to Develop a Learning App.
9-Step Guide on How to Make a Language Learning App
The app development process can be described in 9 steps, some of which can run in parallel to speed up the launch time.
And, of course, you don’t need to be a developer, designer, business analyst, and QA engineer rolled into one. A skilled team of a software development company can take your ideas and help materialize them.
1. Decide on the desired app's concept
Before writing the code or working on the design details, make sure you have a clear definition and description of the app.
The concept defines and describes what the app does at the functional and appearance level.
For example, the concept defines what the app will do and how it will respond to user interactions, and what elements and features it’s going to have.
Start describing your concept with a brief statement that summarizes the app. For that, answer the basic questions like who, what, when, why, and how.
2. Make a Business Analysis
Business analysis not only helps your own team or software vendor understand your vision and preferences. It also allows your vendor to assess your requirements and evaluate the possibility of their implementation.
It can also include a discovery phase. In case you have no clear vision of the project scope or the overall concept, your outsourcing team will help you figure out the best solution.
During this stage, your business analyst will do the following for you:
- check the relevance of your concept;
- verify the feasibility of functional details;
- thoroughly analyze the market,
- obtain data regarding possible competitors,
- define business goals.
3. Define the feature set and make the requirement list
Together with your development team make up a list of application features.
Note that when deciding on the feature set for your app, you should be careful not to overwhelm users with a large number of features. It makes the app usage puzzling and may lead to user churn as a result.
Consider starting your project with an MVP, which is wise on many occasions.
It saves time and money and gives valuable feedback from the first users that give you a clear vision of whether you go in the right or wrong direction.
If your team opts for an MVP, it’s essential to choose the core features to apply. How to do this? We have a detailed guide on MVP software development with best practices from successful entrepreneurs.
Also, think about integrating the latest technologies.
Duolingo can be a benchmark here.
Sticking to the idea of simplicity, Duolingo has quite a simple interface, not overloaded with features. It makes the use of the app easy for language learners.
Besides, the app uses innovative AI-powered features that make the app stand out on the market. And they all are described in detail in AI in language learning.
After defining the feature set, create a requirement list for your development team.
Based on it, the technical team will evaluate which tools to choose to implement your idea, and how many resources will be needed.
4. Choose the technology stack corresponding to the platform (web, iOS, Android)
Actually, that’s what the key market players do. To attract a larger audience, Duolingo and other popular platforms are available in Google Play, Apple Store, and on the web.
How to code a language learning app? Let your developers choose the right technology stack, which will depend on the chosen platform.
|Category||Technologies and Tools|
|Programming languages||Objective-C, Swift|
|Architecture||MVC, MVP, MVVM and VIPER|
Users get used to the interaction patterns of each OS (iOS and Android), and anything that contradicts general guidelines could push them away. Apple’s Human Interface Guidelines could serve to give a general direction.
|Category||Technologies and Tools|
|Programming languages||Java, Kotlin|
|Architecture||MVVM with Android Architecture Components|
The guide from Android can help understand the basic principles and requirements for building an Android-based app.
Hybrid app development
|Frameworks and technologies||React Native, Xamarin, Flutter, Cordova|
It’s advisable to opt for hybrid development in the case of tight deadlines and a limited budget. Or if your priority is to build your app for both Android and iOS simultaneously.
|Back-end||Java, Python, Ruby, C#, Node.js|
|Database (SQL)||MySQL, PostgreSQL|
|Database (NoSQL)||MongoDB, Amazon DynamoDB, Apache Cassandra|
To develop a well-thought web application, think in advance about its architecture that must be scalable and modular. This is necessary to expand and change the functionality and allow the whole system to function under the high load efficiently.
The third-party API integration should be made carefully because this choice impacts your app performance.
Also, it’s recommended to store the content in cloud storage for scalable performance and almost unlimited storage capacity.
Duolingo Tech Stack
AI and Machine Learning
As a learning experience platform, Duolingo uses AI to personalize the language learning experience. This personalization is achieved through the use of custom machine learning models. Training these models requires a high volume of data points, ranging from 100,000 to 30 million, depending on the problem. Duolingo makes more than 300 million predictions daily, which requires significant computational speed and scalability.
PyTorch, a deep learning framework, is utilized for developing these models. AWS (Amazon Web Services) provides the computing platform for training and deploying these models.
AWS's EC2 P3 high-performance GPU instances facilitate the deployment of the models.
Duolingo's database development and data management strategies involve using Amazon DynamoDB, Amazon EMR with Amazon EBS as temporary storage, Amazon S3 for permanent storage, and Spark for computation of periodic batch predictions.
Microservices and Infrastructure
Duolingo initially built a monolithic application architecture using Amazon EC2 and Amazon RDS. As they scaled and their needs evolved, they started using AWS Elastic Beanstalk.
Facing scaling issues and new feature releases, Duolingo transitioned from a monolithic architecture to a Docker-based microservices architecture using various cloud migration solutions.
They migrated to Amazon Elastic Container Service (ECS), which provided the ability to run and manage Docker containers.
Duolingo found costs rising with this new approach, as different workloads required different types of compute resources within the same ECS cluster.
To optimize costs and resource utilization, Duolingo employed Spotinst's Elastigroup service, a cluster orchestration and scaling service. This service helped them reduce compute costs by 60% and total AWS costs by 25%.
Today, Duolingo manages over 100 microservices on AWS. And to ensure the high quality of their services, Duolingo also implements automation testing for all of its features.
The application of gamification in eLearning is evident in Duolingo's approach to making language learning more engaging and effective.
Duolingo source code is unavailable to the disappointment of many people, so creating your own is an obligatory step.
5. Develop the design of the application
Having all elements of an eLearning app work in a similar way makes the use of an app convenient for users.
For that, your in-house designers or specialists of the chosen software development company must consider functional and external consistency.
Functional consistency means that every interactive element should work in a similar way within the e-learning app.
One should be able to have access to the learning materials on mobile, laptop, or tablet without getting used to each platform’s design individually. This is ensured with the help of external consistency of design and functionality across multiple platforms.
If you are uncertain about which of the two options would make a better impact on the learning abilities of users - A/B testing comes handy for defining small elements.
Common UX/UI Design Mistakes for E-Learning Mobile Apps
We at Belitsoft have worked on multiple eLearning projects and gained vast expertise.
We’ve interviewed one of our UX designers who specializes in eLearning apps and courses to list the most common design mistakes that can ruin any app.
Badly executed information architecture
Prioritizing features by popularity is something all designers should pay attention to.
Content and features that are most commonly used should be placed on the top. How do you define which functions would be used more commonly?
Well, it starts with using your intuition and researching the best practices of other apps. Then make adjustments according to feedback.
As our designer Kate claimed, at the beginning of her career she got acquainted with “The Non-Designer’s Design Book”. A must-have for designers.
It contained the idea of CRAP - contrast, repetition, alignment, and proximity principles. Should they all be intact, the user will follow the way the designer had prepared for them.
All the things displayed on-screen should be there for a reason: it is called an intentional design.
The core of the problem is using too many font types, different styles, or selecting “wrong” color combinations on the same page of an app.
Overall consistency eliminates users’ confusion and helps them save some time on navigation learning.
Focus on a nice contrast between the text and background colors. Using some software to select the needed colors might help UX designers get close to the perfect color combination.
Other elements of inconsistency to avoid are:
- Overcrowding the free space on the page without leaving any white spaces
- Using decorative images instead of practical ones (just for sake of filling the gaps)
- Not applying any design mapping
Cluttering elements and inconsistent alignment
The core of the problem is not making the right alignments and overcrowding the information.
The navigation in the eLearning app should remain as simple as it gets.
Keep all the important information in the user's sight - that is the general guideline here.
Don’t discard the well-thought and consistent alignment throughout the whole course and all the platforms. Otherwise, you’ll make an understanding of the course content more complex.
To fix this issue, designers should have consistent margins and align objects in the same manner throughout the whole course.
Any switch in justification (from left-justified to center) should be reasonable or avoided if it is not really needed.
Grid systems are helpful to keep the objects aligned. The designers in Belitsoft usually use Bootstrap for these purposes.
Poor images execution
Sometimes inserted images get “managed” to make them fit, or are moved to another page or side. If it is done carelessly the images get scrunched, but not scaled.
Course designers should keep a close look at the ratio of the images and keep it intact.
6. Create Content
Having a clear vision of all technical details and structural blocks of your language app, you can fill it with actual content. This is usually performed in parallel with working on the design.
Content is the most valuable part of the app. It should be 100% correct, up-to-date, relevant, and engaging.
The number one advice is to invite professional teachers. It’ll allow creating an effective curriculum and avoiding mistakes in study materials.
That’s what Duolingo did.
The company created its content in collaboration with language teaching experts from the linguistic communities.
Another useful tip concerns the one-stop-shop approach. It means covering all 4 language skills (listening, speaking, writing, and reading). If not, your potential users will have to download another app to meet certain needs.
Let’s take Babbel as a sample. Their curriculum is divided into 10-15 minute lessons with a variety of tasks to practice all 4 language skills.
7. Develop the app (full version or MVP by your choice)
After agreeing on the abovementioned design details, it’s time to pass the design layout created by the graphic and web designer to your in-house developers or a dedicated team.
Develop the Front-End where the user inputs are sent for processing and giving back the answers.
Develop the Back-End where all the processes go.
For example, a user types the request in a browser. The request is sent to the back-end where the algorithms (traditional or based on Artificial Intelligence) process the data and figure out what to do next.
To create a backend, a variety of technologies are used. Their choice depends on the complexity of the project and the platform.
One more important tip, based on our experience and analysis of Duolingo and similar language learning apps.
Consider building the modular architecture of your application.
In case you need to expand and advance the existing set of courses, you should be able to do this without spending an exhaustive budget every time. That’s what a modular application is needed for.
8. QA and Testing
Consider applying Quality Assurance from the very beginning of the product creation to identify weaknesses and eliminate bugs ensuring the improved quality of the product.
You can create a bug-free stable-working app by using the right software testing approach, which usually implies a combination of both functional (smoke, sanity, regression, etc.) and non-functional testing (performance, security, UAT).
After creating the MVP or a beta-version of the product, conduct focus group testing so that you could see the weak points of the app before the release of the full-fledged version.
To use available QA resources in the most efficient way to reduce costs and the delivery time of software without compromising on quality, follow the software testing best practices.
9. Start Marketing and Advertising Campaigns
Definitely, it's not enough to make a language learning application. One of the tasks of your in-house or outsourcing team is to promote it.
So be sure to take care of timely marketing support and advertising campaigns. Your team can start performing it when the development process is still in progress so as not to lose time.
Here are some best practices for promoting a new application:
- create a landing page;
- start a blog or use guest posting;
- use social media;
- create a video intro and teasers;
- establish users’ community;
- work on app store optimization;
- consider promos, coupons, discounts, etc;
- ask for app reviews;
- apply for app awards.
Having your idea backed by a professional team guarantees a fast start, predictable cost, high-level quality of the product, and support at every stage. Let’s Make Your Idea Work Together!
Must-Have Features to Make a Language App that Will Succeed
The creators of the top language learning applications have already invented the perfect feature set. Let’s overview how to make a language app successful with thу right features.
Zan Gilani, associate product manager at Duolingo admits that well-built gamification definitely contributed big time to the international success of the company.
In-app currency, pretty achievement badges, strakes and levels, leaderboard, gems and crowns, or exploring new planets are all gamification traits already used by market winners Duolingo and Memrise.
Two major reasons for applying gamification are to increase encouragement and to bring on the competition.
For example, you can create a league board, where users are ranked according to the amount of XP they gather by finishing lessons.
Or hold a contest where users compete for a chance to win something of value like a week of the free Premium version.
Microlearning implies breaking down the learning course into small chunks.
Such a learning approach makes it easier to study because bite-sized lessons are short and more focused. Learners don’t clutter their memories with irrelevant information.
RPS research states that microlearning improves focus and supports long-term retention by up to 80%.
The idea of the scaffolded support is to provide users with timely relevant tips in the course of learning directly throughout the interface.
The scaffolded support is usually presented by integrated tips and word translations or dictionary articles that appear by tapping on a word or in case of a mistake.
As an app creator, make sure that the app tutorials aren’t intrusive in the learning experience.
Variety of Content and Activities
When Duolingo started their way, most of their users dropped out after less than 2 hours of study! According to the early research made by the company, the primary reason was the monotony of doing the same exercises.
After that Duolingo diversified and enriched the content, and won.
So you now have a chance to learn from their mistakes and meet all users’ needs with highly diversified content formats, including video, audio, text, pictures, etc.
Here is the list of exercises used in Duolingo to stimulate the users’ interest:
- Arrange all the words into a grammatically correct sentence.
- Complete the translation of a sentence with a missing word.
- Select the correct translation of a sentence.
- Match a picture to a word.
- Read and choose a response.
- Insert missing words into blank spaces.
- Rearrange the words in the shuffled sentence.
- Speak the word or sentence into the microphone
- Match the word to its translation.
- Type the translation of a sentence.
- Type what you hear in the audio
- Answer a chatbot to continue the dialog.
User-friendly design and interface
The user’s interaction with your product must be simple and seamless. It means that the interface design should be user-friendly, intuitively understandable, and not overloaded with details.
It’s important to use a consistent design language so that all menus, structural blocks, and buttons are created in a unified manner.
Let’s take Duolingo as an example. You can notice a vivid, appealing, and minimalistic design that attracts millions of users. The interface and navigation of the app are extremely user-friendly and don't require much time to figure out their functionality.
Community and social networks
After creating the app, Duolingo has also made a platform for the communication of users. It’d be wise to follow the example.
Give your users a platform where they can communicate with one another. It can be a forum with customized features like choosing the emblem.
You can go further than Duolingo does and link the app with social networks so that your users could brag about their success in studying languages.
There are many ways of authorization into an application: through an email-based login, social networks, and Google authenticator are the most popular ones.
When a user launches the app for the first time, normally they answer questions about age, sex, email, name, and enter the password. But the process can be significantly simplified.
For that, Duolingo integrated the app with social networks.
The feature simplifies the registration process and enables you to integrate user data from a social network.
At the end of every section or topic within the course, offer your learners a checkpoint quiz as Duolingo does.
Such a freeform writing test asks to answer questions, challenging users and enabling the team to check the progress.
Progress tracking dashboard
Integrate a progress tracking dashboard to provide users with all the necessary analytical tools, such as statistics, diagrams, percentage of completed lessons, etc. If learners can constantly monitor their performance, they get a motivation to keep on.
For example, Duolingo tracks users’ progress and keeps them updated and motivated by reminding them how many skills and words they have mastered and how many lessons they have passed.
Again, let’s take Duolingo as a benchmark. A language learning app can use many ways to make money. And the in-app Shop is a perfect way to monetize the app.
The integrated Shop feature offers turning gems that a learner collects while training into real purchases. Or the gems can be bought.
Many learners give up before achieving their goals. To retain users, try push notifications.
If a learner abandons the app for a day or two, push notifications are here to remind them that there is a course to complete.
As helpful as a training course can be, it’ll only benefit from adding a personal tutor.
You may consider to inbuild a tool enabling users to speak and consult with their language instructor when they are in confusion.
Or use a chatbot. It will imitate a person and will serve as a tutor being online 24/7.
Chatbots are mostly used to practice speaking and pronunciation. But can also perform as tutors providing help in case a learner struggles with any exercise.
If an app doesn’t require a stable Internet connection all the time, users can complete their courses even in zero signal zones if the set of exercises is pre-downloaded.
The function is very handy for those who spend many hours in the Wi-Fi-less subway or elsewhere without an Internet connection and with a smartphone in their hands.
The in-built online payment module gives you the possibility to monetize your product directly through the app. When the payment is completed, a learner enrolls automatically.
Consider adding the support of credit cards by Visa and MasterCard and the most popular sales platforms like PayPal, Magento, Drupal, and others.
In-built feedback form
This is a useful feature for those who are planning to gather feedback and reports.
Duolingo developers react to the feedback from their more than 200 million user audience rapidly.
They have a form within the app for people to leave their reports and comments.
However, mind that learning tendencies are changing and the needs of online language learners are constantly increasing.
It means that your product shouldn’t be limited only to the traditional functionality used by the majority. Moreover, the unique approach is highly appreciated by language learners.
To win this battle, consider AI in Language Learning: 6 Key Tools Already Applied by Key Market Players.
How Belitsoft Can Help You
To make your language learning application user-friendly and smoothly working, to launch it in short terms and at an affordable cost, our team will take care of your app development on all the stages.
- You will get a detailed personalized consultation on the monetization model, an assessment of the idea, etc.
- You will get a clear vision of your perspectives based on business analysis and marketing research performed by us.
- You will understand what technologies and tools are needed to frame your idea.
- You will realize which cooperation model to choose best to save your time and money.
- You will get your MVP or full-fledged app in the agreed time and will get a guarantee of its bug-free design.
How Do Language Learning Apps Make Money?
Few apps are paid, nevertheless, they successfully make money.
For example, Duolingo generated $161 million in revenue in 2020 (106% increase YoY) being a free app. How?
Language learning apps use several ways to monetize. Duolingo uses a subscription model. But less than 2% of paid subscription users make only a part of the revenue. Other parts come from ads, investors, and paid English Tests (analog of TOEFL).
Check out all the available monetization ways, the pros, and cons of each of them. Then you’ll be able to select the one that agrees with your vision.
1. Freemium model
How does it work?
Basically, learners access the app and the course without charge. They can explore its functionality, enjoy the content and core features.
However, some features or content are available within a paid subscription. For example, access to instructional videos, books, chatbots, further lessons, etc.
Disadvantages: If the learning process isn’t engaging enough, navigation or interface is confusing, a user will likely abandon the app without paying anything.
2. In-app advertising
The idea is to allow users to access the app free of charge and obtain revenue by showing them third-party ads.
The in-app ads are usually displayed as rewarded video ads, pop-up windows, full-screen interstitials.
Rewarded video ads are especially interesting. By watching them, learners gain points, in-app coins or health, achievements, and feel far less irritated by the appearing ads.
In case a learner wants to remove the ads, they have to pay a fee.
Disadvantages:Users often feel distracted and annoyed by in-app ads that they are made to watch. It may lead to user churn. Thus, it’s recommended to reward your users for watching ads to keep them motivated.
This monetization strategy implies offering a free trial period to allow users to test the app first. It helps see all the benefits of your offer and assess its functionality. Then you suggest several subscription options.
There are three main subscription models that differ by validity period: monthly, annual, and lifetime.
The subscription model also has non-renewing and auto-renewing subscription approaches.
Auto-renewing may seem beneficial in terms of simplified revenue predictions. But if a user forgets to cancel the subscription and gets charged, your product and brand will lose loyalty, get one-star reviews, and possibly the increased churn.
Disadvantages: You’ll always need to keep subscribers engaged and motivate them to prolong the subscription, carefully listen to their feedback and react in short terms with effective solutions.
4. In-app shop
You can use an in-app shop to sell virtual or physical goods.
Virtual products refer to coins, gems, extra lives or health, special items or equipment, characters or avatars, additional levels or playtime.
Physical goods include retail merchandise with the game logo, tickets to thematic events, and so on.
Best practices for setting your initial monetization strategy
- Research your competitors.
See how other apps in your target category charge for their content. Think it over if there are benefits of offering users other ways to pay.
- Study your audience.
Different segments of the audience are loyal to different payment methods. For example, if your users are more likely to pay for an ad-free, kid-friendly app, choose premium (paid) apps.
- Consider the target market.
When setting prices and choosing the monetization strategy in specific markets, consider local pricing patterns, pricing of competitive apps, and other market factors.
Also, it’s ok to experiment. Duolingo, for example, changed its monetization strategy gradually shifting from crowdsourcing to freemium model and in-app ads. In the end, the platform found the business model that is perfect for them and their users.
How Long Does It Take to Make an App Like Duolingo?
We have asked our developers with rich eLearning app development expertise to assess how much of their time it would take to build a custom solution like Duolingo.
The numbers that will come up below are very rough, but they should give you an idea.
For the sake of simplification, the estimations are made for an iOS platform. Android app development takes about the same time, give or take.
We can conditionally divide the app development into three stages:
- The kick-off of the project: architecture creation, SDK, and libraries integration
- Major functions development
- QA testing and debugging of an app
Stage 1: The kick-off of the project
Approximate time: 72 to 108 hours
This stage includes the following:
- Project creation. Splash screen, app icon, architecture (8-12 hours)
- Integration of network interaction (16-24 hours)
- API research and integration (40-56 hours)
- Main menu. App navigation realization (8-16 hours)
- UI implementation (40-56 hours)
At the completion of this stage, the app will be structured, designed, and ready for implementing the main functions (more on that in Stage 2 sections).
As you can see, it only takes a couple of work weeks to get the app to this stage of development.
Main functions implementation takes significantly more time.
Stage 2: Major functions development
Approximate time: 374 to 504 hours
There are plenty of aspects. That is why the minimal and the maximal estimations have a 130-hours-differential.
- Lessons/Exercises (Including multiple-choice exercises, speaking (voice recognition), listening exercises, learning paths, other types of training) - takes 102 to 144 production hours
- Gamification (internal currency, experience levels, series for consecutive days, motivation with the help of cheering from the mascot or different sounds etc., leaderboards, progress bars, shop for buying extra lessons) - takes 104 to 136 hours
- Duolingo-like clubs creation (40-50 hours)
- Push notifications (24-30 hours)
- Offline mode (8-10 hours)
- Feedback form (8-10 hours)
- Monetization (adSense integration, ads integration) (16-22 hours)
- Personal cabinet setup (40-52 hours)
Once again, those numbers are approximate. However, you can see the proportions of time-consuming operations.
Stage 3: testing and debugging
Approximate time: 125 to 165 hours
Software testing usually takes 25-30% from all development stages for each of the mobile platforms. An MVP will take approximately 100 hours.
In case you decide to develop a learning app for both mobile platforms (Android and iOS), it may result in at least 770 hours for an MVP and about 1 540 — 1 750 hours for the full version.
How Much Does It Cost to Build a Language App Like Duolingo?
What Affects the Cost of Elearning Development?
- The feature set and complexity. A simple eLearning course using the standard “video - quiz” format would be much cheaper than a game-based eLearning platform integrated with social networks.
- Supported platforms. An iOS-only app would be cheaper than the one which would run on both iOS and Android. However, there is a caveat: using hybrid development technologies (e.g. React Native or Xamarin) would dramatically lower costs for cross-platform apps.
- Cooperation model. Among the options, there are fixed-priced, time and material, or dedicated team models. The choice of the most suitable model depends on your understanding of the project, budget, and time limits. If the scope of your project is likely to change or you still consider which features to add, the best option is to hire dedicated developers.
- Developer expertise. Companies specializing in eLearning have organizational experience allowing them to be more cost-effective. Moreover, they might have pre-made code snippets for specific features, which helps their customers get more bang for their buck.
- Developer location. Dedicated developers based in Eastern Europe, for example, can afford to charge less for the same level of quality, as the average cost of living is lower in these countries. Moreover, some governments offer IT businesses preferential tax regimes, allowing them to decrease costs even further. See how our Israeli client managed to reduce testing and development costs by 40% thanks to cooperating with an offshore QA team and developers.
How to develop an educational app and save?
If we take into consideration the price-quality ratio, one of the most affordable rates is offered by IT specialists in Eastern Europe.
Of course, you can choose companies from the USA or West Europe, but be ready to pay 2-3 times more.
Here is the rough estimation of the cost to develop a language learning app like Duolingo for iOS and a website:
|Country||Rough Estimation for MVP ~1045—1375||Rough Estimation for full feature set ~1980—2450|
Eastern Europe (Poland)
$36 575—48 125
$69 300—88 200
Western Europe (Germany)
$67 925—89 375
$128 700—159 250
$83 600—110 000
$158 400—196 000
A lower or higher hourly rate doesn’t necessarily influence the quality of the development. People with a hard-working mentality and a great education. This region is famous for its World of Tanks, MSQRD, Maps.me, Viber, Apalon, PandaDoc. Developers from Eastern Europe are among the best in software development (1st in Google Hash Code 2018).
Let’s turn your idea into an engaging and user-friendly language learning app at an affordable cost! Our eLearning experts are here to help!