# Guidance on Building a Custom Flutter UI for JupyterHub and JupyterLab Integration

**URL:** <https://discourse.jupyter.org/t/guidance-on-building-a-custom-flutter-ui-for-jupyterhub-and-jupyterlab-integration/31639>\
**Category:** JupyterLab\
**Tags:** jupyterlab, how-to\
**Created:** [January 11, 2025, 10:32pm UTC](https://discourse.jupyter.org/t/guidance-on-building-a-custom-flutter-ui-for-jupyterhub-and-jupyterlab-integration/31639 "2025-01-11T22:32:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ForeverAngry](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/foreverangry/32/16772_2.png) [@ForeverAngry](https://discourse.jupyter.org/u/ForeverAngry)\
**Post date:** [January 11, 2025, 10:32pm UTC](https://discourse.jupyter.org/t/guidance-on-building-a-custom-flutter-ui-for-jupyterhub-and-jupyterlab-integration/31639/1 "2025-01-11T22:32:48Z")

</div>

Hello everyone,

I’ve been using JupyterHub to spawn individual JupyterLab instances for a while now. However, I want to replace the standard JupyterLab UI with a custom-built UI using the Flutter framework (Dart). Here’s my plan:

1. Use JupyterHub’s REST API to spawn and manage JupyterLab instances.
2. Build a Flutter web app as the primary UI, which would essentially replicate the core functionality of JupyterLab notebooks (e.g., creating, editing, and running notebooks or code cells).

I came across the Jupyter Client and wondered if it’s the right package for this purpose, or if there are other APIs/packages in the Jupyter ecosystem I should consider to facilitate this integration?

Some key questions I have:

- What packages or APIs would you recommend to interact with JupyterHub and individual JupyterLab instances effectively? Is there another approach that would be better?
- Are there any best practices or examples for replacing the JupyterLab UI with a custom frontend?
- Would it be feasible to have JupyterHub directly spawn the Flutter web app, or is there a better approach to link the two?

Any guidance, examples, or resources would be greatly appreciated. Thank you in advance!
