Two days on site.
We spent time in the shop, watched customers buy, stood with the owner at the till and worked through the Excel file. No briefing deck, no questionnaire — just listening.
Week 1 · 2 daysEin 40 Jahre alter Familienbetrieb aus Bad Ischl verkaufte bis 2024 ausschließlich im Geschäft und telefonisch. Heute verschickt der Shop täglich in vier Länder, mit Echtzeit-Lagerbestand, Stripe-Checkout und einer Admin-Oberfläche, die der Eigentümer selbst bedient. So kam es dazu.
For readers who do not want to go through 12 scrolls. The long version sits further down — with numbers, screenshots and the client’s own words.
Bestellungen liefen über Anrufe und WhatsApp. Der Lagerbestand war in einem Excel-Sheet, das selten aktuell war. Retouren wurden handschriftlich geführt.
Next.js-Frontend, Spring-Boot-Backend, Postgres als einzige Wahrheit. Stripe für Karte/SEPA/Klarna. Admin-Oberfläche komplett in Deutsch.
The shop has been running for 14 months without agency help. The owner maintains products independently. Not one oversell complaint.
Yilmaz Souvenirs has run a shop in central Bad Ischl since 1983 — handmade objects, often from its own workshop, partly sourced from regional craftspeople. Foot traffic was steady, but in summer tourists often had to leave because key pieces were sold out. “Can you ship this?” was the most common question — and the hardest one to answer.
“We knew we were losing customers the moment they walked out the door — but for ten years every agency concept asked for €40,000, and none of them spoke our language.”
Before our project there was no meaningful online sales channel. Phone orders were written into a paper diary. If two customers wanted the last item within the same hour, call order decided. Stock level? “I’ll check” — followed by a callback ten minutes later.
No waterfall theatre, no sprint circus. We work with clear milestones and visible interim states — so the client knows what they are paying for.
We spent time in the shop, watched customers buy, stood with the owner at the till and worked through the Excel file. No briefing deck, no questionnaire — just listening.
Week 1 · 2 daysWe mapped the data model on paper — products, variants, stock, reservations. Admin UX as low-fi wireframes. Tech choice: Next.js + Spring Boot + Postgres. Stripe instead of a PayPal-only gateway.
Week 2–3 · 8 daysStaging-Umgebung ab Tag 14. Die Inhaberin hat wöchentlich Produkte im Admin angelegt — lange vor Launch. Feedback floss in den Build zurück. Keine „Big Reveal" am Ende.
Week 4–9 · 6 weeksSoft-Launch mit 20 Produkten und DACH-Versand. Nach 7 Tagen ohne kritische Fehler → Türkei-Versand + TR-Sprache live. Zweitägiges Training für Inhaberin. Handover-Report, kein Versteck-Wissen.
Week 10–11 · 10 daysShop front, admin dashboard, mobile checkout. The system has run for 14 months without structural changes — a few UX tweaks, no major rebuild.
Numbers we track together with the client — from Stripe data, UptimeRobot and the admin dashboard. No projections, no “roughly”.
Total revenue in year one after launch, compared with the year before it (shop sales + online combined).
Source: Stripe + POS exportAverage over 14 months, measured externally. One single 17-minute outage caused by hosting maintenance.
Source: UptimeRobot 5-minute checksNot a single oversell complaint since launch. The stock-hold logic and reservation flow work as intended.
Source: Customer support logLargest Contentful Paint on mobile over the 28-day median. The target was < 2.5 s, including category pages heavy with product images.
Source: Vercel Speed Insights“I wanted a shop, not a ‘digital transformation process’. Buckberry understood that from day one, came into my shop, explained the admin in a language I understood immediately — and delivered the whole thing in eleven weeks, without forcing me to touch anything Excel-like. Today I manage the shop myself. It paid for itself three times over in the first year.”
Every technology with one clear reason. If a tool does not make the product better, we do not use it — even if it is trendy.
SSG for catalogue pages, SSR for checkout. LCP < 2.5 s even with lots of product imagery.
Domain logic in Java, because transactions, validation and testing are most robust there.
SELECT FOR UPDATE for stock reservations. No NoSQL — consistency beats flexibility.
SEPA, card and Klarna in one flow. Webhook idempotency. PCI scope minimised, card data never touches the backend.
Frontend on CDN edge, backend + DB in a Vienna data centre — GDPR-safe, low latency.
Automated build, testing and deploy to staging. Production deploy only after manual approval.
Errors land in our Slack channel within 60 seconds. Uptime is verified externally.
DE / EN / TR with SEO hreflang. Translations can be maintained by the client without a code deploy.
An honest look back — not the “everything was perfect” story. Every project should leave us sharper than before.
Two days in the shop showed us more than any workshop could have. Since then we have run discovery on site for regional clients, without an extra fee.
We built and tested the admin panel first, then the shop. That let the owner maintain products during the build — and gave us real data instead of lorem ipsum.
Die türkische Sprachversion wurde oft als „später" abgetan. Bei Yilmaz war sie Tag-eins-kritisch. Ergebnis: 28 % der Bestellungen kommen heute in TR. Hätten wir's vertagt, wäre dieser Umsatz nie entstanden.
Every project has its own story — similar structure, different sector.
Booking system with Stripe pre-authorisation and member discounts. Live since January 2025.
See reference → HospitalityMobile-first ordering page with delivery zones and a daily menu. Includes a back-office app for the sales team.
See reference → Logistics & B2BReal-time route monitoring with customer tracking link and SMS alerts on delay.
See reference →