Fetching the latest programs, projects, and workspace data.

Free platform for interactive, tutor-like lessons
Explore maintainer wishlists.
Showing 5 of 83 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Sandesh Raj
Oppia Android's release process currently relies on a 17-page manual document that release coordinators follow step-by-step, covering everything from cutting branches and building binaries to signing, deploying to Play Console, and writing changelogs. This is slow, error-prone, and has caused QA testers to miss builds due to Play Store sync issues. This project replaces that manual process with six GitHub Actions workflows backed by Kotlin scripts that handle building, Cloud KMS signing, Play Console deployment, Firebase App Distribution for QA, LLM-powered changelog generation, and automated weekly alpha releases. All scripts are designed with interface-based abstractions (CloudSigner, PlayConsoleClient, VertexAiClient, GitHubClient) so they can be thoroughly unit-tested with fakes, requiring no real GCP credentials in tests. Security is handled through Workload Identity Federation (keyless auth) and Cloud KMS HSM-backed signing, ensuring the private key never leaves Google's hardware. Deliverables: 6 new Kotlin scripts with full test coverage, 6 GitHub Actions workflows, updated wiki documentation (playbook + manual fallback reference), and an end-to-end demo of the complete release cycle running through CI.
Mentors: Student: Neer Aryan Bhatta
The Oppia Android app is missing three features that the web platform already has. Learners have no idea how far they are in a lesson, revision cards are a flat wall of text with no structure, and worked examples in concept cards are completely invisible. This project adds all three. First, a checkpoint based lesson progress indicator that uses the is_checkpoint state property to show learners their progress as X of N through an exploration, with correct behavior during backward navigation, flashbacks, and checkpoint restoring. Second, structured study guides that replace the flat revision card with a sectioned RecyclerView showing headings and content blocks. Third, a worked example tag handler that parses nested HTML inside oppia-noninteractive-workedexample tags and renders inline Question and Answer blocks using styled spannables. All three features are independently gated behind feature flags and built on top of existing infrastructure.
Mentors: Student: Mohak Gautam
This project aims to improve Oppia’s acceptance test infrastructure by migrating existing tests from Puppeteer to Playwright to enhance stability, maintainability, and developer experience. The migration will be performed incrementally with dual-framework support to ensure CI stability. In addition, the project will address test flakiness by identifying and fixing persistent flaky tests, improving debugging workflows, and enhancing snapshot handling. The project also includes adding safeguards such as lint checks to prevent conflicts in shared utilities during migration. The expected outcome is a robust, maintainable, and reliable acceptance testing system with reduced flakiness and improved developer productivity
Mentors: Student: Rohan Unbeg
Currently, Oppia translates non-user-generated content via translatewiki and some user-generated content via the contributor dashboard. This project aims to extend the contributor dashboard's infrastructure to support translating exploration metadata (titles, tags) and skill (concept card) content. The solution involves building a highly extensible backend translation framework to display translation opportunities, surface reviewable suggestions, and display accepted translations to learners. Deliverables include migrating existing translation support to this new modular infrastructure (Milestone 1) and adding full support for metadata and skill content while removing legacy code (Milestone 2).
Mentors: Student: NITISH KUMAR
Currently, Oppia’s feedback system is disjointed. Users can only submit lesson-specific feedback through the lesson player, which does not allow for screenshots or session logs. This makes it hard for users to report issues on the platform and for developers to fix problems based on that feedback. This project aims to create a feedback system that everyone can access. Users will be able to submit both platform-level and lesson-specific feedback from any page. The system will allow for optional screenshots and capture light session logs. All feedback will be stored in one place and can be reviewed easily through an admin interface. The existing creator feedback tab and the feedback-updates page will also be redesigned to work with the new system.