← all work

Art Desk

A private desk for buying art at Swiss auctions - true costs, preview notes and a lot tracker that scores every work - plus art.johanstefanes.ch, a public index of my collection where every work is a 3D object at its real size.

Type
Personal Project · Full-Stack / Data
Year
2026–now
Role
Sole developer - product, research and design, for my own collecting.
See the collection ↗

Turns a hammer price into what you actually pay at four auction houses, reads their catalogues and 16 galleries for the artists I follow, and scores each lot 0-100 against a budget.

  • True cost at four auction houses
  • Every lot scored 0-100 with reasons
  • Works in 3D at their real size

The problem

Buying at Swiss auctions on a small budget means every house hides its real cost in tiered premiums, VAT and surcharges, and the good lots are spread over catalogues, galleries and Catawiki.

Know before a preview what a bid really costs and which lots are worth it, and show the works I own the way a museum would.

What I did

  1. Researched each house's conditions of sale and built a calculator that works both ways: bid to true cost, and budget to maximum bid.
  2. Wrote readers for the houses' sale pages, Zurich's gallery list and 16 dealers, plus a browser extension for Catawiki, all feeding a tracker that scores each lot and explains why.
  3. Built the collection site as a static three.js index: canvases and framed works at true relative size that you can turn around to see the back, with a flat catalogue on phones.

Outcome

Art Desk runs hosted behind a password with a phone-friendly preview companion; the collection is live at art.johanstefanes.ch.

Stack

  • Next.js 16
  • React 19
  • Drizzle
  • Turso
  • Vercel Blob
  • three.js
  • React Three Fiber
Next caseMorph

© Johan Stefanesback home

Get in touch
Still building this site