There are vocabulary quizzes. Flash cards. Textbooks. Reading assignments. Essays. Speaking exercises. Yet, in the classroom, students rarely get the opportunity to engage in unscripted conversations in a language they want to learn.

Talking about topics that interest you, with real people, is a fun way to quickly pick up a new language. With Lingo, you can do this right within the comfort of Facebook Messenger — no new accounts or external websites are needed, and the conversation feels just as natural as one with a friend.

How it works

Lingo is a simple Messenger bot that pairs people who want to chat in a certain language. New users list languages in which they are fluent and languages they wish to learn. When a user starts a chat, they specify which language and whether they wish to speak with someone who is fluent or someone who is also learning the same language. Lingo pings users that fit the criteria, and once a user accepts, the conversation begins.

Challenges I ran into

I learned how to navigate the Facebook Messenger API and Messenger bot platform. Since Messenger bots respond to message events asynchronously and independently, it's difficult to make interaction with the bot context-dependent (e.g. Instead of having to respond "LEARN French, Spanish" to "What languages do you want to learn?", the user would just write "French, Spanish.") I had to figure out how to determine what state the user was in depending on the message sent.

What's next for Lingo

Lingo is in currently in its very basic stages! Right now, users can only have conversations with one person and in one language at a time — the ability to manage multiple conversations is definitely a useful feature to implement in the future. Also, Lingo could try to pair users based on topics of common interest, to make the conversation even more fun :)

Built With

Share this project: