All projects

DONABEAUTY, Reinach AG2026

DONABEAUTY

Luxurious website for a beauty studio in Reinach AG with treatments, online booking and boutique, in six languages.

The beauty studio DONABEAUTY from Reinach AG wanted a presence that feels like the treatment itself: luxurious, calm, precise and in six languages for an international audience.

Technically unusual: the front end is written in F# and compiled to React 19 with Fable. Type-safe from the data model into the UI, styled with Tailwind on a custom design system.

Prepared behind the scenes: online booking via Supabase, the boutique via the Shopify Storefront API, and payments via Stripe.

The project in 25 steps

Every project follows the same roadmap: six phases, 25 steps, each one documented. This is how it went here.

  1. Start

    Order confirmed, everyone knows the rules

    1. Order confirmedOffer for a multilingual presence with online booking and boutique signed, start and delivery date fixed.
    2. Kickoff meetingGoal in one sentence: make treatments bookable online and reach an international audience in six languages.
    3. Assets & accessLogo, treatment list with prices, studio photos, company details for the imprint and access to domain, Shopify and booking data collected.
  2. Concept

    Structure, design direction, content

    1. Structure & sitemapStructure: home, treatments, booking, boutique, about, contact; every page leads to a booking.
    2. Design directionLuxurious, calm, precise: custom design system on Tailwind, warm imagery, plenty of room around each treatment.
    3. Content finalisedTreatment copy written and fully localised in six languages, studio photos selected.
  3. Build

    Build, show, adjust

    1. Home page draftHome page built in F# and compiled to React 19 with Fable, type-safe from the data model into the UI.
    2. Interim presentationState shown on screen, feedback on imagery and booking flow as a list, direction approved.
    3. All pages & contentAll pages and language variants built, booking via Supabase, boutique via the Shopify Storefront API, payments via Stripe prepared.
    4. Imprint & privacyImprint and privacy policy under the Swiss nDSG, including booking, shop, payment and analytics.
    5. Contact & formsBooking and contact forms with spam protection, delivery and confirmation mail tested, phone tappable on mobile.
  4. Tech & go-live

    Domain, DNS, HTTPS, sign-off, live

    1. Domain & DNSDomain checked at the registrar, records documented, move prepared, mail records untouched.
    2. Hosting & HTTPSHosting set up, certificate active, http redirects to https, backups of site and booking data.
    3. Quality checkClicked through on phone, tablet and desktop: booking flow in all languages, shop, load time.
    4. Client sign-offSign-off carried out with the client and recorded in writing.
    5. Go-liveGo-live on a weekday morning, then booking and boutique checked live.
  5. Visibility

    Google, analytics, basic SEO

    1. Google Search ConsoleSearch Console set up, sitemap with all language variants submitted, hreflang checked.
    2. Google Business ProfileGoogle Business Profile checked and aligned with website, treatments, hours and images.
    3. AnalyticsPrivacy-friendly visitor analytics set up, no cookie banner.
    4. Basic SEOTitles, descriptions and structured data for the salon per language, images with alt text.
  6. Handover & care

    Docs, invoice, plan, reference

    1. Handover documentHandover document with hosting, domain, DNS, Supabase, Shopify, Stripe and all access handed over.
    2. Final invoiceFinal invoice issued from the order.
    3. Care & planCare as a plan: updates, monitoring, backups and security check.
    4. Reference & reviewProject approved as a reference, screenshots and description agreed.
    5. Follow-up after 30 daysFollowed up after 30 days: bookings running, open wishes noted.
  • F# · Fable
  • React 19
  • Tailwind
  • Supabase
  • i18n · 6 languages
View live