Skip to content

Project Ideas List (GSoC 2025)

kit edited this page Feb 10, 2025 · 21 revisions

About the Processing Foundation

Our mission at the Processing Foundation is to promote software learning within the arts, artistic learning within technology-related fields, and to celebrate the diverse communities that make these fields vibrant, liberatory, and innovative. Our goal is to support people of all backgrounds in learning how to program and make creative work with code, especially those who might not otherwise have access to tools and resources. We also believe that some of the most radical futures and innovative technologies are being built by communities that have been pushed to the margins by dominant tech.

To learn more about the Processing Foundation, see our official website at processingfoundation.org.

What makes a good proposal?

For all of our projects, it's incredibly important that things are kept as simple and user-friendly as possible. We aim to make our work accessible to everyone, especially those new to coding. Therefore, we focus on making everyday tasks easier for as many people as possible more than on adding shiny new features for experts. Keep these values in mind when writing your proposal and you'll greatly increase your chances to get selected by the Processing Foundation for the GSoC program.

For more information about GSoC and instructions on how to apply, please see our 📄README.

Project ideas

This section contains a list of ideas and how you can help contribute to the Processing Foundation's work on Processing, p5.js, and p5.js Editor. Each project has both a potential technical outcome, and a significant possible community impact - we are excited to hear your creative approaches to any of these timely technical challenges!

Friendly Sketch Embedder for p5.js

Create a user-friendly tool that guides a p5.js user of any level to help showcase their work in their own websites. Anyone can make a sketch with p5.js - as interactive art, as teaching material, as data visualization, as game, as diary, and as anything else they can imagine! A p5.js sketch is a canvas element that can be included in any website, and existing tutorials help to do this. How can embedding a sketch be streamlined, and support all the different kinds of use-cases and customizations? For example, a teacher may want to include code snippets; an artist may want to arrange multiple sketches next to one another.

  • Expected outcomes: A possible technical outcome could be a standalone interactive webpage with user-friendly settings that helps visitors to generate sketch embed code depending on their needs. The community impact can be very wide, making it easier for users to take their work beyond a classroom or a tutorial and into their own interactive online space.
  • Skills: Some familiarity of JavaScript is needed, but this could be a good project to sharpen your skills!
  • Possible mentor: Dora Do
  • Size and Rating: 90H, Easy/Medium

User-Friendly Features in the p5.js Editor

The p5.js Editor has thousands of users, and 15% of them use the current autocomplete feature - try it out by turning it on in the settings! How can this feature be improved or expanded to make writing code in the p5.js Editor even friendlier? For example, the behavior of the current hinter can be improved, by providing help not only during typing, but also when hovering over parts of the code. For a longer/larger project, you can instead propose a custom context menu for the p5.js Editor: when a user right-clicks, what would be helpful for them to see and do? Alternatively, we welcome proposals that focus on improving the accessibility of the autocomplete hinter, such as for screenreader users.

  • Expected outcomes: A possible technical outcome could be a pull request or a release in the p5.js-web-editor project that updates the autocomplete widget, or adds a custom context menu widget. The community impact will be among those who use the p5.js Editor, which gets around 200,000 views weekly!
  • Skills: Some experience with JavaScript required. Familiarity with digital accessibility (a11y); TypeScript; and/or documentation.js/JSDoc can be a plus.
  • Possible mentor: Diya Solanki
  • Size and Rating: 90H-175H, Medium

Smoother Contribution Accessibility in the p5.js Editor

Accessibility is very important for the p5.js Editor, but contributors sometimes face challenges testing and implementing accessibility feature. This project starts with ARIA-roles to the File Manager, Project List View, or User Account Settings. Based on the challenges encountered by the contributor, they can then explore ways to make accessibility testing more approachable for future contributors by creating a proof-of-concept tool in the following areas: seamless integration of manual testing, increasing understanding of UX for screen reader users, or strategies for ARIA internationalization. We have found that automated accessibility testing tools alone are not thorough enough, but accessibility testing (both manual and automated) is needed for every feature addition. Weekly, there are 200,000 views of the p5.js Editor from different browsers, from tablets and mobile devices, using screen readers, and from different world regions.

  • Expected outcomes: A possible technical outcome could be one or more pull requests in the p5.js-web-editor repository that implements editor accessibility improvements. This project idea focuses on improving developer tooling, so the community impact extends to both users of the p5.js Editor, and to its contributors.
  • Skills: Some familiarity of JavaScript is needed, but this could be a good project to sharpen your skills!
  • Possible Mentor: Tristan Espinoza
  • Size and Rating: 90H, Easy/Medium
Clone this wiki locally