Skip to content
All projects

Case study · E-commerce + SaaS

Maison Haute

From a town-centre boutique to real sales software, online and at the counter.

Maison Haute is a decor, art objects and tableware boutique in Menton. It sold in its shop window and on a marketplace, Etsy. It wanted to take back control: its own online store, and one tool for both the website stock and the shop stock.

Visit the site · maisonhautefrance.fr
Maison Haute home page on desktop
Maison Haute home page on phone
01The brief

Stock was kept by hand in a spreadsheet, and online sales went through a platform that was not its own. The store had to sell online in the house style, and every sale, online or at the counter, had to update the same stock, with no double entry.

02What we built

For visitors

  • Catalogue by collection, search, detailed product pages, wishlist
  • Multi-step checkout: account, delivery, payment
  • Delivery at the carrier's real rate, calculated live
  • Click & collect: pick-up slot chosen at checkout
  • Secure payment and promo codes
  • Customer account, reviews, journal and newsletter
  • French and English

For the team

  • Website and shop stock in a single table, per variant
  • Three numbers per item: on the shelf, held by a payment in progress, available
  • Counter sales entered from a phone, search by reference or barcode scanner
  • Shop hours, pick-up slots and one-off closures editable
  • Accounting by channel, online and in-store: net, VAT, numbered invoices, ledger
  • Excel and CSV exports for the accountant
  • Orders, customers, promo codes, reviews, homepage and statistics managed without a developer

The management area is private: we describe it, we don't show it.

03The life of an item
  1. 01On the shelfThe item is entered once, with its variants and reference.
  2. 02OnlineIt is on sale on the website with the shop's real stock.
  3. 03HeldA payment in progress sets it aside: it can never be sold twice.
  4. 04SoldOnline or at the counter, the same stock goes down.
  5. 05Shipped or collectedCarrier label, or in-store pick-up at the chosen slot.
  6. 06AccountedInvoice, VAT and revenue by channel, ready to export.
04Architecture
Maison Haute
  • InterfaceNext.js · ReactServer-rendered pages: instant display, well read by Google, in French and English.
  • ServerNode.js · global networkThe site runs close to each visitor; every amount is recalculated by the server, never by the browser.
  • DataPostgreSQL databaseProducts, variants, stock, orders and accounts in a secured database, with separate rights for the shop.
  • PaymentBuilt-in paymentCard and mobile payment without leaving the store; stock is held during payment.
  • ShippingLive carrier ratesShipping is read live, then re-checked by the server. If the carrier does not answer, in-store pick-up stays available: shipping is never made up.
  • E-mailAutomatic e-mailsConfirmation, shipping, ready for pick-up: sent from the shop's own domain, in its colours.
  • MonitoringReal-time monitoringErrors and incidents caught in real time, before a customer sees them.
05The Bou Made advantage

Everything native. Nothing rented.

06In numbers
  • Public pages33
  • Management screens27
  • API endpoints90
  • Automated tests written1178

Measured quality

On desktop

  • 100Accessibility
  • 100Best practices
  • 100SEO

On mobile

  • 100Accessibility
  • 100Best practices
  • 100SEO

Counted in the project code on 29/10/2026. Lighthouse scores on desktop and mobile, measured on 29/10/2026.

A project like this one?

Start a project