Skip to main content

Suggested Coding Projects For 2023

OpenBeta is a free rock climbing route database.

Whether you're a coding bootcamp student, a Google Summer of Code participant, or a seasoned developer looking for a fun project to contribute to open source, you've come to the right place.

What is Google Summer of Code?

The list is merely a suggestion. If you have your own ideas please discuss them on the OpenBeta Discord chat server.

  • FA Data Cleanup
  • FA Name Verification Tool
  • Climbing Area Tree Visualizer
  • Topo Sketch Tool
  • OpenStreetMap Cliff Import

Scroll down below to learn more about each project.


FA Data Cleanup​

  • Skills required: Python
  • Mentor: Viet Nguyen
  • Expected Size: 175h
  • Level of Difficulty: Medium
  • Expected Outcome: A new dataset in which each record contains a list of names and date/year associated with a climb ID. When encountered parsing errors or missing information, set the error attribute to true.
  • What you will learn: Apply Python and possibly machine learning libraries to clean up data. You will also learn how to work collaboratively with other developers and stakeholders to solve a real world problem.

First ascensionists (FA) played a vital role in the development of rock climbing. Unfortunately records of notable first ascents and modern rock climbing development are scattered in printed guidebooks (some are out-of-print), or on defunct websites.

This project involves processing and cleaning up the FA text field in a JSON dataset with approximately 205K records of climbing routes established in the USA. The text field contains a CSV list of individual names and the year they established the climb.

There are several exceptions and inconsistencies in the CSV format. For example, the commas are not always used to separate names (the word 'and' is used instead). Additionally the spelling of names are not always consistent. Ex: J Doe and Jane Doe are in fact referring to the same individual. See more examples.

The successful contributor will need to have an intermediate level of Python as well as an understanding of data cleansing.


FA Name Verification Tool​

  • Skills required: Javascript
  • Mentor: Viet Nguyen
  • Expected Size: 175h or 350h
  • Level of Difficulty: Medium
  • Expected Outcome: A new web tool added to our frontend app to enable users to add missing FA names or fix erroneous entries flagged by the the FA Data Cleanup project.
  • What you will learn: How to build a modern UI tool in React to help users add/edit data coming from a database. You will also learn how to work collaboratively with other developers to solve a real world problem.

See FA Data Cleanup project above for context.

This project involves creating a web tool to enable openbeta.io users to browse the list of climbing routes with First Ascensionists data flagged for manual verification. A user can provide missing names or make corrections and save changes. The tool should be an integral part of our frontend NextJS application.

The successful contributor will need to have an intermediate level of React, CSS, and GraphQL. If you have full stack experience, we can extend the project to 350 hours to give you the opportunity to work on building both the backend API and frontend UI.

Climbing Area Tree Visualizer​

  • Skills required: Javascript
  • Mentor: Viet Nguyen
  • Expected Size: 175h or 350h
  • Level of Difficulty: Medium
  • Expected Outcome: A new page added to our frontend app to enable users to explore a climbing area hierarchy in a tree-like structure.
  • What you will learn: How to build a modern UI tool in React to help users explore nested data structures. You will also learn how to work collaboratively with other developers to solve a real world problem.

This project invovles creating a visualizer tool based on React D3 Tree framework or equivalent. The data structure representing rock climbing areas has a 1-to-many relationship. At the root level we have countries. Each country has one or more regions. Each region has one or more areas, etc. A tree-like visualization will make it easer for users to navigate this data structure.

The successful contributor will need to have an intermediate level of React, CSS, and GraphQL. We can extend this project to 350h to give you the opportunity to add additional filters to customize data used to generate the tree.

Topo Sketch Tool​

OpenStreetMap Cliff Import​

  • Skills required: Javascript
  • Mentor: TBA
  • Expected Size: 175h
  • Level of Difficulty: Medium
  • Expected Outcome: