Software Development of GeoJupyter, JupyterGIS, & friends: Enabling more people to confidently engage with geospatial data
Fernando Perez, Professor
Schmidt Center for Data Science and Environment
Applications for Spring 2026 are closed for this project.
GeoJupyter is an open community which aims to enable more people to confidently engage with geospatial data through open source tools. Our flagship project is JupyterGIS, a Geospatial Information System (GIS) environment native to the browser and implemented as a JupyterLab extension. Other ongoing efforts include: a Jupyter extension enabling dynamic tiling and visualization of Xarray datasets in a Jupyter environment, new tools for building rich “scrollytelling” experiences with geospatial data, and efforts to improve the accessibility of “brushed” or “linked” visualizations with geospatial data.
Candidates will contribute to one or more projects in the GeoJupyter community by writing TypeScript and Python code, collaborating with experienced developers, and authoring Pull Requests on GitHub! Candidates will have the opportunity and support to take a maintainer role and become an open source community leader.
Role: Candidates selected for this work will identify and contribute to areas of our open source ecosystem based on their interest and skills.
Areas that need work include but are not limited to: Generic support for browsing STAC catalogs in JupyterGIS; prototyping and evolving a Jupyter extension to dynamically visualize Xarray datasets; prototyping and evolving a Jupyter extension that explores methods for making interactions in a visual environment reproducible; and fixing bugs, adding features, and improving user experience for any GeoJupyter project.
Candidates will grow technical and collaboration skills including pair programming, collaborative design, JupyterLab extension development, and open source software contribution and maintenance. This is not an opportunity to learn basic programming skills!
Qualifications: A code sample (a link to a GitHub Pull Request, GitHub Gist, or another location where we can view your code). JavaScript/TypeScript development experience. Python development experience. Interest and/or experience with developing open source software. Interest and passion for working with geospatial data. Willingness and commitment to collaboration – you will be required to pair/group program, ask for help, collaboratively brainstorm, and participate in code review as part of this internship. A user-centered mindset – ready and willing to make software that not only works, but is pleasant and intuitive to use.
Day-to-day supervisor for this project: Matt Fisher, Staff Researcher
Hours: 6-8 hrs
Related website: https://geojupyter.org
Related website: https://github.com/geojupyter/