Lead engineer · 2025-2026 · Zurich
A marketplace that puts artists' work on hotel walls and lets guests buy the piece they are looking at: hosts get free curation, artists get a sales channel, guests take the art home.

15K
monthly active users
200+
artworks on walls
100K+
events a month
2 months
from zero to launch
Live platform figures at the end of the engagement, July 2026.
Scan the QR code next to a piece, read its details and provenance, buy it without leaving the page. Take it off the wall at checkout or have it shipped home, ownership documents issued automatically.
Free curation and placement, a commission on every sale, nothing to maintain. Hosts manage their properties, the spots on each wall, and what kind of work they want hanging there.
Work hangs in hotels instead of a storage unit. Direct sales with no gallery cut, logistics and paperwork handled by the platform, and analytics on what sells in which venue.
Artists, artworks, properties, spots, orders and QR codes are all related records. Every artwork moves through one lifecycle: Draft → Approval → Allocation → Live → Sold. Status is what the rest of the platform reacts to: a live piece appears in the gallery, a sold one comes off it, a refund puts it back.
Each placement gets its own code. A scan loads the artwork, its provenance and the room it hangs in, then keeps checkout in the same flow. Inventory is checked against live status so a piece cannot be sold twice.
Payments run through Stripe, and webhooks drive the order forward: Pending → Processing → Shipped → Delivered, with email to every side at each step. Prices show in CHF, EUR or USD. Shipping cost comes from the artwork's dimensions and its destination, and an on-site pickup transfers ownership on the spot instead of shipping anything.
Then the paperwork: release voucher, certificate of authenticity, customs declaration where the piece crosses a border. React PDF renders each one from the order data.
Galleries and property pages are generated statically and revalidate when an artwork's status changes, so the public side stays fast on hotel wifi. The admin platform renders on the server per request, because the people running the operation need current data.
English, German and Italian, every locale pre-rendered and its metadata generated per artwork. Translation keys are typed, so a missing one fails the build instead of surfacing as a raw key in production. Terms and privacy copy change by country.
Next.js app router with server components on the front, TypeScript from the database schema to the UI. Supabase for PostgreSQL, storage and its CDN, Drizzle for schema and queries, TanStack Query for client state. Backend services are written in Effect.ts. Zod validates anything crossing a boundary, row-level security keeps each user inside their own data, and Resend sends transactional email as React components.
The repository is laid out for coding agents to work in: clear module boundaries and one obvious way to do each thing, so a task can be handed off without a tour of the codebase first.
30K+leads generated
An event marketing platform for B2B sales teams. It finds the right people before a trade show and talks them into coming, then captures everyone who stops at the booth and follows them up while the event is still running.
A catalogue of B2B software where buyers ask a question in plain English and get an answer back from the live listings, instead of clicking through category pages.
An open-source hiring marketplace where the ranking is the product: jobs surface the right candidates, candidates surface the right jobs, and both sides are scored by the same rules. Built as a reference for search that gets measured instead of guessed at.
Supply, demand, payments and the paperwork around them all have to work at once, or none of it works. Tell me what your sides are and I'll show you the shortest path to a version real users can buy from.
Book a free call30 minutes, free. You leave with a plan either way.