Snowleaf

Emissions and efficiency reporting for organisations that run their own servers. I designed and built all of it.

Role
Design and build, end to end
Year
2026
Depth
5 layers
The Snowleaf home page: a city seen as heat, hottest where the most power is drawn.
0 · Surfacesnowleaf.xyz as it is today · a sample site, seen as heat

Why

The problem

Who it is for, and why

Organisations that run their own servers want to know what that power costs and emits. The inputs come from three places (the grid, a generator, solar), and most of them arrive in spreadsheets nobody can check.

Snowleaf measures every hour and shows its working, so a figure can be traced back to the reading and the file it came from.

How

Layer by layer

5 layers · the decision in each, and why

The same depth as on Work, opened up.

  1. Interface

    Show the working

    Every figure on screen can be followed back to the reading and the file it came from. The site, the app and the report all carry the same trace.

    Why · A number nobody can check is a number nobody trusts

  2. API

    One contract for both sides

    The API is generated from a single specification, server and client alike, so the two cannot drift. The first quick routes were written down as debt; the core feature got the contract first.

    Why · The part a buyer evaluates should never be the shortcut

  3. Engine

    The same answer every time

    The calculation is a set of pure functions with no input or output, tested on their own. On day three, before any code existed, the whole backend moved to one compiled language: less work per request, and one toolchain from server to meter.

    Why · An auditor re-runs the figure; Snowleaf measures its own footprint too

  4. Gateway

    A small reader on site

    One small program on the customer’s own hardware reads the meters and sends the readings up. It runs on low-power devices, in the same language as the backend.

    Why · The numbers start at the meter, not in a spreadsheet

  5. Data

    No real data until the gate

    During the pilot, a partner’s files are processed locally with the same engine and only the report goes back. Nothing real reaches the hosted service until a go-live gate is passed.

    Why · Trust is earned before it is asked for

Ends here · 5 layers

Now

Where it is

As of November 2026

Live: the site, the app and the API. It is in its first test with design partners, and the pilot runs on the same engine as the product.

For a role, a product, or a second opinion on one. A call books straight into my calendar.