Leading product design and design strategy for a scalable Settings interface on Project Jupyter’s Notebook software.
What Changed
JupyterLab gained a settings interface to complement the existing settings.json file editing experience.
Outcomes
JupyterLab's new settings interface gives its users the interactive option they've come to expect from other IDEs. Additionally, the open source team at Project Jupyter now has a scalable settings UI for use by first-party and extension developers.
Why It's Featured
This case study covers my approach in leading a team of 2 junior designers through the creation of a Settings interface from the ground up.
My Role
Product Design Lead and Strategist
Collaborators
Product Managers, UX Researcher, Product Designers (Reports), and Open Source Engineers
Our capstone client, Project Jupyter, was looking to update the settings experience on their flagship dev environment software, JupyterLab. The existing experience required users to modify their own copy of a settings.json file which the team felt was complicated, inefficient, and created roadblocks for UX initiatives. They requested a visual settings interface that was intuitive, efficient, and extensible.
Given my experience as a Product Design Lead in corporate, our capstone team decided I’d lead design efforts with two team members as direct reports.
I began by authoring two documents to organize design team's work.
Project Design Strategy - a high level project agenda whose audience included design, research, product management, and faculty (for visibility reasons). It was a home for design preparation activities - ensuring the designers were set up for success from a technical standpoint (software and permissions) as well as from a knowledge standpoint (research, product, and client artifacts). It was also home for a detailed milestone roadmap that all stakeholders had participated in creating. Please feel free to review a PDF copy here ↗.
Interface Design Strategy - a companion document to Project Design strategy. This document’s primary audience was design team. It included product and feature visions, design principles, milestones, user stories, and most importantly, it acted as a living home to all design feedback as the project progressed. This is also available as a PDF copy here ↗.
I led the designers through design cycles including team meetings where I delegated user stories and responsibilities, provided design direction, and facilitated peer review. I also mentored the designers on advocating for and defending their design decisions, but I balanced this with guidance on how to constructively consider, process, and negotiate feedback.
Feedback happened in one of 3 ways:
Here's an example of written feedback:
Here's some peer/collaborative:
Over the course of the capstone, Hyeji and Jon nailed their first ever product design project taking it from sketches to wires to final design.
We presented to the broader team at the appropriate junctures. I’d kick off the meetings, but have each designer present their own work and handle questions from the team. I’d jump in only if I detected sufficient jitters or an opinion impasse. I’d capture all feedback and wrap each call with a summary of next steps for designers and stakeholders alike.
Outside of our team meetings, I acted as the design liaison to the extended open-source engineering team who had an ongoing discussion about the initiative on GitHub.
Once we reached at the final MVP, I led the designers through documentation and handoff preparation. This included integrating the existing design system and detailing new reusable components for the fields and controls. We handed off the fig file to Project Jupyter’s product manager and staff designer.
Our master’s program ended before the feature was prioritized for development, but was released in 2022 and is now fully available to all JupyterLab users. Additionally, extension developers are successfully integrating their own settings into the centralized settings UI!
Copyright © 2025