What the client came with
Paintings sold through social media and personal arrangements. She needed a storefront that walks the buyer to payment on its own.
What we built
- A gallery of works with series
- A shop with card payment
- Admin panel: paintings, series, orders
- An English interface for buyers abroad
What’s inside the panel
- Catalog of works and availability statuses
- Orders and delivery
- Pages for series and collections
Details worth knowing
Before launch I audit the money flow — and here it paid off. A price of €1,000 was shown to the buyer as $920, while Stripe would have charged 1 087. We found the discrepancy before the first sale, not after.
The same check turned up that the Stripe webhook could create an order twice — the buyer pays once, the system has two records. Fixed on the spot.
Stack
- Laravel
- Vue
- Stripe
Numbers verified against the project
How it looks


More from this niche
We’ll build a system like this around your process
Come without a spec — we’ll write it together on the first call.


