top of page
Portfolio

Average Abstraction
Hundreds of images. One subject. One algorithm.
The Averages series begins with a question: if you gather every photograph of a forest - every angle, every season, every quality of light - and average them together, what remains? What is the essential forest?
The process starts with a single word. That word generates a search. Hundreds of images are collected, clustered by perceptual similarity, then mathematically averaged within each cluster. What emerges is something between memory and hallucination - not a photograph, not a painting, but the distillation of how a subject appears across thousands of human interpretations of it.
The result is both precise and dreamlike. The sharp particulars dissolve. What persists is essence: the characteristic light of a lavender field, the vertical rhythm of sequoias, the particular way a window frame divides inside from outside.
These are not AI-generated images. No model learned to imagine them. Each is the direct mathematical output of pixel arithmetic applied to real photographs - a mean, taken carefully. The code that runs this pipeline was written by the artist.
And yet the mean is where machine vision begins. A classifier learns a label the same crude way: shown enough examples, it keeps what they have in common and lets go of what only one of them happened to contain, until the class exists for it as a prototype rather than as any particular picture. Recognition is a distance, not an understanding. Is this near enough to what I hold as forest?
The blur is the concept. What survives the averaging is what a thing must have in order to be that thing at all, and what dissolves is everything a single photograph merely happened to catch.

Buntwald
A forest is never one thing - it is thousands of small decisions about light and cover, clustered into something we call a canopy.
Buntwald rebuilds that logic from bare branches. A tree render is separated into wood and leaves, the crown is clumped by watershed and faceted into low-poly plates, and a tapered trunk-and-branch skeleton is grown underneath it. Scatter enough of those trees and a scene appears that looks different every time the code runs.
Nothing here is drawn by hand and nothing is generated by a model. Procedural code stands in for the forest's own patience.

Random Effects
One working image, and a room full of filters to put it through.
Random Effects is where a finished render stops being finished. A watercolour simulation floods pigment across wet paper; a segmentation pass flattens a photograph into its constituent fields of colour; blends fold two images into one. Each effect is a small piece of hand-written image mathematics, and the interesting results come from stacking them in an order nobody planned.
The pieces here began life in another series and came out of this one as something else.

Squaresmith
A rectangle, filled entirely by squares, no two the same size.
It sounds like something you could solve on a napkin. It is not. The squares must cover the rectangle with no gaps and no overlaps, none may repeat a size, and — the condition that defeats every naive attempt — no group of them may quietly form a smaller rectangle inside. Below nine squares it cannot be done at all.
The way out is not to draw. Every squared rectangle is secretly an electrical circuit: each horizontal join is a node holding a voltage, each square a wire carrying a current equal to its own side. Kirchhoff's law and Ohm's law are the tiling constraints. So Squaresmith never places a square. It takes a surface — a 3D model, or a photograph lifted into relief by depth estimation — treats that surface's own structure as the circuit, powers it on, and reads the squares off the currents.
The seed decides everything. Change the mesh and every tile moves.
Each piece carries its Bouwkamp code — the notation mathematicians use to write a squared rectangle down. The image is an artwork and a proof at once.
The correspondence is Brooks, Smith, Stone and Tutte's, published in 1940 under the invented name Blanche Descartes. aiyopasta's film “What's Hiding In The 8,000 Squared Mosaic?” (https://www.youtube.com/watch?v=0fH80JF2mDM) runs a Stanford bunny through exactly this route and comes out with eight thousand squares.
Works from this series are in production, and will appear here as they are finished.

Stairset
A stair set is a dimension to a builder and a dare to a skateboarder.
Riser, tread, width, a count of steps: that is the vocabulary a building code is written in, and it is also how a skate spot gets its name. The Hollywood 16. El Toro's 20, torn out in 2019. The Lyon 25 — twenty-five steps outside a Renzo Piano convention centre, whose ollie went unmade from Ali Boulala's attempt in 2002 until Aaron Homoki landed it in 2015. Nowhere else does anyone count the stairs.
That count is doing something to the eye. A skateboarder measures the run-up, reads the rail as something to grind rather than hold, checks the landing for cracks and camber, and grades the flight against every set already rolled away from. Same concrete, different wiring: circulation to the architect who drew it, an obstacle nobody designed to whoever arrives with a board.
Stairset builds only the object. Dimensions in, geometry out, the sun placed by hand, the same render call behind the screen and the paper. What it draws is the set standing empty — before the trick, or long after the spot was capped — and the reading is left to whoever is looking.
Works from this series are in production, and will appear here as they are finished.

Poly-Peaks
Standing somewhere high, naming what you can see.
Poly-Peaks reconstructs the view from a single point on the earth: which summits are visible from there, where each one falls across the horizon, and how far away it stands. The result is a panorama that is not a photograph but a survey — the same view a person gets on a clear day, with the names still attached.
Layers can be peeled back to the bare horizon line, or built up through hillshade and relief until the distance reads as depth. The far ridges are genuinely far; the rhythm of the skyline is the one that place actually has.
Every peak here is a real peak, at a real bearing, at a real distance. The drawing is procedural; the geography is not invented.
Works from this series are in production, and will appear here as they are finished.

Overstory
A machine learns to recognise a forest. Then it is drawn as one.
Overstory trains a random forest classifier — an ensemble of decision trees — to tell woodland from everything else, using nothing but the shape of a year of satellite greenness over each patch of ground. Forest and farmland green up differently, and the classifier learns that difference.
Then the metaphor is taken at its word. Each decision tree in the ensemble is drawn root-down as an actual tree, its branching the branching of its own logic, and the ensemble is scattered into a wood. The picture of the model and the thing the model recognises become the same image.
The satellite data is real and public. The classifier genuinely works. Every tree in the scene is one the model actually grew.
Works from this series are in production, and will appear here as they are finished.

Brixels
A landscape, rebuilt one brick at a time.
Brixels takes elevation data for a real place and quantises it into the discrete world of a brick: fixed heights, a fixed palette, a grid that will not bend to the terrain. Everything the landscape does between two brick heights has to go somewhere, and where it goes is the artwork.
The constraint is the point. A mountain rendered smoothly is a photograph of a mountain. A mountain rendered in twelve available colours and a plate thickness is a reading of it — a decision, taken thousands of times, about what counts as high ground.
The elevation is real, sampled from public terrain data. The palette is a real catalogue of parts. What sits between them is arithmetic, written by hand.
Works from this series are in production, and will appear here as they are finished.

Scribe
A word, scratched rather than written.
Scribe takes text and abandons the idea of a typeface. Letterforms are rebuilt as procedural marks — scored, split and worried at by the code until they read the way something scratched into a surface reads, not the way something set in type does.
Underneath is a Voronoi structure, the same partitioning that decides how cells fill a leaf or how cracks propagate through a glaze. Language is handed to a process that has no interest in legibility, and asked to survive it.
The words are chosen. Everything that happens to them is arithmetic.
Works from this series are in production, and will appear here as they are finished.

Shadow Maps
Where the sun does not reach, and for how long.
Shadow Maps casts real sunlight across real terrain. For a given place and a given moment, it computes which ground the light lands on and which sits in the shadow of the ridge behind it — then averages that across a day, a month, or a whole year.
Averaged over a season, the image stops being a moment and becomes a fact about a place. South-facing slopes come out bright because they are bright; a narrow valley stays dark because it is dark. This is why vineyards sit where they sit and why one side of a hill holds snow into spring.
Nothing is stylised into being. The sun's position is astronomy, the terrain is measured, and the shadow is geometry — an image that argues something true about the ground it describes.
Works from this series are in production, and will appear here as they are finished.
bottom of page
