Oppia is used for collaboratively building interactive and intelligent tutors.

Why Oppia?

Oppia’s aim is to provide personalized tutoring to every single person in the world, especially those whose educational needs are not currently being served well. The Oppia platform allows collaborative creation of interactive learning experiences that simulate a friendly, non-judgmental tutor.

Interactive learning

Oppia teaches content in small units called explorations. Learners (users who visit Oppia to learn something) explore a new topic through an exploration. Explorations can have multiple paths the learner may take depending on their answers (similar to video games). Different answers result in Oppia responding differently.

A user may repeatedly struggle on a certain question. Oppia can detect this and branch away from the current topic, so that learners may practice fundamentals before attempting that question again. Oppia aims to act like a tutor, an educational guide who can help learners practice topics and watch for any mistakes they might make. One of the most important roles of Oppia is to gently show learners where they went wrong and instruct them on a correct approach.

Community-driven lesson creation

The other half of Oppia is a community of creators (users who create explorations). Oppia offers tools for creating new explorations with the goal of allowing anyone to teach just about anything. Creating explorations is very much like creating a video game, and we face some similar challenges. Our exploration editor needs to help creators identify spots in their explorations where users are struggling, or facilitate the creation of targeted responses and branches for certain types of learner answers (such as addressing common misconceptions among learners). Work in this area also includes facilitating the community side of Oppia by encouraging collaborative lesson creation among all topic areas.

Come join us!

Oppia is a very exciting project to work on and we're really excited for more people to join us!

lightbulb_outline View ideas list


  • angular
  • python
  • css
  • kotlin
  • webpack


  • Web
  • education
  • web
  • interactive
  • tools
  • community
comment IRC Channel
email Mailing list
mail_outline Contact email

Oppia Foundation 2020 Projects

  • Rohit Katlaa
    Add SVG Editor to RTE
    Diagrams and figures aid in learning and understanding concepts better. Giving creators the ability to draw images for the lessons would allow...
  • Sarthak Agarwal
    Analytics Support
    The projects aims at incorporating Firebase Analytics and Crashlytics into Oppia's Android application to send usage data to a central location while...
  • Pulkit Aggarwal
    Android Interactions
    In this project i will be focusing on adding some more type of interactions which will result usage of android app along with them i will adding one...
  • Rishabh Singh Rawat
    Editor Page Redesigns
    The aim of this project is to redesign the topic, exploration, story and skill editor pages so they are more visually appealing and work better on...
  • Jim Zhan
    Ensure that Oppia is Fully Accessible
    This project will improve Oppias ability to support users with physical, visual, or hearing disabilities. It aims to fix any issue caught by audits...
  • Anshul Hudda
    Fix the linter and implement all lint checks
    The Oppia development workflow uses lint checks to help detect style errors before they reach the review phase. This project aims to refactor the...
  • Mariana Zangrossi
    Frontend testing of controllers and directives
    Increase unit tests coverage of AngularJS and Angular 2+ frontend controllers and directives to 100%.
  • Abhith Krishna
    Generating SVG images for math expressions
    This project aims to introduce SVG rendering for all LaTeX expressions in explorations, so that MathJax can be removed as a dependency from the...
  • James James
    Make Oppiabot More Useful
    Oppia uses a bot to interact with developers when issues and pull requests are made. This Project aims at improving the functionalities of the bot,...
  • Prayush Dawda
    Revamping Math Interactions
    This project aims to add three new math-based interactions. They will replace the current math interaction which is buggy and provides only one rule...
  • nishantwrp
    Solve all typescript and webpack issues in the codebase
    The aim of this project is to complete all remaining typescript and webpack tasks in order to ensure a smooth development workflow. In particular: ...
  • Mohamed Medhat
    Support tablet interfaces for Oppia android application
    A lot of parents tend to buy their kids tablet devices to help them learn new things through educational apps. Oppia is one of them, but it doesn't...