Product & software builds
A statewide discovery app that gamifies 16,000 landmarks.
A cross-platform mobile app turning a 16,000-point historical-marker dataset into a GPS check-in game: PostGIS, badges, streaks.
A statewide dataset of more than 16,000 historical markers existed as a static list: accurate, complete, and inert. There was no way to explore it in the field, no reason to go visit, and no record of who had been where.
We built a cross-platform mobile app (iOS, Android, and web from one Expo/React Native codebase) that turns the dataset into a location-based game. A PostGIS-backed Node/Express API runs radius queries against the 16,000+ points; the app verifies GPS check-ins and awards points, badges, and streaks over an interactive map. A Next.js admin dashboard manages content, and the whole thing ships through an EAS build and a Docker/Coolify pipeline.
- Turns an inert reference list into a reason to go outside. A static dataset became an explorable, gamified experience with GPS-verified visits.
- One codebase serves iOS, Android, and web, so the whole audience is reachable without maintaining three separate builds.
- The PostGIS backend makes “what’s near me” instant across 16,000+ points, real geospatial querying, not a filtered list.
- Points, badges, and streaks give people a reason to return and to go further, engagement designed in, not bolted on.
landmarks, one geospatial dataset
one Expo codebase
instant location search + GPS check-in
gamified reason to return
Client name and identifying details withheld by design. Every figure here is drawn from the system we actually delivered.
More case studies
All workMembership & advocacy · Organization-wide platform
One operating platform for a 600,000-supporter organization.
ReadData architecture · Coordinated back-office systems
Four department systems that finally agree on who someone is.
ReadCommunications · Deliverability engineering
A self-hosted email operating system, built to survive Gmail.
ReadYour work would get the same discretion.
Tell us what's breaking. We'll tell you whether we've solved something like it. And if we take it on, your name stays yours.
Start with a diagnostic