Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
<p>The aim of the project is to improve the usability aspect of TEAMMATES. In particular, tweak the UIs to prevent regular users being overwhelmed with advance features. Also, improve the availability and accuracy of user help. This includes goals such as improving usability of UI, providing context-specific help, improving user guide, reducing brittleness of documentation to name a few.</p>
Oppia's current Volunteer, Parent-Teacher and About pages currently lack the engagement and clarity needed to effectively convert visitors into users. This proposal aims to revamp the Volunteer, Parent-Teacher and About pages, focusing on creating informative and engaging content and design that aligns with the needs of our target audience as identified through initial user research
Learners are currently recognized for progress at the individual lesson (exploration) level, but there is no structured way to celebrate or assess their understanding across multiple lessons. This limits motivation and fails to capture long-term learning achievements. To address this, the project introduces multi-lesson assessments that evaluate a learner's mastery of a group of related skills. Learners will be able to take these assessments at any time to measure their overall progress. Upon completion, they will receive a passing score page that can be showcase their achievement, helping to boost motivation and engagement. This system also lays the foundation for future enhancements such as certificate generation. Deliverables: Milestone 1: Assessment Creation & Management (Lessons Team) Frontend interface for creating, editing, viewing, and deleting certificate assessment offerings Validation mechanisms to prevent invalid configurations (e.g., insufficient questions per skill, missing descriptions) User feedback system for successful or failed save actions Backend infrastructure to store and manage assessment offerings Milestone 2: Learner Assessment Experience Frontend interface for learners to discover, attempt, and view assessment results Display of assessment attempt history for learners Backend systems for generating assessments dynamically Storage and management of learner responses and assessment results
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.
<p>Why me?</p> <ul> <li>I already have multiple contributions to HubTurbo.</li> <li>I have experience building software alone and with others.</li> <li>Managed to maintain high academic achievement while also fulfilling previous 2 points.</li> </ul> <p>Purpose / Vision</p> <ul> <li>Improve general usability of HubTurbo.</li> <li>Make it easier for devs to account for usability.</li> </ul> <p>Feature categories</p> <ul> <li>Improving user's experience of finding features when needed.</li> <li>Improve user's experience learning about features.</li> <li>Improve user's experience using the feature.</li> <li>Track details of user experience for developer consideration.</li> </ul>
<p>The project aims to introduce Developer Options to oppia-android. There are many instances when a developer needs to make some database related changes. Doing this manually will take up lot of time and effort. Having such an option as this one will prove handy to perform these tasks without much effort and time. It allows the developers to have access to other debug related features such as viewing analytic event logs and forcing the network state of the app which will also prove useful. In short, this project aims to make the lives of developers in the Oppia team a bit easier.</p>
<p>This project aims to write frontend tests to fully cover each service, directive, and components in order to ensure that the quality of code throughout the codebase is maintained saving time for developers and providing a better, bug-free experience to the user.</p>
The aim of this project is to provide two enhancements to the exploration editor page (for creating lessons) for lesson creators: (a) Development of a new "Git-Blame" like feature allowing users to see and navigate through the history of changes to a specific state card of an exploration. (b) Modification in the existing "version-comparison feature" allowing users to see the changes in the metadata properties of an exploration such as title, category etc., while comparing two versions of an exploration. The proposal contains details of calculation of the data related to the history of changes with the help of a beam job. It also contains details about unit tests and end-to-end tests used for testing the correctness of the changes.
'Helping learners when they get stuck' aims to implement numerous improvements to make the core learner experience more adaptive, effective and engaging. This project ensures that no learner ever feels stuck and can progress even when external assistance might not be available.
<p>Proposal for "Creator Dashboard" project</p>
<p>This project will improve Oppias ability to support users with physical, visual, or hearing disabilities. It aims to fix any issue caught by audits and improve the accessibility of the site. For physically impaired users, it aims to implement new and more advanced keyboard navigation features based off of facebook's. To help the developer maintain this standard, this project will create automated tests to ensure that any future frontend changes will not lower Oppia’s accessibility score below an acceptable score.</p>
<p>The project requires to build an architecture for validating args of handler class. After building the architecture, some of the handler class in the codebase should be updated so that they abide with the new architecture.</p>
<p>In this proposal, 3 features will be proposed. All proposed feature are based on the needs for user to key in the panel filter faster and easier.</p> <p>The first proposed feature is to provide a dropdown list of possible filter expression based on the partially input expression. This feature will help the user to recall label spelling and enter the filter expression faster. The second proposed feature is to have an interactive tutorial for first-time user. The tutorial will guide the user step-by-step on various syntax on writing the filter expression. The last proposed feature is to allow user to create filter expression by using a GUI wizard. The wizard will allow drag and drop of labels to create filter expression for issues.</p>
The Platform Parameters Dashboard project aims to enhance Oppia Android's developer options by introducing a user interface for managing platform parameters and feature flags. This dashboard will enable developers to dynamically view, override, and reset parameter values, facilitating real-time feature flag toggling without modifying source code. The implementation includes persistent storage of overrides, force synchronization with the Oppia Web backend, and comprehensive unit testing to ensure reliability. This feature will significantly improve debugging capabilities and streamline testing of various app configurations.
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.
<p>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 to detect learner answers. The new interactions will solve all the issues that the current interaction has. They will also provide a more versatile rule-set to detect a variety of learner answers. This will allow the creators to provide relevant feedback for the different kinds of answers that a learner can give. With this project, I aim to make the math experience of learners and creators in Oppia as smooth and fruitful as possible.</p>
<p>A feature to the lesson player that allows students to explain how they arrived at a (wrong) answer. The aim of this feature is to encourage reflection on the student's part, as well as provide (anonymized) information to creators about student misconceptions, so that the creator can improve Oppia’s feedback for future students.</p>
<p>Adding new features to addressbook so that it can be more useful for CS2103T students morphing it for their own project.</p>
<p>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, and moving some of the functionalities to use GitHub actions.</p>
The Oppia development team is looking to enhance the quality of their software by implementing Acceptance Testing on the develop branch. The problem lies in ensuring that the application’s functionality aligns with user expectations and that bugs are detected and fixed before release. The solution is to automate tests for every PR, ensuring that key user journeys remain unbroken, thereby enhancing the reliability and user experience of the software. This project involves writing acceptance tests for all user stories and fixing any minor UI/UX issues that cause e2e test flakiness. The deliverables include a complete suite of acceptance tests that are easily auditable and maintainable, ensuring that critical user journeys can be tracked, and new tests can be added for new features in an organized manner.
<p>This project enhances current comments feature being used in the application, by implementing features :-1) Allowing student to submit their explanation on particular feedback response.2) Allow instructors to add comments from more places.3) Fixing other miscellaneous issues related to comments feature</p>
<p>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 support tablet designs yet. And this project meets this problem.<br> Supporting tablet interfaces for the Oppia android application will give the users a better experience.</p>
The Android build ecosystem includes a robust linting tool designed to detect Android-specific issues that general-purpose linters may overlook. Currently, Android Lint is not integrated into Oppia's Bazel-based build system. This project aims to bridge that gap by introducing a custom linting script that runs Android Lint independently of Gradle, with support for configurable exemptions via textproto files—ensuring alignment with Oppia’s existing scripting infrastructure. The project will proceed in two phases. The first will establish a foundational script that interfaces with Android Lint, handles exemption logic, and integrates with continuous integration workflows. The second will focus on resolving high-priority lint issues to improve overall code quality. The completed project will deliver a scalable and maintainable Android linting workflow tailored to the Bazel environment, enhancing code quality and developer productivity across the Oppia Android codebase.
The current app experience can be frustrating for learners who are redirected to earlier concepts for revision after making a mistake, as they must re-answer all intermediate questions to return to their original point. This proposal introduces a new Flashback feature that allows learners to view the correct answer or revisit previously solved question answer tied to their misconception and then return directly to the point where they became stuck—eliminating the need to reattempt intermediate steps. This reinforces foundational understanding while enabling a smoother, frustration-free learning journey. Additionally, this project improves the visual presentation of submitted answers for multiple choice and item selection interactions by replacing the current HTML-based approach with a cleaner, natively rendered experience.