Tilth

Soil sampling for carbon programmes, planned on the web and collected offline, with an evidence chain that has no weak links.

Platforms
Web app, offline mobile app
Scope
Product design
Tilth on a phone and a laptop by a wheat field, showing the day’s sampling plots offline and the sampling plan map, beside the headline "Soil Carbon Sampling, Field to Evidence".

The situation

Soil carbon programmes pay farmers for carbon their soil stores, and the proof is sampling: the same plots, cored at the same depths, every year. Verra’s VM0042 method needs measured soil carbon down to at least 30 cm.

The evidence usually lives in pieces: the plan as a PDF map, field notes on paper, photos in a phone, lab results in email, practice records in the farm office. A verifier checks it years later, and one mislabelled bag or missing depth can cost a plot, or a stratum.

Tilth keeps it in one chain: the plan on the web, collection offline in the field, and one record per plot that a verifier can follow.

The system behind it

Data
Strata, fixed plots, rounds, samples with depth, location and time, bag labels, custody events, lab results, photos and practice records.
Rules
Plots are fixed after the baseline. Each plot is cored at 0-30 and 30-60 cm every round, within 5 m of its location. Every sample needs a custody trail from the field to the lab result.
People
Agronomists who plan the campaign, field teams who core plots without signal, the lab, and the verifier who reads the record years later.

Decisions

  1. One record per plot, not per round

    What brokeWhen each round lives in its own spreadsheet, nobody can see one plot’s whole history, and gaps between years go unnoticed.

    What I decidedPlots are the long-lived object. A plot’s page holds every round: who cored it, when, and the soil carbon at both depths, with each value opening its lab report and the custody trail behind it, from the core to the result.

    The trade-offPlots can’t move once the baseline is in. A plot that turns out badly placed stays where it is, with a note, because moving it would break the comparison.

    Plot P-042 in North Loam: its location with a 5 m tolerance ring, soil carbon at two depths for the baseline and Year 1, Year 2 at the lab, and a chain of custody from the core to the lab result.
    P-042 across three rounds, and the six custody steps behind one value.
  2. Built for no signal

    What brokePlots are in the middle of fields, where there is no signal and no time to wait for a map to load.

    What I decidedThe field app carries the whole round offline: the plots in each stratum, a drawn map with the route to the next one, and what the plan asks for there. The count of records waiting to sync stays on screen, so nothing sits unsent without anyone knowing.

    The trade-offOffline means the phone holds the only copy until it syncs. The visible count is a reminder, not a backup.

    Phone, offline with 23 records to sync, navigating to plot P-042 186 m away, with the plan asking for cores at 0-30 and 30-60 cm within 5 m.
    The next plot, the distance, and what the plan asks for there.
  3. Check against the plan before leaving the plot

    What brokeA missing depth or a wrong location found at the lab months later can’t be fixed. The sample is lost, and the plot drops out of the round.

    What I decidedLocation and time are captured by the phone, and the distance from the plot is checked against the 5 m rule. Every bag gets a printed label and is scanned to match its sample. Before the team leaves, a check screen compares what was collected with what the plan asks for and stops on anything missing.

    The trade-offThe check adds a step at every plot, and some gaps are real: a flooded field can’t be cored. So the app allows a skip, but only with a reason, which goes into the record.

    Phone check screen for P-042: location, the 0-30 cm sample and the photo passed, the 30-60 cm core missing, a warning that the plot drops out of the results without it, and a button to collect it.
    One depth missing, found 1.4 m from the plot instead of at the lab.
  4. Gaps explained, not hidden

    What brokeA verifier who finds a missing sample with no explanation treats the stratum as unreliable.

    What I decidedThe evidence binder assembles each stratum’s plan, custody logs, lab results, practice records and photos for the monitoring period. When a plot was missed, the binder says which one and why, with the reason recorded in the field.

    The trade-offShowing gaps makes a binder look less perfect. That is the point: an explained gap holds up, a binder that claims 100% invites a closer look.

    Evidence binder for the baseline to Year 1: four strata, two complete and two with one gap each, explained as a flooded field and a landowner refusing access during harvest.
    Two strata complete, two with one gap each, both explained.

What I’d test first

The field app with a sampling team on a wet morning, gloves on. Every tap that needs two hands or dry fingers is a tap that will be skipped.

Whether verifiers accept the custody trail as the app records it, or still want paper chain-of-custody forms signed at each handover.

How the plan holds up when the method changes. Verra is revising VM0042, and a fixed plan needs a way to adopt new rules without moving plots.

My part

I designed Tilth on my own, in Figma: the sampling plan, the plot record, the offline field app and the evidence binder.

Hiring a design lead?

Open to Lead, Head of Design, Staff and Principal roles. I also take on a few advisory projects.

Remote, worldwide · CET