BVDART · Own project
Bringing algorithmic abstract art online — bvdart.nl
Showing and selling algorithmic work in numbered editions. Adding work, setting prices and publishing to the print partner happens through buttons in the CMS — the shop and the payment follow automatically, with no developer involved.
- Project type
- Own project
- My role
- Owner, design and development
- Status
- Website online
- Duration
- 4 months
- Team size
- 1
- The question
- Publishing and selling art needs connected tools for content, payments and print sales.
- The result
- One editor for artworks, numbered editions and sales through a print partner.
The question
Selling work takes things that have nothing to do with art: an online shop, payments, stock for numbered editions, invoices, confirmation emails, VAT. This site is the most complete test of what I promise clients: that you can manage your own site without me. Each artwork has eight buttons that pass one action on to three external systems: the shop, the print partner and the social media kit.
Selling work takes all kinds of things that have nothing to do with art. An online shop, payments, stock for numbered editions, invoices, confirmation emails, VAT, shipping zones. And on top of that a second channel: prints through an external print partner, with its own product administration.
If you keep track of all that by hand, you spend more time on admin than on work. And more importantly: every step you have to ask a developer for is a step you don't take in practice. A price you can't change yourself stays where it is.
Key issues
- Two sales channels, each with its own administration
- Numbered editions need stock tracking per work
- Invoices, confirmation emails and VAT come with every sale
- Any action that needs a developer doesn't get done in practice
- Protecting images from copying without hurting search visibility
Constraints
- Everything that is content must work without a developer
- Protecting the images must not shut out search engines
Project background
My own work. It is where I show and sell my own algorithmic work, and at the same time the strictest test of something I promise clients: that you can manage your own site without a developer.
My approach and decisions
The admin screen is a control panel, not a form to fill in. Each artwork has eight buttons: read out the image data, create or update the product and price in the payment system, make a shareable image, generate two kinds of social media sets, and upload or update the work at the print partner. One action reaches three external systems.
Translation is a button. Thirteen document types have a button that fills in the Dutch version, only the missing fields, so text that was improved by hand stays as it is.
Two sales channels, one basket. Numbered editions go through the site's own checkout; reproductions go to the print partner. The visitor notices none of this; behind the scenes the basket splits.
A gallery and a lab. The work also hangs in a 3D gallery you can walk through yourself, on a custom engine in plain CSS, without a 3D library. In a lab with fourteen image tools, I show how it is made.
The work is protected without becoming impossible to find. Images are drawn on a canvas with an invisible watermark, so saving with a right-click does not give you the original file. Search engines do get their own, visibly watermarked version; otherwise protection costs you your search visibility.
Technical details
Technologies used
- Next.js
- React
- TypeScript
- Sanity
- Stripe
- Resend
- Three.js
- Vercel
- Sentry
- Playwright
What it delivered
147 works are online, 85 of them as numbered editions with a real price and a working checkout. The chain behind it is complete: stock is deducted automatically, an invoice is created and a confirmation email is sent.
To be honest about it: no order has gone through yet. The machine works and is ready, but has not proven itself in practice. Eighteen genuine contact requests did come in. What did improve measurably: the homepage performance score went from 50 to 82, the load time of the largest element dropped by 25% and blocking time by 47%. The shop page lags behind and does not meet my own minimum; that figure may be out of date after the latest fix, but until I measure again I report it as it stands.
- Adding work and setting prices
- One action, three systems
- Needs a developer → Eight buttons in the admin screen
- Work online
- Numbered editions with stock tracking
- 0 → 147, of which 85 for sale
- Homepage performance score
- Load time −25%, blocking time −47%
- 50 → 82
Delivered
- 147 works online, 85 as numbered editions
- Eight admin buttons that drive three external systems
- Homepage performance score from 50 to 82
- 18 genuine contact requests
Outcomes
- Publishing new work reaches the shop, the print partner and social media in one action
- Dutch translation is a button that only fills in missing fields
- Two sales channels are merged into one basket, invisibly for the visitor
- Images are better protected against copying, without shutting out search engines
- Eighteen genuine contact requests received
What I take forward
Lessons
- An admin screen that passes actions on to external systems saves the most time
- A price the owner can't change stays where it is in practice
- Protecting images and staying findable don't have to exclude each other
- Putting interface texts in code is the mistake I made here; for clients, those belong in the CMS too
The blind spot is easy to name: I can manage everything that is content myself, but the interface texts (buttons, navigation, error messages) live in code. More than six hundred strings per language. Changing a button label therefore does need a developer. It was a logical choice at the time, and it is exactly the choice I make differently for clients.
