Skip to main content

Architecture

Boardflare keeps Excel as the application interface while moving application logic into a reactive Python notebook.

Excel workbook

│ ranges / tables / formulas

Spreadsheet Bridge


Boardflare notebook host


marimo + Pyodide

├── reactive Python model
├── interactive notebook UI
└── Boardflare Anywidgets


Published application state

├── BF.OUTPUT(...)
└── BF.FUNCTION(...)


Excel workbook

Excel as the interface

The workbook remains where operators enter assumptions, review tables/formulas, and consume published results. Authors do not have to recreate the spreadsheet as a separate web application.

Spreadsheet Bridge

Host-specific workbook operations sit behind a shared spreadsheet abstraction. The Excel notebook and standalone Univer demo can therefore share source/input/output concepts while their underlying spreadsheet APIs remain host-specific.

Boardflare application

Spreadsheet Bridge
┌───┴────┐
│ │
Excel Univer
Office.js browser SDK

Stock marimo + Pyodide

Boardflare embeds a pinned stock Marimo WebAssembly export. Marimo owns notebook editing, serialization, the reactive dependency graph, and Python execution through Pyodide. Boardflare owns workbook integration, source persistence, published outputs/functions, startup, and product chrome.

Anywidget as the notebook bridge

The public boardflare Python package exposes workbook integration through Anywidget models. bf.inputs() and bf.publish() return widgets whose frontends communicate with Boardflare-owned host capabilities.

Persistence

In Excel, saved notebook source and startup mode travel with the workbook. Live Python state is not serialized. Reopening restores source and reruns it to recreate inputs, outputs, functions, and UI state.

Shared-runtime cold start

Excel can start Boardflare's shared runtime because a saved BF.OUTPUT() or BF.FUNCTION() formula needs calculation. The task pane does not need to be visible first.

Workbook recalculates


BF.OUTPUT / BF.FUNCTION


Excel starts shared runtime


Notebook runtime mounts


marimo starts → inputs hydrate → publish registry


worksheet formula resolves

For execution and trust boundaries, continue to Security and data flow.