E-bike retail and mobile service20263ktogo.com

3KtoGO

A storefront and a booking system for a company that delivers e-bikes assembled and repairs them in your driveway.

The client

An e-bike business in Costa Mesa, California, running two operations under one roof. It sells bikes and delivers them fully assembled and ready to ride — free to the door across Orange County, paid further up the California coast — and it runs a mobile repair service where a technician drives to the customer instead of the customer hauling a heavy bike to a shop.

The problem

Neither half of the business had a working front end. There was nowhere to buy a bike online, so every sale ran through a phone call, and nowhere to book a repair, so every job started as a call or a message that could not be priced until someone worked out how far away the customer lived. The mobile fee varies by distance, which meant pricing every enquiry by hand — and quoting the wrong tier whenever an address and a ZIP code disagreed. The catalogue was manufacturer inventory that changed under them, and nobody was going to retype it. Search traffic was branded only: someone typing "e-bike repair Irvine" had no page to land on.

What was built

01

Book a repair without an account

Seven steps, and the first one is the customer's ZIP code. Enter it and the form says whether the area is served and what the mobile visit fee is, before asking for a name, a phone number or an address. Later steps collect the symptoms, the bike brand, an optional photo of the problem, a preferred time window and the contact details, then show a review screen. On submit the server re-derives the price from the validated street address and emails a confirmation with a booking reference.

The two questions that used to start every phone call were "do you come to me" and "what does it cost". Both are now answered in the first ten seconds, by the page, at any hour. The fee varies by distance, so answering it honestly and instantly is the whole point.

02

The form refuses work the business will not do

Battery is one of the symptom tiles. Choosing it does not fail validation later: it stops the flow there, explains that lithium-ion batteries are not repaired or installed for safety reasons, and offers replacement batteries in the shop instead. The block is enforced again at submit, so a battery-only request cannot get through even if it slips past the step gate.

Battery work is the one job this business will not take, on liability grounds. Saying so in a FAQ nobody reads still produces the call. Saying so at the exact moment the customer selects it turns a refusal into a product sale.

03

A coverage map that also shows the price

A Leaflet map of the Orange County service area, drawn from Census ZIP boundaries and shaded in three greens for the three fee tiers. Hovering any neighbourhood names the city, the ZIP and the exact visit fee. City chips under the map fly the view to that city. A toggle drops the fees and shows plain coverage.

"Do you come to me, and what will it cost" is a geography question, so it gets a geographic answer. It also does the work of a sales page: a customer in San Clemente can see they are covered and that it costs more than Costa Mesa, without anyone having to say so.

04

A storefront that maintains itself

The shop splits into e-bikes and accessories, then filters by brand and category and sorts by price, with counts that update against the other filter so a chip never promises results the other filter excludes. Filter state is written to the URL, so a filtered view can be shared. The catalogue behind it is pulled from the manufacturers' own feeds by a daily job.

Nobody was ever going to retype a manufacturer's catalogue, or keep up when it changed. The sync means the shop is current without anyone touching it, and the filters mean a fifty-item accessory list is still navigable.

05

Product pages that price the whole job

Colour and size variants with real swatches, a gallery with a lightbox, a specs accordion, and a buy box where the customer picks professional assembly or a boxed bike, sets a quantity and enters a delivery ZIP. The Buy Now total updates as those change, then hands off to Stripe. Accessories are treated differently: they are delivery add-ons, not standalone shipped items, so they never offer online checkout.

An e-bike is not a one-price product. Assembly and delivery are the reason customers choose this company over a warehouse, so the page prices them in the open instead of leaving them to a follow-up call.

06

Sixteen city pages from one data file

Each Orange County city (plus a county-level hub, Long Beach and Riverside) gets its own page with a unique headline, local copy, the ZIP codes served, links to neighbouring cities and a local FAQ that answers cost, brands and availability in that city's name. All of it comes from a single typed data file that also feeds the sitemap.

People search for a mechanic by their own town, not by a brand. Before this there was nothing for those searches to land on. One data file means a new city is a few lines, not a new page build.

07

The whole site in English and Spanish

A single toggle in the header swaps every public page, including navigation, product copy, the FAQ and all seven steps of the booking flow. The crawler-facing structured data stays in English while the visible page renders in the reader's language.

Orange County is heavily bilingual and the customer filling in a repair form is often not the person who reads English marketing copy. A half-translated site would be worse than none: the flow that takes money and books a technician is translated too.

Built with

Visit 3KtoGONextStructural Systems
MAKE IT
YOURS
Start a project