Arbutus Lab
← Back to all case studies

Case study

Berber Stay & Berber Food

Pro-bono restructure for a family homestay and on-site restaurant in Tamri, Morocco. Two linked sites, fully CMS-editable, no backend.

LivePro bonoHospitality
Berber Homestay homepage, Tamri, Morocco. Authentic Berber Experience.

Hassan runs a family homestay and on-site restaurant in Tamri, on Morocco's Atlantic coast north of Agadir. Three meals a day from the family farm. Surf, dunes, and Paradise Valley within a short drive. For years, the entire discovery layer for this (homestay, food, and a half-dozen experiences) was a single Airbnb listing. Everything else was invisible until guests were already on the property.

100% of traffic to date is direct: WhatsApp shares, QR scans, word-of-mouth. No paid ads, and no organic search traffic yet (the site is new). The discovery layer is built; the audience is reaching it through real-world channels.

The problem

  • Replace Airbnb-only reach with a direct discovery channel Hassan owns.
  • Surface the homestay AND the kitchen AND the on-site experiences, not just the room.
  • No backend, no payment gateway, no recurring infra cost beyond a domain.
  • Owner edits prices, packages, and content without breaking anything.
  • Every CTA must work on a slow 3G phone in Morocco.

What was built

  • Two linked sites: homestay (berberstay.com) and on-site restaurant (food.berberstay.com), brand-consistent.
  • WhatsApp-first booking. Reservations, pre-orders, and arrival notifications route directly into Hassan's WhatsApp with full context (dates, guests, line items, season) pre-filled.
  • 3-tier seasonal pricing engine, arrival-month aware, fully CMS-editable.
  • 10 CMS collections: pricing, packages, activities, gallery, all page content. Hassan edits without touching code.
  • Moroccan earth-tone brand system, lazy images, slow-3G friendly. SEO essentials (sitemap, OG tags, branded 404) included.
  • On-location photography, Tamri.

In use

The pieces of the system, as guests and as Hassan see them.

  • Berber Homestay homepage hero, stone wall, traditional architecture, Tamri Morocco

    berberstay.com, the homestay site.

  • Berber Food homepage hero, tagine close-up, Moroccan textiles

    food.berberstay.com, the on-site restaurant as its own brand.

  • Two booking option cards: Book a Stay via WhatsApp, or Book on Airbnb

    Direct WhatsApp booking sits next to the existing Airbnb path: both honoured, neither hidden.

  • Packages page showing Long Weekend €175 and Full Week €395 cards, Low Season banner

    Seasonal pricing applied automatically: Low/Mid/High Season swap without code.

  • Arrival timing widget asking how many hours until you arrive, with quick-select buttons

    Arrival timing widget: pre-fills a WhatsApp message with full context, no app install required.

  • Sveltia CMS collections list: Pricing, Site Links, Home Page, Accommodation Page, Experiences Page, Packages Page, Gallery Page, Activities & Rentals, Book Page

    10 CMS collections covering every page Hassan can change.

  • Sveltia CMS edit form for the Packages Page Content: Label, Heading, Subtext fields

    Per-section edit form. No HTML, no Markdown, just plain fields with clear labels.

Stack

  • Astro 5
  • TypeScript
  • Sveltia CMS
  • Cloudflare Pages
  • Cloudflare Workers (auth)
  • GitHub-as-database
  • DocuSeal

Handoff

  • GitHub repos transferred fully to the client's account.
  • Cloudflare Pages projects + DNS handed off to the client's Cloudflare.
  • Sveltia CMS auth via shared Cloudflare Worker, documented dependency.
  • Engagement Agreement and Handoff Package PDFs signed via DocuSeal.
  • Marc removed from all admin surfaces post-transfer.

See it live

The same discipline shapes the analytics work too

Discovery → fixed scope → real handoff → you own the result.

Start a conversation