
Scroll
Annuli
Client
Annuli
Discipline
Brand Identity · Concept Brand · Design System · Product · Motion
Challenge
Most reforestation is sold with a photo of a sapling and a certificate. That works for gift schemes, but an institution cannot put it on a balance sheet. Annuli needed planted woodland to read as a real asset: audited, numbered and reported on, while staying honest that the whole thing is made of living trees.
Approach
Strategy. I built the brand around counting. A grove is verified in the field every year, and only then does it count as an asset. So the identity works like a ledger, and the ring is its unit: one ring is one verified year. Value updates at the audit rather than the market. Income comes from verified carbon and timber as the groves mature, and redemptions are met quarterly at the last audited value.
Logo. The mark is a growth ring drawn in one stroke, with the heartwood off centre: north-east at 0.4 of the radius, like a trunk that grew against a slope. It works from a 24px avatar up to a cast bronze object without being redrawn, and the same geometry gives every arrow and cut in the system its 45° angle.
System. Every grove gets its own ring. The material follows its state: raw cast while pending, polished bronze once verified, verdigris at maturity, blackened when retired. The pattern is generated from the grove's own data, with ring count from years verified, spacing from survival rate and offset from the direction the ground faces. No two groves share a ring.
Typography. Manrope carries the system: headlines at 500 tracked to −3%, body at 400, and every number tabular so columns of trees and hectares line up. Newsreader Italic appears once per headline as the contrast, and never below 24px.
Digital. An eight-screen app takes a first-time buyer from intent to a confirmed grove in one sitting. An institutional dashboard puts groves, verification progress and tCO₂e on one screen. Every ring carries a passport with the method, the verifier, the dates and the satellite pass behind its state, so a “Verified” chip can always show its evidence.
Campaign. Out-of-home says one thing per sheet and puts the object where the photograph would usually go. Three six-sheets carry the only three sentences the brand makes in public, the balance-sheet line, the counting line and the income line, each with its grove, its verification date and the capital-at-risk footer. The 48-sheet is the ring alone on bark. The posters are sited where the asset is rather than where the money is: meadow edges, young plantations, an open hillside, a timber boardwalk.
Motion. Things grow, they don't bounce. Rings scale from the heartwood on a long ease-out, 600 to 900ms on cubic-bezier(.2,.8,.2,1). Rotation is slow and continuous, and nothing overshoots. The object has three states: grow on verify, turn at rest, breathe while pending. Everything else in the interface runs at 240ms.
By the end of the project the motion was running in three places, the boards on this page, the Remotion films and the app, each with its own copy of the numbers, and the copies had started to drift. So I pulled every duration, curve and stagger out of the shipped work and rebuilt them as one token set in the W3C design tokens format.
Primitives hold the raw values. Semantic tokens say what they are for: a ring growing from its heartwood, a number being counted, a card leaving. A written spec sets the rules around them.
One token file is now the source for the site, the films and the app, and builds to CSS and TypeScript. It is plain enough that a developer, a designer or an AI model can move things the way Annuli moves without asking me first. See the system →
Voice. The writing follows the same rules as the design. Numbers come before adjectives, and every claim carries a date and a method. We say tree, hectare and audit, not impact or journey. Growth takes years, so the copy is written against the audit calendar rather than the launch. The landing page ends with what most brands hide: capital at risk, in full sentences.

Sequence Stills
A ring is cast for every grove and sent at onboarding, 40mm across. It arrives raw and is finished in bronze at the first verified audit. The object on the desk and the asset on the balance sheet are the same ring.
CG Work
Motion
Things grow, they don’t bounce. Rings scale from the heartwood on a long ease-out — 600–900ms, cubic-bezier(.2,.8,.2,1) — rotation is slow and continuous, and nothing overshoots. The object holds three states: grow on verify, turn at rest, breathe while pending. Everything else in the interface runs at 240ms.
Results