Skip to content
BackTourism

Pure Wilderness: a 14-page build spec for a safari operator running on spreadsheets

Discovery and Phase 1 specification for a bespoke Kenya, Tanzania, and Uganda safari operator

Overview

Pure Wilderness Safaris is a premium safari operator run by Catherine Coulson, sitting inside the Alex Hunter Safaris umbrella. The business handles roughly 40 bespoke itineraries a year across Kenya, Tanzania, and Uganda, with 2025 calendar revenue of $1.10M and 2026 already booking at $1.13M. Before this engagement the entire operation ran on Excel: a master AHS and PW booking schedule with 326 itinerary references, 382 invoices, dual-year calendar and insurance-year tracking, and per-trip itinerary workbooks with 5 to 13 sibling sheets containing hand-coded SUM ranges, stacked commission ladders, per-family cost splits, and threaded comments in the margins. Availability for 31 suppliers was maintained by hand in a frozen-pane grid on one tab, updated by signing into each supplier portal in turn. We ran a first discovery sprint before the 7 April 2026 meeting, then a second, longer sprint after it. The deliverable was a 14-page Phase 1 build spec microsite, deployed at https://kaara.works/purewilderness/v2, that Catherine signs off on as the contract for the $5,000, 8-week, 4-milestone Phase 1 build. Every factual claim in the spec was cross-checked against the underlying xlsx files by a second sub-agent pass. Phase 2 (AI rate card parsing, supplier availability integrations, fuzzy supplier de-duplication) and Phase 3 (client portal, WhatsApp Business API, QuickBooks tightening) are quoted after each prior phase ships.

Key Features

  • Two-sprint discovery process: a pre-meeting 10-page microsite and xlsx leave-behind packet, followed by a post-meeting 14-page Phase 1 build spec microsite
  • 14-page Phase 1 build spec microsite deployed to https://kaara.works/purewilderness/v2 with splash page, three refinements, module to phase reframe, 14-capability tour, itinerary builder walkthrough with annotated Wamplers workbook, 9-state booking enum, money mechanics with visible FX and VAT math, three-country modelling, per-supplier payment profiles, bidirectional forms, dashboards, extras, roadmap, and signoff
  • Python extract_data.py build step that reads the 3 discovery xlsx files directly, applies light PII redaction (last names to initials, passports and DOBs blanked), and writes a single data.json that every page reads from
  • deploy.sh with a zero-em-dash gate, a zero-AI-model-name gate, and a file inventory check before rsync and git add, so no stylistic drift reaches production
  • Two sub-agent verification passes per deploy: one cross-checking every factual claim against the source xlsx files (7 errors caught first pass, all fixed), one checking brand voice and accessibility
  • Phase 1 scope consolidated from the original Module 1 / 2 / 3 structure into a single 8-week phase after Catherine reframed the itinerary as the spine of the whole lifecycle
  • 9-state booking enum captured verbatim from Catherine (Not yet booked, Provisionally booked, Confirmed, Deposit paid, Invoice received, Deposit POP shared, Balance requested, Balance POP shared, Fully paid) plus a structured free-text annotations field that models how her 52 margin comments actually behave
  • 6-tier commission Q-value ladder modelled from the Wamplers workbook column Q (30%, 25%, 20%, 15%, 10%, 0%, and a 'set' sentinel for hand-typed sell rates) with conservancy fee stacking rules and a 20% margin floor baked into the spec
  • Per-supplier payment profile entity supporting four patterns (deposit + balance, advance, consolidated monthly, per-client full) plus canonical outliers like Rivertrees (no deposit, full payment 15 days prior)
  • Dual-year reporting modelled on the AHS booking schedule (calendar year and December to November insurance year side by side, country-split by Kenya, Tanzania, Uganda and beyond)
  • Three-country data model (Kenya, Tanzania, Uganda) with agent-mediated suppliers (Nomad, Experience Uganda) as a sub-type, driven by the Stratford Family Tanzania file and the rate card catalogue
  • Signoff page on the microsite with scope and pricing toggles, a needs checklist, and an export-to-markdown button so Catherine can hand her decisions back as a single file
  • Coexistence with the original proposal microsite at /purewilderness, using the same file-plus-directory pattern already proven by the Karisia page, with a base href fix for the Vercel cleanUrls subpath trap

Results

Discovery sprints delivered2
Phase 1 spec pages shipped14
Phase 1 capabilities scoped14
Source itineraries reverse-engineered3
Rate cards catalogued across 3 countries100+
Fact errors caught in verification pass7
Phase 1 build quote$5,000 over 8 weeks

Tech Stack

Static HTMLCSSJavaScriptPython (openpyxl)Next.js 16VercelrsyncSub-agent verification

Want similar results?

Let's discuss how we can build a custom platform for your business.