LEXI

Practice conversations with verified native language speakers!

LEXI

Created At

ETHGlobal Buenos Aires

Winner of

World

World - Best Mini App Honorable Mention

Project Description

LEXI, or Language EXchange Interface, is a real-time language practice platform World Mini App that connects language learners with fluent speakers for live practice conversations. Learners select a language they want to practice, and join a queue. Fluent speakers also select a language they are fluent in and join a queue. The system matches learners with fluent speakers, and once matched prompts a conversation starter through World App’s chat feature. Currently, LEXI supports Spanish, English, French, Japanese, German, Portuguese, Italian, and Mandarin.

How it's Made

LEXI utilizes World’s MiniKit SDK for the frontend user experience. Specifically, the authorization, chat, and proof verification features are central to the core user flows of logging in and having conversations.

The backend’s primary role is to maintain queues for users and pool statistics for reviewing past chats, keeping streaks, and maintaining a leaderboard. We use Socket.io to execute real-time matching, along with, Redis to track queue states.

The most useful implementation in the queue logic was the use of Redis. We had to figure out how to ensure that if someone disconnected a session they would be properly evicted from the queue, and that a user’s session wouldn’t persist in the queue longer than the activity of their session. To solve this we have separate queues for each language and role. We also have a map of each user to the queue they're in that allows us to efficiently and correctly evict people in the queues.

background image mobile

Join the mailing list

Get the latest news and updates

LEXI | ETHGlobal