The table below shows the platform initiatives in our near-term roadmap. See the About the roadmap page for context on our workflow and funding model.
This roadmap is subject to change at any time
This roadmap is automatically synced from our Product team project board. It is constantly changing based on funding, priorities, and community needs. The goal of this site is to make our roadmap process more transparent, participatory, and useful to align interests of our collaborators and member communities.
Things towards the top are closer to action, more well-refined, and more likely to happen. Things towards the bottom are more experimental or vague and need refinement.
Last updated: 2025-12-12
How to use this roadmap
Label funding Legend: Co-funded initiatives are much more likely for us to work on sooner.
SOW-not funded: Has a scoped Statement of Work (SOW) but needs funding to start.
SOW-co funded: Fully funded by member communities; work is ready to begin/in progress.
Negotiating funding: Interest exists; details are being worked out.
Participation: We encourage our member communities to click issues and comment!
Discuss: Click any initiative title to view the GitHub issue and leave feedback.
Support: Click the π° Co-fund button to express interest in funding an item.
π In-Flight InitiativesΒΆ
| TITLE | SUMMARY | WORKPLAN | COFUND THIS | LABELS | REACTIONS |
| Improve nbgitpuller error handling | Replace technical error messages with human-readable feedback and provide an βescape hatchβ link to the Jupyter environment so that non-technical users like students arenβt stranded when nbgitpuller links fail. See the Statement of Work for details. We... More 6 sub-issuesπ’ (Part 2) Design and integrate dedicated error handler for invalid links β’ 1d ago | Contract Deliverable SOW - co-funded | |||
| Run an experimental mybinder.org federation member for BIDS | We have been sponsoring and running a mybinder.org federation member on hetzner for a while now, successfully. We want to offer this as a service to other organizations that desire to support mybinder.org, as many orgs may have the $$$ (which isnβt high) but not the infrastructural skillset to do... More 5 sub-issuesπ’ Add a mybinder.org federation member on OVH paid for by BIDS β’ 2d ago | external Contract Deliverable | |||
| BinderBot for Project Pythia | Improve the BinderHub infrastructure for remote execution of BinderHub deployments. The existing code is fragile, and does not integrate directly with tools like Jupyter Book or the MyST Document Engine for building rich narrative experiences from... More 3 sub-issuesπ£ Implement technical work for BinderBot for Project Pythia β’ 1d ago | Contract Deliverable SOW - co-funded | |||
| Rollout storage quotas to all AWS and GCP clusters | Deploy storage quota functionality uniformly across all AWS and GCP clusters/hubs so that hub administrators have consistent resource management capabilities to prevent users from consuming excessive storage. 5 sub-issuesπ’ [docs] Update team docs to match jupyterhub-home-nfs setup β’ 1d ago |
π Upcoming InitiativesΒΆ
| TITLE | SUMMARY | WORKPLAN | COFUND THIS | LABELS | REACTIONS |
| Compute usage quotas | We want to develop a quota system for compute resources so that hub administrators can allocate and limit CPU usage for individual users and groups, preventing cost overruns. See the Statement of Work that details the work to be done. 7 sub-issuesπ’ Roll out Compute Usage Quotas β’ 3d ago | Contract Deliverable SOW - co-funded | |||
| Canvas authentication | Large educational institutions like UToronto, the kinds of institutions likely to be in our Premier tier, use Canvas to manage their users. They are unlikely to ever want to switch to managing their users and groups in something like JupyterHub, but we still want to enable them to leverage their... More | Contract Deliverable SOW - co-funded | |||
| Improve nbgitpuller conflict resolution algorithm | We want to deliver on the SOW to improve nbgitpuller conflict resolution algorithm | Contract Deliverable SOW - co-funded | |||
| nbgitpuller for non-github sources | We want to Implement non-github sources in nbgitpuller as per this SoW | Contract Deliverable SOW - co-funded | |||
| Authenticated sources for nbgitpuller | We want to enable nbgitpuller to pull content from providers that require authentication. See the SOW for more details. | Contract Deliverable SOW - co-funded | |||
| Integrate JupyterBook2/MyST sites for BIDS Hubs | Deploy and operate JupyterBook 2 / MyST site infrastructure integrated with BIDS hubs so that BIDS/Berkeley teams can showcase interactive stories in a content gallery. See the BIDS Statement of Work for details. We should... More | Contract Deliverable | |||
| Explore NRP deployment | Validate 2i2c infrastructure on the National Research Platform, document feasibility findings, and publish a blog post on the experiment so that we understand deployment viability and can report results to BIDS. See the [BIDS Statement of... More | Contract Deliverable | |||
| Minimise UX disruption and provide monitoring and alerts when home directories approach limits | Now that π£ Make sure that *all* our hubs have a *reasonable* home directory quota set has been finished, more communities are covered by storage quotas, and weβre slowly seeing more requests filing in for control over particular users. Please refer to the [user stories... More 6 sub-issuesπ’ Allow user servers to start when users reach their quota, idependent of how the user image was built β’ 12h ago | ||||
| Provide per-component and total cloud cost reporting on GCP | The desired outcome for this initiative is to ensure that users on GCP will also get total and per-component (compute, disk, object storage, network, base) costs they can explore via Grafana. This would bring feature parity with what exists on AWS as of July 3, 2025. | Negotiating funding | |||
| Provide per-user and per-group cost reporting for hubs on GCP | Extend per-user and per-group cost monitoring to GCP hubs so that administrators have cloud-agnostic cost transparency. This builds on #6315, #6321, and... More | πΒ 1 | |||
| Real-time collaboration | Real-time collaboration is a commonly requested feature from our communities. We want to assess what solutions are out there in the ecosystem, and choose one to become the default for our hubs. We therefore need to: -... More | ||||
| Wrap up and roll out dynamic environment building and sharing | As hubs get a wider user base, different users need different environments to do their work. The same user may need multiple environments at different times too. Long term, we can not rely on admins to continuously update the small set of images available, and for users to have to keep up with... More 11 sub-issuesπ’ [Spike] Investigate showing contents of the repo used to build image after launch β’ 2mo ago | ||||
| Dask quotas | EarthScope has highlighted the issue of users being able to spin up an infinite number of Dask nodes, potentially skyrocketing their costs. As we have been working on a quota system for usage, we want to add a similar ability to allow admins to limit specific usersβ and/or user groupsβ ability to... More | ||||
| Shared folders with access control | Currently, we have a simplistic shared folder that admins of a JupyterHub can write to, and everyone else can only read from. This works for some subset of use cases, but not all. It would be very useful to have a way for users to create ad hoc shared folders that they can share with specific other... More | ||||
| Create "Allow List" system for public Binderhub service | In the Product and Services MVP 2.0, we explored the concept of a 2i2c-run public binderhub service in the vein of mybinder.org which would allow interactive content shared by 2i2c member... More | ||||
| Allow admins to define the list of images their users can select | We want to provide admins with an interface that will allow them to curate and define a list of images to make available to their hub users. Prior description at π’ Proto-goal: Allow hub admins to modify profileLists | ||||
| Provide an interface to assign quotas to users and groups | We want to provide hub administrators a way to self-manage resource quotas, within the limits set by 2i2c. To that end, we want to develop an extensible Web UI application that will allow admins to assign resource quotas to both individual users and groups of users, independent of where those... More | ||||
| Use conda-lock files for 2i2c maintained images | 2i2c encourages communities to follow best-practices established in our hub image template when communities need to customise their hub images. This repository is now quite old, and needs to be updated. Furthermore, repo2docker, the... More |