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-10
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 this button to express interest in funding an item.
π In-Flight InitiativesΒΆ
| TITLE | SUMMARY | COFUND | LABELS | REACTIONS |
| 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π’ Support community migration work for BinderBot for Project Pythia β’ 6d 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 β’ 15h ago | |||
| 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 5 sub-issuesπ£ Redesign nbgitpuller error handling response for link-consumers β’ 13h ago | Contract Deliverable SOW - co-funded |
π Upcoming InitiativesΒΆ
| TITLE | SUMMARY | COFUND | 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 β’ 1d ago | 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 | ||
| Improve nbgitpuller conflict resolution algorithm | We want to deliver on the SOW to improve nbgitpuller conflict resolution algorithm | Contract Deliverable SOW - co-funded | ||
| 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 β’ 15h 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 | ||
| 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 | ||
| 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 | |||
| 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 everage their... More | SOW - not funded | ||
| Dask quotas | EarthScope has highlighted the issue of users being able to spin up an infinite number of Dask nodes, potentially skyrocketing their costs. This issue is also relevant for the P&S MVP 2.0, as Premier customers will want control against Dask cost overruns. As we have been working on a quota system... 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 |