Every number the team asks about, on one board.

Mullion collects readings you already take and holds them in one place, in the same shape every week. None of these are new metrics. The change is that answering a question stops involving five tabs and someone's memory of what the number was in March.

Free while a board holds under ten metrics. No card.

Sessions, week to date

Live

1.28M

Up 4.1% against the four week mean.

Median TTFB

184ms

Down 41ms since the edge move.

Signup starts

9,412

Counted at first keystroke, not at page view.

Completion

61.8%

Of starts that reach a verified address.

Board load, p95

2.9s

Cold cache, all 38 metrics, no sampling.

Metrics tracked

38

Across four services and one marketing site.

Weekly readers

214

People who opened the board at least once.

What the board is made of.

Six things, and the first one is most of it. The rest exist because a board nobody trusts is a screensaver.

The shape

One board, and it keeps its shape

A metric holds its cell from the week it is added. Someone who reads the board on a Monday knows where to look before the page has finished loading, and a number that moved is the only thing asking for attention.

The numbers come from where they already live

Mullion reads your warehouse, your log store and your billing provider on a schedule you set. It does not become the system of record for anything, which is why removing it costs an afternoon rather than a quarter.

No new SDK

Nothing goes in the page. Every reading is pulled server side from a source you already query by hand.

No sampling

A board that samples is a board someone will argue with. Slower and complete beats instant and approximate.

Everyone reads the same board

Shared

No per-person views and no saved filters. A definition that differs by reader is how two people leave the same meeting with different numbers, and the board's whole job is to stop that.

The export is the board

CSV, JSON

Every cell exports the query behind it alongside the value. A reading you cannot reproduce outside the tool that showed it to you is a claim rather than a measurement.

This layout is not this look.

Bento is a layout archetype rather than a surface one, so the register you see here is a choice made separately from the grid underneath it. There is a second page in this demo that renders the board above three times, once per surface register, with the grid rules untouched between them.

Put six numbers on a board and see.

Point Mullion at one source and add the metrics your team already asks about in the channel. If nobody has opened the board in two weeks, it was not the tabs.

One metric, declared

A metric is a name, a query and a cadence. The file lives in your repository and is reviewed like anything else in it.

name: signup_starts
source: warehouse
cadence: hourly
query: |
  select count(*) from events
  where name = 'signup.first_keystroke'
    and ts >= date_trunc('week', now())
cell: 1x1

What a board costs to leave

Delete the directory. The queries were yours, the warehouse was yours, and nothing was written back to either.

Setup

1hr

Median, first source connected to first board.

Free tier

10

Metrics, unlimited readers, no card.

Mullion is a fictional product

Demo

This page exists to show a theme. Nothing here is for sale and no company by this name is being described.