AI made you a website? Let's make it work!
Sergio Brusnyk
Services
Services
Work
Work
Insights
Insights
About
About
Let's talk
Let's talk

A custom online store for antiques, built from scratch in Webflow

Date

July 2026

Scope

Webflow, Cloudflare, UX Design

Website

Kamil Krawicki Antiques is an antique shop. Their business has a quirk that shapes everything about selling it online: every item is one of a kind. There's exactly one of each piece — one clock, one painting, one ring. Once it's sold, it's gone. That single fact turned out to be the hardest and most interesting part of the whole build.

Their old website, zloto-poznan.pl, ran on Joomla. It looked dated, it was clunky to use, and — most importantly — it didn't sell anything. It was a brochure. The client wanted two things at once: a fresh, modern look, and the ability to actually take orders online for the first time.

The problem

Selling antiques online isn't like running a normal shop. A regular store has ten of the same T-shirt; if two people buy at once, no problem. Here, if two customers try to buy the same eighteenth-century clock in the same minute, only one can win — and the other needs to be told cleanly, not charged for something that no longer exists. Get that wrong and you either sell the same item twice (a refund, an apology, a lost customer) or you lock items up incorrectly and lose sales.

On top of that, the client needed the things Polish customers actually expect at checkout: BLIK (Poland's most popular payment method), and delivery through InPost and  Polish Post, the couriers everyone in Poland uses. And they wanted it to look exactly like the designs — no compromises.

Why not just use a ready-made store

The obvious route would have been Webflow's built-in e-commerce, or a Shopify template. Both were wrong for this project, for concrete reasons:

  • Webflow's e-commerce doesn't support BLIK — a dealbreaker for a Polish shop.
  • It also charges a commission on every sale — an ongoing cost that was avoidable.
  • Templates would have meant fighting the design instead of matching it. We were working with a UI designer who created the look from scratch, and the client wanted it pixel-perfect — which Webflow lets me deliver when I build the front end myself.

So the decision was to build the storefront in Webflow — my daily tool, and the one that makes pixel-perfect possible — and build the entire checkout custom, from the ground up.

What I built

The front end is a full Webflow build: the storefront, product pages, and cart, implemented pixel-perfect from the designer's files, with a mobile navigation that includes accordion submenus for browsing categories on a phone.

Behind it sits a custom checkout that doesn't rely on any e-commerce platform. In plain terms: when a customer clicks "buy", their request goes to a small piece of software I built running on Cloudflare's network, which talks to Stripe (the payment processor) to take the payment — including BLIK — securely. Webflow's CMS holds the products; Cloudflare handles the money and the logic; the customer just sees a smooth, fast checkout.

The one-of-a-kind problem was solved at this layer. The moment someone starts buying an item, the system reserves it, so a second buyer can't pay for the same piece. Once payment goes through, the item is marked sold and disappears from the store. No double-sales, no manual bookkeeping.

A few more pieces that make it a real shop rather than a demo:

  • BLIK and card payments, handled through Stripe's secure checkout — the customer never leaves the site feeling like they've been handed off.
  • Polish shipping built in — InPost and Polish Post options at checkout, the way local customers expect.
  • Order confirmation that waits for the payment to actually clear before telling the customer they're done — so nobody sees a false "success" if a payment is still processing.
  • Automatic order emails, so both the customer and the shop get a clean confirmation the moment an order lands.

The interesting challenges

Two parts were genuinely hard, and worth being honest about.

The first was the one-of-a-kind stock — the reservation logic above. Getting it to behave correctly when two people act at the same time is the kind of problem that's invisible when it works and embarrassing when it doesn't. It took the most care of anything in the build.

The second is protecting the checkout from abuse. Because the payment step is a public endpoint on the internet, it needs a limit on how often it can be called — so nobody can hammer it. That's being finalised as the shop moves onto its own domain, where I can apply those limits cleanly. It's a normal part of taking a custom checkout to production, not an afterthought.

Where it stands

The store is built. The checkout works end to end — payment, reservation, shipping, confirmation, emails. What's left is the client populating it with their catalogue: photographing and listing the pieces. Once that's done, the shop goes live and Kamil Krawicki Antique sells online for the first time — on a site that finally looks like the quality of what they sell.

We also planned the switch-over carefully: the old Joomla site's addresses will redirect to the new pages, so nobody following an old link — and none of the shop's existing search ranking — gets lost in the move.

Let's work together

Ready to build something that actually works?

Prefer a conversation?

Book a free 30-min call

Walk away with a clear scope, timeline, and fixed price — before signing anything.
Book a free call
Book a free call
Trusted by 20+ satisfied clients across Europe and the US
Prefer to write first?

Send a message

Describe your project briefly — I'll get back to you within 24 hours.

Thank you for your message!

I'll contact you in the next 24 hours.
Oops! Something went wrong while submitting the form.
By using this website, you agree to the storing of cookies. More in Privacy Policy
I understand
Sergio Brusnyk
Webflow Certified Partner
Limited availability — Q3 2026
Navigate
WorkServicesAboutInsights
Legal
Privacy PolicyCookie settings
© 2026 Sergio Brusnyk. All rights reserved.
Built with Webflow