Start ups

Discover how Kafka in app design helped Memrise launch a new feature and gamify the user experience

With Kafka in app design, Memrise incorporated an agile, more resilient data architecture into its legacy backend system. See how the startup did it!

Discover how Kafka in app design helped Memrise launch a new feature and gamify the user experience

by Sion Smith | June 30, 2024

🚧 Project background: Meet Memrise, a London-based learning company on a mission to help people easily learn a new language

If you’ve ever felt addicted to moving up levels in a language app, you’re not alone. People who learn languages like when the tongue-twisting test of learning a language feels like a game, even when it’s a challenge. That’s where apps like Memrise come in.

Memrise is unique in that it focuses on useful, practical vocabulary and language skills to help users quickly communicate in a second language. Featured in the Financial Times, The Verge, Forbes, and the BBC, Memrise is also the language learning app of choice for 70 million learners around the globe. ‘I’ve tried many apps,’ one user wrote to the team, ‘but Memrise is one of the few that makes me genuinely happy with my progress.’ 

🟥 Project challenge: Memrise wanted to launch a new design feature but was held back by its legacy system

Although users loved the Memrise app, the startup’s engineering team wanted to introduce a gamification feature where learners could see their points calculated in real-time. The calculation feature would help Memrise learners accumulate points when they achieved levelling up tasks like watching a video, practising their language accent, or completing quick quizzes on the app. With the new feature, the team thought, the Memrise app would be more interactive and interesting.

When we met Memrise, however, the app’s platform logic and capabilities existed in a single, monolithic legacy system, which didn’t lend itself easily to launching a new feature. The Memrise team eventually wanted to shift to a more agile, serverless architecture, but they weren’t quite ready to make the full shift to Kafka. Launching a new feature would require a Kafka experiment.

Project solution: We introduced Memrise to Apache Kafka in app design to calculate user points and gamify the user experience

Memrise decided to work with our team to integrate Kafka into their existing app design and calculate user points without overhauling their entire system. Our Kafka expert, Tiago Palma, quickly worked with two Memrise team members to draft the feature’s requirements and determine how to integrate the Kafka component into Memrise’s existing system.

To start, we built the new Kafka component from scratch. Based on Memrise’s unique way of calculating points and assigning language levels, we also offered 24/7 Kafka in app design support—holding regular calls and exchanging daily Slack messages with the Memrise team.

Finally, we needed to help Memrise integrate its new app gamification feature with its existing Python interface. This integration required a few careful steps. We pushed user events from Memrise’s Python application to the new Kafka component, where the decoupled calculation would eventually take place. In this stage, Tiago provided valuable knowledge of KStreams, Kafka, and Java, while the Memrise engineers contributed their in-depth understanding of the app’s existing interface. Then we were ready to run the numbers!

🎉 Project results: Memrise piloted Kafka app design and can now roll out agile architecture at a larger scale

Our Kafka design linked the new points calculation feature to Memrise’s existing system. As you can see below, we allowed the Python application to access our final calculation by allowing it to query the component’s endpoints. This helped data flow smoothly between the two systems, a core part of what Memrise needed to offer a seamless user experience.

Thanks to the new feature, Memrise piloted its move away from a monolithic application towards a more event-driven architecture. With Kafka, in fact, the Memrise app now provides users with a responsive, gamified, and real-time language learning experience—one that includes the adrenaline rush of accumulating points. ‘This was a test,’ Tiago explained. ‘Now Memrise can shift to a more agile, resilient architecture.’ Success!

kafka in app design diagram

With Tiago’s support, the Memrise team had upskilled by introducing Kafka and Java into their tech stack, added a brand-new feature to their application, and experimented with Kafka in app design at a small scale. ‘In recent tests, the team was really happy with the performance,’ Tiago added. ‘Now they can upgrade the system as needed.’ 24/7 Kafka support had helped Memrise expand its vision and equip its app with agile features for the future.

🤝 Learn more: Check out our 24/7 Kafka support services

Hey there! We’re OSO, a leading provider of Apache Kafka consulting, development, and support services. Our team of Kafka experts helps organisations design, build, and operate scalable, reliable Kafka architectures, and we work with companies around the world. We’ve implemented Kafka solutions for public organisations, enterprise companies, and startups. We work with teams to easily integrate into their operations, from daily standups to messages via Slack.

If you’re curious about using our experts for your next Kafka project, we can arrange an intro call or provide more details based on the scope of your project. Drop us a note at enquiries@oso.sh.

Get started with emerging technologies today

Have a conversation with one of our experts to discover how we can work with you to adopt emerging technologies to keep your business growing.

Book a call