How we build
One platform behind every app we make
PastPing, Hauntifi and ShadowPlaces are three subjects on one shared platform. Here is how it works, and why it matters for the apps you trust.
The platform
Three apps, one engine
The Proximity Apps share the same mapping, search and points-of-interest engine. Each app has its own name, branding, content and audience, but they share an ingestion pipeline, a catalogue and a codebase.
A feature built for one app arrives in all three, and adding a new subject is a configuration exercise rather than a new product.
Configured, not rebuilt
The web address or the mobile build decides which app you see. Branding, themes, labels, navigation and feature flags are data, not code.
One ingestion pipeline
A metadata-driven pipeline brings places and stories into a single shared catalogue instead of a separate one per app.
Shared catalogue and search
Landmarks, reported sightings and case locations live in one catalogue, so maps and search behave the same everywhere.
Storytelling
Narration that is generated, not hand-recorded
The apps tell stories: audio narration, written text and photos about the places near you that match your interests.
An AI content pipeline writes the prose with Azure OpenAI and turns it into spoken narration with Azure Speech. Generating the content lets the apps cover the long tail of places that a hand-built catalogue could never reach.
Infrastructure
Built on Microsoft Azure
The backend runs as gRPC services, with Azure Table Storage for data and Blob Storage for media. Sign-in uses Microsoft Entra External ID.
This website follows the same habits: pages are prerendered and served from Azure Static Web Apps, accessibility and colour contrast are checked automatically on every change, and no third-party script loads until you agree to it.
How we work
The habits behind the code
Data over special cases
New subjects and settings are configuration wherever possible, so one improvement reaches every app.
Accessible by default
Keyboard support, readable contrast and reduced motion are tested automatically, not left to a final checklist.
Honest about status
Our apps are in development and we say so. There are no download buttons until there is something to download.
See the apps built on it
Three subjects on one platform, with more to come.