SDG4's reminder, courtesy of the United Nations, that one of the huge blockages to education around the world--particularly in low-income places and underdeveloped countries--is the lack of (trained) educators. Most of these learning environments have an enormously disproportionate amount of students to teachers. An accessible platform for teachers not only to practice teaching and improving upon/learning school subjects, but both students as well as teachers enjoying the process enough to continue practicing and retaining their skills, could ameliorate these disparities.

What it does

Our program has two different modes. When a user opens this Bots vs Buddies demo, a chatbot either presents a language challenge in a memory-style matching game, or in a put-in-order card game. For the memory game, the user matches English words to their Japanese equivalents. For every incorrect answer, the chatbot will speak aloud the prompt, and the user can post that "level" and any difficulties via InstantGames to their News Feed for help. For the put-in-order card game, users put English words and phrases into a natural conversation related to the subject's context. The user can share their success or quit if they run out of choices and similarly post for help.

How we built it

We used ReactJs to build the Instant Game, with RamdaJS, in a functional programming manner. For backend, we uploaded the Tatoeba language dataset ( to elaticsearch using nodejs based pipelines with RxJS. We then powered the Messenger Chatbot with Dialogflow and nodejs webhooks hosted on serverless google cloud functions. It interacts with users and react to the game state with updateAsync calls from instant game.

Challenges we ran into

A consistent problem in our process was this oft-repeated phrase: "I think that will take too much time/That may be out of scope/We once had 48 hours but not anymore," or other iterations of this ilk. While we successfully scoped down each time we had one of these realizations, it took some more time to communicate any issues in a way each of us could first understand and then offer a solution.

At another point, we realized we'd accidentally swapped roles and tasks and none of us had realized. This could have been a disaster, not just stressful, but after laughing in disbelief, it turned out that all those changed-up roles had still managed to complete all those tasks. It was a good sign that we all had the same understanding of our We solved any future problems by labeling ourselves with Post-Its with our assigned roles on them to prevent further confusions and documented our sheer problem-solving genius with several selfies.

On a more serious note, the limited database of English we had available within the timeframe meant we couldn't reach our aspired content goals.

Accomplishments that we're proud of

We're naturally proud of our final product, but an example of our healthy group dynamics was our agile development. When we first began planning, we did so on paper and index cards. This saved us a lot of time for several reasons. One, we were better able to communicate our ideas, because we could show rather than tell. Two, we didn't have to rewrite any code or even throw any of it away. And three, when we later scoped down to the meaningful core of our project without the initial embellishments we'd planned, we'd saved enough time and resources that we were able to get across our message despite that "lack" of embellished features.

Near the end of development, we had a stand-up meeting where we realized we hadn't quite finished one task or another as expected. We solved this confusion rapidly by taking our existing product (rather than changing anything drastic) and putting the mechanics and play into different thematic context. We then worked around this new concept using our same methods.

What we learned

Scoping down can still meet your experience goals if you're certain of those goals yourself. It helps your team coordination, your time management, and your efficiency by paying attention to the end goal and not the million paths you could take to get there.

What's next for Bots vs Buddies

Bots vs Buddies in its current form intends to foster a greater online and offline community of learners. In the future, it will include fostering a greater online community for learners who want to educate offline. The importance of decreasing the gap between the student-teacher ratio around the world by providing additional education for both students and prospective better-trained educators

First of all, this state system can be recycled for a much larger arsenal of subject matter. It would be relatively simple to expand upon our current language course and add more content to this subject and others (business preparation, trade education, STEM, humanities, etc), both in number and complexity. Another expectation and hope we have is that we could apply this system to other subjects, like ...All that would change would be the database the state systems draw from.

Secondly, InstantGames' sharing feature fosters a sense of community within Facebook groups and News Feed. Anyone who clicks a link one of their friends shares to their News Feed is taken directly to that level and experience it for themselves. This is important where SDG4 is concerned, because creating a tight community of invested students practicing skills independently and with others can expand well beyond the internet. Teaching students is one thing, but keeping any learner engaged is another. If we add more content to our current games and increase our offered experiences, Bots vs Buddies could reach a larger portion of its target audience of learners and extent to its secondary audience of educators.

In the end, our project's hope has always been to provide opportunities for the number of educators to grow: the more educators in the world, the more potential educators educated by them, means more students have the potential to be educated by educators who are educated.

Built With

Share this project: