İki gün sahada.
Dükkânda durduk, müşterinin nasıl satın aldığını izledik, işletme sahibiyle kasada vakit geçirdik, Excel dosyasını baştan sona inceledik. Briefing deck yok, anket yok; sadece dinlemek var.
1. hafta · 2 günBad Ischl çıkışlı 40 yıllık aile işletmesi 2024’e kadar sadece dükkânda ve telefonla satış yapıyordu. Bugün mağaza dört ülkeye her gün gönderim yapıyor; canlı stok, Stripe checkout ve işletme sahibinin kendisinin kullandığı bir admin paneliyle. Hikâye böyle başladı.
12 ekran aşağı kaymak istemeyenler için kısa özet bu. Uzun versiyon aşağıda; sayılar, ekran görüntüleri ve müşterinin kendi sözleriyle birlikte.
Siparişler telefon ve WhatsApp üzerinden akıyordu. Stok, çoğu zaman güncel olmayan bir Excel dosyasındaydı. İadeler ise elde tutuluyordu.
Next.js ön yüz, Spring Boot arka uç, tek veri kaynağı olarak Postgres. Kart/SEPA/Klarna için Stripe. Admin arayüzü baştan sona Almanca.
Mağaza 14 aydır ajans desteği olmadan çalışıyor. İşletme sahibi ürünleri kendi yönetiyor. Çifte satış kaynaklı tek bir şikâyet bile çıkmadı.
Yilmaz Souvenirs, Bad Ischl merkezinde 1983’ten beri dükkân işletiyor — el yapımı ürünler, kimi kendi atölyesinden, kimi bölgedeki zanaatkârlardan geliyor. Yaya trafiği stabildi ama yaz aylarında turistler sık sık ürün kalmadığı için eli boş dönüyordu. “Bunu kargolayabilir misiniz?” en sık gelen soruydu — ve cevaplaması en zor olanı.
“Müşteriyi kapıdan çıkar çıkmaz kaybettiğimizi biliyorduk; ama on yıl boyunca her ajans taslağı bizden 40.000 € istedi ve hiçbiri bizim dilimizden konuşmadı.”
Projeden önce kayda değer bir online satış yoktu. Telefon siparişleri ajandaya yazılıyordu. Aynı saat içinde iki müşteri son ürünü isterse kimin önce aradığı belirleyici oluyordu. Stok durumu mu? “Bir bakayım” ve on dakika sonra geri arama.
Waterfall tiyatrosu yok, sprint sirki yok. Net kilometre taşları ve görünür ara teslimlerle ilerliyoruz; müşteri neye para verdiğini bilsin diye.
Dükkânda durduk, müşterinin nasıl satın aldığını izledik, işletme sahibiyle kasada vakit geçirdik, Excel dosyasını baştan sona inceledik. Briefing deck yok, anket yok; sadece dinlemek var.
1. hafta · 2 günVeri modelini kâğıt üzerinde kurduk — ürünler, varyantlar, stok, rezervasyonlar. Admin UX’i low-fi wireframe ile netleştirdik. Teknoloji kararı: Next.js + Spring Boot + Postgres. PayPal geçidi yerine Stripe.
2–3. hafta · 8 gün14. günden itibaren staging vardı. İşletme sahibi canlıya çıkmadan çok önce admin panelinden her hafta ürün girdi. Geri bildirim build’e doğrudan işlendi. Sonda tek bir “büyük açılış” yoktu.
4–9. hafta · 6 hafta20 ürün ve DACH gönderimiyle yumuşak lansman yaptık. 7 gün kritik hata çıkmayınca Türkiye gönderimi ve TR dili açıldı. İşletme sahibine iki günlük eğitim verildi. Handover raporu hazırlandı; saklı bilgi bırakılmadı.
10–11. hafta · 10 günMağaza yüzü, admin paneli, mobil checkout. Sistem 14 aydır omurgası bozulmadan çalışıyor; küçük UX dokunuşları var, büyük bir revizyon ihtiyacı yok.
Müşteriyle birlikte ölçtüğümüz rakamlar — Stripe verisi, UptimeRobot ve admin panelinden. Tahmin yok, “yaklaşık” yok.
Canlıya çıkıştan sonraki ilk yılın toplam cirosu, önceki yılla kıyaslandı (dükkan + online birlikte).
Kaynak: Stripe + POS export14 aylık ortalama, dışarıdan ölçüldü. Hosting bakımı kaynaklı tek bir 17 dakikalık kesinti yaşandı.
Kaynak: UptimeRobot 5 dakikalık kontrollerCanlıya çıktığından beri oversell kaynaklı tek bir şikâyet yok. Stok tutma mantığı ve rezervasyon akışı planlandığı gibi çalışıyor.
Kaynak: müşteri destek kayıtlarıMobilde 28 günlük medyanda Largest Contentful Paint. Hedef < 2,5 sn idi. Ağır ürün görselli kategori sayfaları dahil.
Kaynak: Vercel Speed Insights“Ben bir shop istedim, ‘dijital dönüşüm süreci’ değil. Buckberry bunu ilk günden anladı, dükkânıma geldi, admin panelini bana gerçekten anladığım bir dille anlattı ve bütün sistemi on bir haftada kurdu; üstelik bana Excel benzeri bir şey dokundurmadan. Bugün shop’u kendim yönetiyorum. İlk yılda kendini üç kez çıkardı.”
Her teknoloji için tek cümlelik sebep var. Bir araç sistemi daha iyi yapmıyorsa, trend olsa bile kullanmadık.
Katalog sayfalarında SSG, checkout’ta SSR. Çok ürün görseli olsa bile LCP < 2,5 sn.
Domain mantığı Java’da; çünkü transaction, validasyon ve test burada en sağlam şekilde duruyor.
Stok rezervasyonları için SELECT FOR UPDATE. NoSQL yok — tutarlılık, esnekliğin önünde.
SEPA, kart ve Klarna tek akışta. Webhook idempotency var. PCI kapsamı dar tutuldu; kart verisi backend’den geçmiyor.
Frontend CDN edge’de, backend + DB Viyana veri merkezinde — GDPR temiz, gecikme düşük.
Build, test ve staging deploy otomatik. Prod deploy manuel onaydan sonra.
Hatalar 60 saniye içinde Slack kanalımıza düşüyor. Uptime dışarıdan doğrulanıyor.
DE / EN / TR; SEO hreflang ile birlikte. Çeviriler müşteri tarafından kod deploy’u olmadan güncellenebilir.
Dürüst bir geri bakış — “her şey mükemmeldi” anlatısı değil. Her proje bizi biraz daha akıllandırmalı.
Dükkânda geçirdiğimiz iki gün, herhangi bir workshop’tan daha fazla şey gösterdi. O yüzden discovery’yi bölgedeki müşteriler için artık yerinde yapıyoruz.
Önce admin panelini kurup test ettik, sonra shop’u. Böylece işletme sahibi build devam ederken ürün girebildi; bizim de elimizde lorem ipsum değil gerçek veri vardı.
Türkçe sürüm çoğu projede “sonra bakarız” diye erteleniyor. Yilmaz tarafında ise ilk günden kritikti. Sonuç: Siparişlerin %28’i bugün TR dilinden geliyor. Ertelenseydi bu ciro hiç oluşmayacaktı.
Her projenin kendi hikâyesi var — yapı benzer, sektör farklı.
Stripe ön provizyonu ve üye indirimleri olan rezervasyon sistemi. Ocak 2025’ten beri canlıda.
Referansa git → GastronomiTeslimat bölgeleri ve günlük menüsü olan mobile-first sipariş sayfası. Satış ekibi için backoffice uygulaması da dahil.
Referansa git → Lojistik & B2BGecikmede müşteri takip linki ve SMS bildirimiyle gerçek zamanlı rota takibi.
Referansa git →