client work active-build

CampPing

Offline Bluetooth mesh messaging: every phone relays, delivery is ack-confirmed, and fixed Windows hubs anchor a venue. Pre-audit.

Bluetooth LEAstroStarlightTypeScriptTailwind CSS v4Cloudflare Pages
A measured BLE mesh messaging protocol, led by its specification rather than a promise.
A measured BLE mesh messaging protocol, led by its specification rather than a promise.
Range, relay, internet and hardware requirements stated before anything is claimed.
Range, relay, internet and hardware requirements stated before anything is claimed.
Every difference answers a documented failure mode. Specific, and never a slogan.
Every difference answers a documented failure mode. Specific, and never a slogan.

When cell networks congest or fail, at a festival, in the backcountry, during a disaster, phones stop being useful for the one thing you need them for. The existing answers each ask for something in return: dedicated hardware, a sky view and a subscription, or a tolerance for messages that may or may not have arrived.

What It Is

A Bluetooth mesh messaging protocol where every phone is both broadcaster and listener, passing messages hand to hand at roughly 30 meters per hop with no internet required. Group messaging, end-to-end encryption, dictionary compression sized for Bluetooth’s bandwidth, and last-known-location mapping. Internet is optional: it adds bandwidth, never a dependency. Cross-platform across iOS, Android, and Windows.

The part that is actually different is delivery confirmation. Ack and relay tell you the message arrived. In search and rescue or incident response, “did it arrive” is the entire product, and a broadcast you cannot confirm is a guess.

The second part is fixed infrastructure. Windows relay hubs are always-on nodes with a dashboard, aggregating and forwarding per device. A hub anchors a venue and backstops the mesh when phones go to sleep, which is the mitigation for Apple suspending Bluetooth advertising the moment an app leaves the foreground. It is also the commercial line: the protocol is open, the operational layer is not.

Why This Category Keeps Failing

For fifteen years the same idea has launched, gone viral from a blackout or a crowd rather than from marketing, and collapsed the same three ways. Security researchers break the crypto. Or the crowd disperses and the mesh goes quiet, because a mesh with no nearby users is only a phone. Or the team learns that people will not pay for an app they need once a year.

Building it while knowing all of that is the actual design constraint. Cold start, iOS backgrounding, and a consumer price permanently anchored at zero are the three walls, and each one has an answer here rather than a slogan.

The Discipline

Claims broke this category, so this one publishes benchmarks instead.

No performance numbers appear anywhere, on the public site or on this page, until the test campaign runs. When they do, the set is fixed in advance: delivery rate by hop count, latency with ack round trip, throughput after compression, battery cost per hour relaying, and the honest iOS degradation curve, each measured with and without a hub. Independent security audit before a single word of marketing aims at high-risk users. Thresholds are written down before testing starts, so the goalposts cannot move after the data lands.

Consumers ride free by design. The organizations responsible for other people’s safety are who pays.

Status

Pre-audit and benchmarks pending. The protocol now has a public name, CampPing, though the site still routes every mention through a single config value rather than hardcoding it. The site says all of this in a status strip across the top of every page: the disclaimers are the chrome, not the fine print.

Stack

The public site is Astro with Starlight docs, TypeScript, Tailwind, and Cloudflare Pages. A build-time claims guard scans the compiled output and fails the build on unearned statistics or pre-audit language, which is the mechanism that keeps the marketing surface from outrunning the evidence.

Development timeline

11 logged updates over 34 days, 7 Jul 2026 to 9 Aug 2026.

  1. The stale-production blocker was already fixedfix

    What was checked. Neither was true by the time it was read.

  2. First borrowed design decision, and a CI deploy that never deployedfeature

    A viewfinder frame, taken from a recorded reference. The marketing layout gained four 1px open corner brackets, applied from design-hub reference 21hrs-space#corner-bracket-hud-frame.

  3. Named the protocol: CampPing (full vault-wide rebrand)feature

    the protocol has a public name, CampPing, after its first use case: keeping a campsite coordinated when there is no cell signal. This closes the "no public name yet" open item that had stood since 2026-07-08.

  4. Canonical brand system codified in design/feature

    Two decisions baked in: (1) --measure (slate-teal) is promoted from vestigial to a documented "measured-data" role for figures, chart series, and litepaper numbers; (2) the standing claims rule is written into Do/Don't — marketing never…

  5. Homepage animation: from scroll-story to a reusable canvas enginefeature

    a request to make the site's UI/UX richer and more animated, "using all the animation tools possible," across the user's properties.

  6. Motion layer on site/ (relay animation + scroll-scrubbed walkthrough)feature

    Ask: a scroll-scrubbed video landing experience, generated with Higgsfield via the scroll-world skill, "to show the value of consulting with a high tech AI native firm."

  7. /17 — Site published to production; the /docs bundle found emptydocs

    Shipped: the motion build deployed to Cloudflare Pages via a preview branch first (motion-preview.campping-site.pages.dev), then to production on the custom domain. Preview-first was not ceremony: the sandbox cannot drive a browser, so a…

  8. /14 — Public marketing site (draft) built at site/feature

    The wiki research (2026-07-08) was written from the start so it could port to a public surface. This session built that surface: an Astro static site at campping/site/, covering a Home page, a Use Cases section (5 segments), and a…

Show the earlier 3 entries
  1. Litepaper path + go/no-go frameworkfeature

    Built the execution path from "protocol exists" to "publish litepaper" to "go/no-go decision," grounded in two fresh research pages on what documentation and benchmarks must survive in this category.

  2. Wiki build-out (competitor profiles, fresh research)docs

    Built the full competitor wiki in wiki/ — one story-led page per player, each freshly web-researched (2025 through July 2026), written to brand constraints (zero em dashes, no cheerleading, sourced and dated) so pages can port to the…

  3. /08 — Business development session #1 (revenue models + gating)feature

    Protocol and reference app built. BD conversation worked through revenue models (area 1 of 8).

Written from this project's decision log as work happened, not afterwards. See every project →