sheet index

this page

  1. 01summary
  2. 02Where I looked
  3. 03What I did and delivered
  4. 04Decisions

home page

  1. 01introduction
  2. 02about
  3. 03interfaces
  4. 04skills
rev. 2026.09

Fresh beverage producer

D2C · narrow product range

summary

Home page opening: three bottles and a choose-your-pack button
Product page: pack, district, delivery day and time slot selection
Delivery step of checkout: contact and address form, order summary alongside
Admin panel "Today" screen: the day's orders grouped by time slot
Local demo build, not yet live. Brand, labels and location details are blurred; people, orders and contact details are made up.
came in
An order site built on a ready-made theme and plugins that could not carry the rules of daily production and morning delivery.
examined
The state of the current site, competitors' order flows, delivery rules (area, day, time slot), regulatory gaps (KVKK, distance selling, food labelling) and the business's operational needs every morning.
decisions
Not classic e-commerce for a narrow range, but a storefront that leads to the sale and a panel that runs the day; a light build from scratch instead of a theme. The delivery day is chosen on the product page, checkout is three steps without an account. Scope was narrowed with cut lines; subscriptions and build-your-own packs moved to a later phase.
techniques
Laravel, Blade, Alpine.js, Tailwind, Vue + Inertia (panel), design system, delivery day and time slot rules, Pest.

Where I looked

The current site was built on a ready-made theme and plugins. I compared its state with competitors' order flows: its weakest points were legal information and the order flow. Its strength was in place: same-city morning delivery and a ready subscription model.

The catalogue is small but the rules are many: production is daily, delivery goes only to certain areas in a morning time slot, Sunday is closed, the earliest delivery is two days out. Off-the-shelf e-commerce patterns struggled to carry these rules. And every morning the business was looking for the same answer: how many bottles to prepare today, which address they go to, which payment is pending.

What I did and delivered

  • State review and comparison. A review of the current site and the competitors, and a one-page summary of the same findings without measurement jargon.
  • Design system. Colour, type, spacing and components came first; pages were assembled from them. Screens that were never drawn separately (sign-up, member dashboard) could be built straight from the system.
  • Storefront and checkout. The home page; a product page with a delivery day picker, ingredients, nutrition, allergens and FAQ; a question dialog that keeps the product context; the cart and the front end of a three-step checkout.
Product page: ingredients, nutrition (analysis pending), allergens and FAQ.
Product page: ingredients, nutrition (analysis pending), allergens and FAQ.full size
  • Accounts and member dashboard. Sign-in, sign-up, password reset; past orders, personal coupons, campaigns and addresses on the dashboard. "Order again" and "write a review" for delivered orders.
  • Admin panel, first phase. A "Today" screen, order list and detail: advancing status, confirming bank transfers, cancelling, notes, export.
Cart: quantity, coupon and order summary.
Cart: quantity, coupon and order summary.
Member dashboard: last order, personal coupon, campaigns.
Member dashboard: last order, personal coupon, campaigns.
Opening on a phone.
Opening on a phone.
Product page.
Product page.
Cart with a sticky total bar.
Cart with a sticky total bar.
Delivery day and time slot.
Delivery day and time slot.

Decisions

  • Small catalogue, big operation. Rather than classic e-commerce for a handful of packs, I focused on two parts: a storefront that leads to the sale and a panel that runs the operation.
  • From scratch, light. A small build that keeps performance and maintenance in hand, instead of the weight of a theme and plugins.
  • Delivery day on the product page. If customers learn the delivery limits at checkout, they abandon the cart. Area, day and time slot are chosen on the product page; an unserved area triggers a warning at once. Date rules live in one place and use the business's time zone.
  • Three-step checkout, no account needed. Cart, delivery, payment. Legal consents are separate and required; marketing consent is separate and optional.
  • Regulation is an acceptance criterion, not an add-on. KVKK notice, cookie preferences, distance selling and pre-contract information, VAT-inclusive prices, food label fields and seller details were designed as steps of the flow.
  • Not inventing missing data. Without a lab analysis the nutrition table says "analysis pending"; without reviews it says "no reviews yet". No fake ratings or numbers.
  • The right price lives on the server. The on-screen calculation only updates the summary; the server decides the amount. Coupon conditions are checked on the server too.
  • The "Today" screen. The panel opens with the day's order, bottle and address counts; pending transfers and missing legal texts come first; orders are grouped by time slot and advance with one click.
  • Managing scope with a cut line. What would not make the first release was written down at the start: subscriptions, build-your-own packs and review moderation moved to a later phase.
  • Handover-ready code. Working documents and secrets were kept out of the code.
Breakdown