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
Clone this wiki locally