How We Built Edumo's First Beta for Mobile Language Teaching
After testing our prototype with language teachers and schools, we designed Edumo's first beta around two goals: giving learners a Duolingo-inspired, mobile-first experience with microlearning content, and giving teachers a simpler alternative to traditional LMS platforms. Here's how we approached navigation, learning path structure, content creation, and the homework experience, and what we deliberately left for later.
|
What this post covers
|
What Were Our Goals for Edumo's Beta?
We set two primary goals: create a Duolingo-like mobile experience with microlearning content for learners, and build a simpler, benefit-driven alternative to traditional LMS platforms for teachers.
For learners, that meant gamification and nudging to help them stay consistent, and making it practical to practice in short sessions rather than saving everything for one sitting. We have written before about learners' challenges with homework, and this was a direct attempt to address them.
For teachers, it meant gathering essential tools in one service and adding real benefits. We didn't want to be another flash card service where the teacher always has to add all the content. We wanted to help create or source exercises through automation, AI, and sharing, so teachers can specify and review rather than start from scratch.
Underpinning both was a need for simplicity and mobile usability. We explored this in detail in our post on why language teachers struggle with LMS platforms. In our interviews, teachers mostly used laptops to create and distribute material, while learners reached for their phones, unless the LMS didn't work on mobile, in which case they avoided it altogether.
Why Did We Choose a Single App for Teachers and Learners?
We chose a single cross-platform app built with Flutter, because teachers need to preview what learners see, and both audiences benefit from mobile access, even if many teachers prefer laptops for content creation.
The main reason was that teachers need to see materials the way learners experience them, so most of the learner functionality needs to be present in the teacher view too. We also wanted teachers to be able to make quick changes from their phone without having to reach for a laptop, even if a larger screen is better for heavier content creation. A single app does introduce some UX challenges, but combining both audiences in one codebase was the right tradeoff.
For development we chose Flutter, a cross-platform framework that lets us build iPhone, Android, and web applications from the same code. This can create tension between mobile and web design patterns, but since most functionality is shared across both, it was better to face those challenges directly than maintain separate codebases.
How Does the Mobile Navigation Work?
On mobile, learners see a bottom navigation bar centered on their current course, while teachers access broader course management through a drawer menu, a pattern that keeps the learner experience focused while giving teachers the "file explorer" view they need.
For learners, we followed a similar approach as Duolingo. Navigation centered on the current course, with a selector at the top to switch if they have more than one. Keeping navigation focused on a single course reduces distractions and unnecessary choices on a small screen.
For teachers, the challenge is different. They need to operate at a level above the individual course, creating new courses, archiving old ones, copying a course to run again next semester. Trying to do all of that from inside a single course felt like having no file explorer on a computer: always inside a document, with only a button to open a new one.
We ran into a specific technical constraint here. On mobile, it is a common pattern to have a bottom navigation bar, which we had used in our designs. But it is an anti-pattern to change the bottom navigation bar between different views. That meant the broader teacher views couldn't live in the bottom nav without violating this convention. We resolved this by putting the outer navigation in a drawer, accessible via a profile icon, with those views appearing as modals where the bottom nav is hidden and the only option is to go back.
![]() |
![]() |
![]() |
The three screenshots above show three mobile views with a focus on navigation. The first shows the regular in-course view with a bottom navigation bar and course selector at the top. The drawer in the second screenshot shows the outer navigation options. The third shows an outer view, where the bottom navigation has disappeared and the only option is to navigate back.
On larger screens we moved navigation to a left side menu, showing both the course-level and outer navigation together. This means the experience shifts slightly between screen sizes — but that maps naturally to how each audience uses the product, since teachers typically work on larger screens and learners on phones.
How Are Learning Paths Structured in Edumo?
Edumo organizes content into Learning Paths (courses), which contain Segments (chapters) and Steps (5-10 minute sessions), allowing teachers to share anything from a single exercise to a full structured course.
For the beta, teachers land on a Drafts view, showing content they're working on but haven't shared yet. Two other outer views sit alongside it: Active for courses shared with learners, and Archived for material no longer in use but worth keeping for later. A proper home screen with upcoming courses, recent activity, and onboarding help is something we plan to develop further.
We want teachers to be able to start small. For teachers with individual learners rather than classes, we hope they'll create one Learning Path per learner and add material over time. This gives the learner the experience of opening the app and picking up where they left off. Others may prefer to create individual materials and share them without a surrounding course structure.
A Learning Path can contain a single exercise or scale up to a full course with multiple Segments and Steps. Rather than using different terms depending on how much content is distributed, everything is a Learning Path. Teachers can package as much or as little as they like.
In the outer views, all paths are shown together without distinction. We hope to learn from early beta testers whether that's intuitive or makes it harder to find things. As the terminology may be new, we provide a start view with enough guidance to choose between building with segments and steps or going straight to creating materials.
![]() |
![]() |
![]() |
One thing we haven't fully solved is letting teachers dive into materials without naming a path first. The path will be called Untitled until they do. We're considering using generative AI to suggest a name from the content, but want to understand the severity of the problem before building it.
How Do Teachers Create and Manage Learning Materials?
For the beta, we launched with multiple-choice exercises and focused on getting a testable product out — deliberately deferring AI-assisted content generation and bulk editing to learn what teachers need most.
The ideal was drag-to-reorder content, bulk operations across multiple materials, and quick rearranging of segments and steps. We ran into challenges here and prioritized shipping something testable. It can be that something we haven't anticipated is a more pressing issue, and early testing will tell us.
For the beta we built a simple multiple-choice exercise type that teachers can fill in directly. More content types like text, video and other exercise formats are coming, and we plan to add them while beta testers are surfacing other issues to address.
AI-assisted content generation was always a central goal, and one we would have loved to include. It's what makes Edumo something more than a place to store exercises. It helps teachers specify and review rather than create everything from scratch. We explore this further in our post on how AI can empower freelance language teachers. The decision was to ship and start learning, and continue building in parallel.
How Does the Learner Homework Experience Work?
Learners see a visual learning path they can open instantly on their phone, tap the next highlighted step, and complete a 5-10 minute practice session. It's designed to replace the navigation heavy homework workflow that causes most learners to batch everything into one sitting.
For the beta we built the visible learning path and the ability to add content as short bite-sized sessions. Gamification like points, streaks, and similar features was not yet in place. From talking to teachers, the exact same gamification model as Duolingo may not be desirable anyway, so we'll iterate based on what we learn.
The emphasis on speed was deliberate. Every language course participant we interviewed said they do all their homework in one sitting, because getting set up (textbooks, LMS login, finding the right email with the exercise link) took long enough that 5-10 minutes at a time felt pointless. Teachers frequently encourage daily practice and immersion, but the homework workflow made that practically impossible. The app is designed so a learner can open it and get started without any setup.
![]() |
![]() |
![]() |
As you may notice, the design resembles Duolingo, though in our own colors. One difference is that the class bars (segments) advance with time whether or not the learner has completed their homework. Our current thinking is to color the bar representing the next class on the day it happens, while only coloring the step circles once they've been completed.
We are thinking to only allow the learner to do the next homework session (step) and past homework. In essence the learner cannot skip ahead or is at least not encouraged to. This is to avoid learners asking questions before the class gets to the topics. If a learner has finished all the steps in one segment, but it has not become time for the next class, we also consider not allowing the learner to progress to the next segment. Instead, we will create a new repetition step, which repeats some of the previous material in a smart way. The "smart" way will ensure to include material the learner has struggled with getting right, but perhaps softened with some materials that the learner has gotten right before. The repetition may include recent material, but also have spaced repetition of material from previous segments. This help the teacher by stretching the material created to last longer, but also the learner to actually perform this kind of repetition that is important for language acquisition as well as retaining things learned in earlier lessons.
What Comes After the Beta Launch?
We're continuing development while recruiting beta testers, prioritizing features based on teacher feedback rather than our own assumptions about what's most important.
That means wrapping up parts we deferred and getting Edumo into the hands of real teachers, either in test scenarios or actual classes. We want feedback on what to implement next and ideas for how to address the open questions we still have.
Once we've addressed the features most critical for usable beta testing, we'll open it up to more teachers. It will still be an early version for people willing to use something that's missing features and not fully polished, but one worth testing.
If that sounds like you and you want to help then contact us on one of our social media profiles below or sign up to our news mail and reply to me there.








