Quotes & booking · Bilingual sites · Sign & print

A bilingual site where customers build their own print quote.

Built for Conception Design, a sign, print and apparel decoration shop in North Miami Beach that mostly sells to other businesses.

The Conception Design home page on a laptop, in English
Built
A two-language website with a step-by-step quote builder and artwork upload
Stack
NetlifyNetlify FormsPlain HTML, CSS, JSGoogle Maps
Timeline
August to September 2026. Live since September 3, monthly care since October
Status
Live, with MUVES looking after it every month
Scale
Every page in English and Spanish
The problem

Every price started with a phone call.

A sign shop counter with a ringing phone and two speech bubbles, one in English and one in Spanish, above sample banners and shirts.

A sign, a wrap or a run of embroidered shirts can only be priced once the shop knows the product, the size, the quantity, where the print goes and what the artwork looks like. That is a lot to collect on a call, and the shop serves customers in both English and Spanish.

The shop needed a site that collects all of it in the customer's language, with the artwork attached, before anyone at the counter has to ask.

What we built

A static site that does one job well: take the request.

No build step, no outside scripts at runtime, no database to patch. Pages, a quote builder and a form service, with four controls around them.

CUSTOMERSTATIC SITE ON NETLIFYTHE SHOPCustomer on aphoneEnglish or SpanishTheir artworkA logo file, aphoto, or adescription1Pages, twolanguagesOne tap switchesevery page EN/ES2QuotebuilderService, item,quantity, wherethe print goes3Recap andcartThe customerchecks it allbefore sending4NetlifyFormsRequest and filesup to 8 MB, to theshop5Consent gateDecline means themap never loads6SecurityheadersCSP and HSTS,checked on thelive site7Changeprotocolcheck.sh beforeevery change8InstantrollbackAny release can beundoneSearch layerCanonical tags,Open Graph,business dataShop inboxThe request, withthe artworkattachedShop prices thejobA person quotes,not the siteGoogle profileHours and reviewslink backguardraila person decides
How it fits together. The customer's request and artwork go from the builder to Netlify Forms and on to the shop's inbox. A person at the shop does the pricing. The red boxes protect the visitor and the site.
The quote builder

What it asks, in order, on a phone and in either language.

  1. Pick the service

    Signs first, then the rest, in the order the shop wants to sell them.

  2. Pick the item

    For example a banner, a vehicle wrap or a shirt style.

  3. Say how many

    Quantity drives price, so it is asked early.

  4. Show where the print goes

    Placements are drawn on simple garment diagrams, front and back, so "left chest" means the same thing to everyone.

  5. Attach the artwork

    Upload a file, up to 8 MB per request, or describe the design in words if there is no file yet.

  6. Check the recap, then send

    The customer sees the whole request in a cart before it goes. Netlify Forms keeps it with the files and emails the shop's order address.

The quote builder on a phone, showing a print placement step
Guardrails

A cookie banner that actually means it.

Many sites load tracking whatever the visitor clicks. Here the choice is a real gate, tested both ways on the live site.

The visitorAcceptsDeclines
Google Maps on the contact pageLoadsNever contacts Google. The address and a directions link stand in
A half-finished quoteCan be kept in the browser to finish laterKept in memory only, gone when the tab closes
Security headers (CSP, HSTS)OnOn
How it runs

Changes are checked, and any release can be undone.

A neat stack of release cards like a deck, the top one being lifted off by a curved undo arrow to reveal the previous one.
  • A change protocolscripts/check.sh and a written protocol run before every release, so the site can keep changing without breaking.
  • Instant rollbackEvery release is kept on Netlify, so a bad one is undone in seconds.
  • Found on Google, in the owner's nameCanonical tags, Open Graph and LocalBusiness data are on every page and validated. Search Console and the Business Profile stay under the owner's own account, with the setup steps written down for him.
  • Their reviews, their wordsGoogle reviews are shown word for word and link back to the shop's profile.
  • Monthly careSince October we keep the site, the domain and the content up to date.
What changed

The first conversation now happens on the site.

Sept 3, 2026live on its own domain
2languages on every page
8 MBof artwork per quote request

A customer can describe the job, place the print and attach the artwork before anyone picks up the phone, in English or Spanish. Order tracking, so customers can see where their job stands, is the next phase we have discussed with the shop.

What we'd reuse

Any job that can't be priced until you know the details.

The builder's questions change, the shape does not: a few guided choices, a photo or file, a recap, a person who prices it.

BusinessWhat the builder would ask
A fence or cabinet installerLength or room size, material, photos of the space
A landscaping or cleaning companyProperty size, how often, photos, preferred days
An event rental companyDate, headcount, items, venue address
A detailer or wrap shopVehicle type, the service, photos of the vehicle

Do your prices still start with a phone call?

Tell us what you sell and what you need to know before you can price it. The first call is free.