Inspiration

We’re inspired to create software that is useful not only to potential customers, but also to us. After moving to Spain, we were constantly searching for effective language-learning apps. Once we had progressed beyond simple vocabulary apps and started reading in Spanish, we realized that the existing options fell short in several ways.

That inspired us to build READLO — an app designed around what we wanted as learners, which we hope will also help others looking for the same experience.

What it does

READLO is a Spanish-language learning app built around bilingual reading and listening. Its catalog includes adapted books and original stories.

Learners can read graded stories from A1 to B2, listen to synchronized narration, and tap unfamiliar words for instant, context-aware translations. They can also mark words they are learning and see them highlighted whenever they appear again, helping them gradually expand their vocabulary through repeated exposure in context.

How we built it

READLO is content-first, so we began by focusing on the production pipeline. We eventually built a multi-step framework that combines high-performing cloud LLMs with local models.

Starting with a content plan, the pipeline can generate or adapt stories, create vocabulary data with lemmas, produce contextual translations and glosses for all six supported interface languages, and perform multiple automated review passes. It then generates narration with ElevenLabs, aligns every spoken word with the text using WhisperX, and packages everything into a versioned bundle that goes directly into our backend.

This approach allowed us to produce the first 50 titles in our launch catalog, with translations in six languages, while ensuring that we can expand both the catalog and language support in the future.

For the app itself, we chose to build natively for iOS using SwiftUI, so we would not have to compromise on performance or visual quality. We focused on ease of use, a responsive reader, and instant word-tap translations that keep learners in the reading flow without distractions.

Because our production pipeline pre-generates everything the reader needs, the app does not rely on runtime LLM calls or general-purpose translation APIs to provide instant, accurate, context-aware translations throughout the catalog.

Challenges we ran into

Content production relies heavily on LLMs, which means translation accuracy and consistency must be carefully controlled. To address this, our pipeline includes self-analysis stages that leave review data alongside every artifact. These checks cover areas where LLMs can struggle, including declension, gender, punctuation, and character names.

The pipeline performs additional QA passes, automatically fixes issues where possible, and flags anything unresolved for manual review. By combining deterministic checks with LLM-based evaluation — and using both cloud and local models — we can maintain consistent translation quality while keeping costs within reasonable limits.

ElevenLabs allowed us to create engaging, multi-voice narration by assigning appropriate voices to specific character roles. However, we also had to use FFmpeg and audio-analysis tools to detect and correct occasional audio artifacts, normalize speech speed and pauses between sentences, and stitch individual clips into a consistent narration track. Finally, we aligned that track with every word using millisecond-level timestamps.

Accomplishments that we’re proud of

We’re proud that READLO delivers what we envisioned from the beginning: bilingual reading with instant, context-aware translations and high-quality audio narration, supported by a production pipeline that lets us continuously expand the content library and add more languages.

One of our most valuable insights was using lemmas throughout both content production and the app itself. This allowed us to build a system in which words can be recognized across their different forms and reappear naturally in different stories. Learners encounter vocabulary repeatedly in meaningful contexts rather than only through isolated exercises.

What we learned

We learned a great deal about public-domain works, copyright, linguistics, and vocabulary-focused software features. We also had a great time building a complex, multi-stage pipeline that combines different tools, APIs, and both cloud and local LLMs.

Learning how to run these workflows overnight — or over even longer periods — gave us invaluable experience that will help us maintain and grow the content library while adding support for more languages.

Most importantly, we learned that keeping readers immersed in the content matters more than adding more features. Every extra tap, interruption, or screen transition can break their concentration.

What’s next for READLO

Next, we’ll focus on promoting the app through community building and paid advertising. We need a growing user base to provide invaluable feedback and generate enough revenue to keep the project sustainable. We’ll also continue expanding the content library, adding more personalization, and making vocabulary practice more adaptive.

Our goal is simple: to make READLO a place where learners can read more, understand more, and eventually walk into a bookstore and confidently buy a book in Spanish.

Built With

Share this project:

Updates

posted an update —

Greetings from the READLO team!

READLO is a language learning app designed to help people learn Spanish through bilingual reading, classic stories adapted to A1-B2 learning levels, audiobooks, and everyday dialogues.

Follow the audiobooks in your native language, tap unfamiliar words for instant translations, and build vocabulary naturally in context.

We’re truly excited to participate in the Shipaton, learn new things, and improve our skills.

Check out the READLO app: https://apps.apple.com/app/id6801470376

Log in or sign up for Devpost to join the conversation.

Submission history