Since we’ve created RemoteBMI I have wanted to create a front-end for BMI-enabled models. With help from Claude Code I can finally present the BMI Controller, a javascript front-end connecting to the RemoteBMI API.
When connecting to the Python BMI Heat example, the interface looks like this;
And with a more realistic example (Wflow.jl), it can look like the following;
I’m sure there are still some bugs and improvements to be made, but I do think it’s a very nice tool already to play with models.
For the current setup you need;
- a bmi enabled model, hosted with RemoteBMI [1]
- the BMI Controller, started using the instructions on the readme.
To use:
- start the BMI Controller
- start the RemoteBMI instance (using the default path)
- pass the path to a valid config relative to the directory you started RemoteBMI in
[1] note that the Python version needs this fix, and a bug has been identified with the R version we need to fix still.

