Proof of work · Live

imbali

A booking-and-storytelling platform for a real, single-operator Eastern Cape heritage tour business. Not a demo — the operator is Siyanda, amaXhosa, from the area, with the cultural and familial access the content needs.

Visit the live site ↗View on GitHub ↗
R99 / R10
regional self-drive pass / per segment
113
automated tests, all running in CI
iOS + Android
native apps, with a Kotlin/Swift-ported geofence engine held to parity tests against the original

Three ways to tell the same land

The magical world of the amaXhosa

Cosmology, izibongo (praise poetry), the work of amagqirha, and the 1856–57 Nongqawuse cattle-killing prophecy and its aftermath.

Frontier War history

The Wars of Dispossession, 1779–1879, along the Fish–Keiskamma–Kei frontier — Egazini and the 1819 Battle of Grahamstown, Makhanda the prophet-warrior, Maqoma and the Waterkloof campaign, the fort line.

Makhanda → Maqoma: a geology transect

The Cape Supergroup, the Great Escarpment, Gondwana deep time — “the route's naming, colonial town to Xhosa chief, is the argument.”

What it looks like

Homepage — the three tour lines and featured tours

Homepage — the three tour lines and featured tours

Tour catalogue, with theme and difficulty filters

Tour catalogue, with theme and difficulty filters

A full tour page — narrative, route map, itinerary, reviews

A full tour page — narrative, route map, itinerary, reviews

Self-drive region catalogue

Self-drive region catalogue

A region page — preview map, cultural credits, pass or per-segment purchase

A region page — preview map, cultural credits, pass or per-segment purchase

The guide — Siyanda's own page, in his own voice

The guide — Siyanda's own page, in his own voice

Offline by design

The self-drive audio tours work with zero signal — the Amatola and Waterkloof are genuine dead zones. Routes are downloaded as versioned packs before the drive; a two-tier geofence engine (a wide approach ring, then a tight place fence) triggers narration with no network call at all. The engine now exists as three independent implementations — TypeScript (web), Kotlin (Android), Swift (iOS) — held to the same fixture-driven parity tests, so a rule change on one platform can't quietly drift from the other two.

A cultural line, not just a feature list

isiXhosa and English narration are human-recorded and never machine-synthesised — an explicit editorial policy, not a cost-cutting default. Every tour credits a named cultural advisor. From Siyanda's own page on the site:

“Most heritage tours are told by someone who studied the place. This one is told by someone who belongs to it.”

“A project of Indwe-Afrika Development Consultants — built the way we tell it: one guide, paid directly, keeping the story in the hands of the people who hold it.”

← Back to our work