InfraBrix
2023–2026
What if data scientists could launch their tools in one click?

Problem area
One workflow, five tools set up one by one
To see what a data scientist actually goes through, we rebuilt a real workflow in-house, with our own specialists standing in: a model of how heatwaves affect hospital admissions, chosen in a workshop I prepared and framed. Our junior DevOps engineer assembled its pipeline, then walked me through every point where it had been harder than it should have been.
The workflow before the platform

Opportunity 1
KNIME ran outside the containers, on an older Python.
Launch every tool in one step, at a version the platform supports.
Opportunity 2
One storage setting was configured by hand for NiFi, Superset and CloudBeaver.
Connect instances once, inside a project, so no setting is configured twice.
Design decision 01 · Launch
Launch in one click, configure later
The earlier launch form asked for everything up front, including settings such as persistence. Someone launching a tool rarely knows those answers yet, and shouldn’t have to. The new form keeps three fields, a name, a version and a compute size, and pre-fills all of them, with the rate shown before launch. Accepting the defaults makes a launch one click.
The settings didn’t disappear. They moved to the instance page, and that split follows two people. Léa, a junior data scientist, needs to get started. Karim, a senior ML engineer, needs to change what the platform decided. I designed each default, and the CTO confirmed it could be built.
The 2026 prototype, then the May 2025 wireframe: the settings moved to the instance page.
Design decision 02 · Instances
Show the wait, don’t hide it
Once launched, an instance takes 30 to 90 seconds to be ready, by the CTO’s estimate. In that time the interface checks the backend every 5 to 10 seconds, and the badge changes only when the backend confirms the instance is ready.
The instance table doesn’t show more than that. Its status badge has four values, Starting, Operational, Stopped and Error, so a long list stays easy to scan. The detail goes where the person who launched is looking: a notification follows the launch until the instance is ready, then offers to open it or add it to a project.

Four statuses in the table; behind Starting, the steps the backend reports.
Design decision 03 · Projects
Manage a project, not a list of tools
In the Heatwave pipeline, one storage setting was configured by hand for three tools. In a project, that set-up happens once, and the project carries it. Instances added to it are pre-wired: NiFi writes into the project’s PostgreSQL, and KNIME finds its connection already filled in. Files work the same way. Upload a file once, and every tool in the project can read it.
A project doesn’t remove the data work. It removes the set-up around it.

Hospital Forecasting: three instances, already connected.
Design system
A service has no status, an instance has no members
The system is built on Simple Design System by Figma (CC BY 4.0). On top of it, I built one component for each noun in the vocabulary, and each component shows only what its noun owns. The service card sits in the catalogue. It says what the software does and how to launch it, but never shows a status, because a service doesn’t run. The instance row is a running copy, so it shows its status, its cost and its project, if it has one. The project card holds what no instance has: its members, and the instances it connects.

Service → Instance → Project, as components: each shows only what its noun owns.
Retrospective
Where it stood
The launch path in the coded prototype.
The prototype was built in Cursor from my designs: a front end the team could click through and decide on. I handed it over with a v0 backlog for the MVP, where connecting it to the backend and testing it with users were the next steps.
Before handing it over, I checked each persona’s journey against it. Along the launch path, two gaps stood out. Quick Start assumes Léa already knows the word Jupyter. And Karim’s instance page shows him why something is slow, but doesn’t let him resize it.
Three habits came out of the project that I’d use again: fix the words before drawing the screens, layer different people’s needs instead of averaging them, and check whole journeys, not only flows.



