If you already teach a course, you have most of what an app needs: the lessons, the questions, the order they go in. What you may not have is that material in a shape software can read. The work that goes in before any screens are designed decides how smoothly the build goes, and how easy the app is to keep up to date afterwards.
We’ve done this for our own products. Finance Brain, a free financial literacy course app, began as an existing library of lessons. Here’s what we’d ask anyone to prepare first.
Treat the content as data, not documents
A course in slides, PDFs or a word processor is written for people. An app needs to know where a lesson starts and ends, which questions belong to it, which answer is correct, and which image goes where.
For Finance Brain, we didn’t re-enter the lessons by hand. We wrote an importer that turns a structured content library into courses, lessons and multiple-choice decks, images included. When the source is corrected, we import again. You can read how that fits the rest of the platform in one codebase, several products.
The importer only works because the content is consistent. So the first job is to agree on a structure and stick to it.
What an importer needs
The details depend on your material, but most courses need the same pieces:
- A clear hierarchy. Course, then lesson, then sections within a lesson. Decide whether you have modules or units in between, and keep that the same everywhere.
- Headings that mean something. Our lessons are Markdown, written with
##sections. That made it possible to show lessons one step at a time later without rewriting a word, because the steps were already there in the headings. - Questions in a fixed format. Each question needs its stem, its options, the correct answer and, ideally, an explanation. If some questions have explanations and others don’t, the app has to handle both.
- Images with a known home. Every image referenced from a lesson should exist, have a predictable file name, and come with alt text.
- Stable identifiers. If a lesson’s ID changes every time you edit its title, re-importing creates duplicates and loses learners’ progress. Give each lesson and question an ID that stays put.
- Metadata you’ll want to filter by. For exam prep, that might be the exam domain or difficulty. For our exam prep app, CertBrain, every item records its exam domain, task statement, difficulty and the source behind it. Adding fields like these is easy at the start and tedious across a finished course.
None of this needs special tools. A folder of consistently written Markdown files, or a well-kept spreadsheet, is often enough.
Decide where the content lives after launch
Once the app is live, someone will spot a typo. Decide now how it gets fixed:
- Edit the source and re-import. This is what we do. The source stays the single version of the truth, and corrections flow into the app.
- Edit inside the app. This needs an editing interface, which is more to build. On our course sites, admins can still use deck tools that ordinary learners don’t see, so the course team has a way to author cards without those tools becoming part of the product.
Mixing the two is where trouble starts: a fix made in the app gets overwritten by the next import.
Decide what the app is, and isn’t
A course app doesn’t need every feature a learning platform could have. Finance Brain shares its code with our flashcard app, Braineos, but switches off user-created decks, challenges, AI tools and ads, because a focused course site doesn’t need them. The Finance Brain case study covers how that’s done.
Questions worth answering before the build:
- Do learners need accounts? Accounts let progress follow someone from web to phone. They also mean sign-in, password resets and account deletion.
- Is any content paid? If so, decide which parts stay free, and whether locked lessons stay visible so people can see what they’d get.
- Web, mobile, or both? Finance Brain has a web app and an Android app, both reading the same courses.
- Can learners create anything? Notes, saved cards or their own decks each add something to build and something to moderate.
Write down your style rules
An app shows inconsistency more sharply than a document does. Decide how you write headings, how long a lesson should be, how many options a question has, and how you refer to things. These rules help whoever writes the next lesson, and they make the content far easier to import.
Start with one course
You don’t need the whole catalogue ready. One complete course, in its final structure, is enough to build and test the importer, see lessons on real screens, and find the gaps in the format. The rest of the catalogue then follows a format that’s already been tested.
If you’re weighing up turning a course into an app, our education apps page explains how we approach it, and we’re happy to look at your material and tell you what it would need.



