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.

🚧 Project Background: Meet Memrise  

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: Legacy systems made it difficult to add new features to the Memrise app

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: Kafka in app design 

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 from OSO, 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.

🎉 Project Results: Agile architecture for the future

Our Kafka design linked the new points calculation feature to Memrise’s existing system. As the diagram below shows, 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, the Memrise app now provides users with a responsive, gamified, and real-time language learning experience: one that taps into the rush of adrenaline users get from accumulating points. ‘This was a test,’ Tiago explained. ‘Now Memrise can shift to a more agile, resilient architecture.’ Success!

Memrise Kafka Architecture

🤝 Learn More: Check out our 24/7 Kafka support

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’ve implemented Kafka solutions for companies around the world. 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 Apache Kafka in your app today

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

Book a call