GAPTCHA
Find, scan, win
2017 · with Sean Nakamura, Tony Gaskell, Brandon Baris and Joelle Torneros
GAPTCHA (Geo-Augmented Place That Checks Authenticity) is an augmented reality scavenger hunt. We printed square markers and left them around for people to find. Scan one with the web app and a green 3D arrow shows up over your camera view, pointing at a hidden checkpoint. An arrow gives you a direction but not a distance, so the idea is to collect bearings from a few markers and walk to where they cross. When you think you're standing on it, you tap Did I Win.
Near the original spot in Honolulu you hunt the hackathon checkpoint. Anywhere else, it hides a demo checkpoint 100 to 300 meters from you, and a live feed shows simulated hunters playing alongside you.
The photos below are from that weekend.
Watch it
Screenshots




How it's made
Node.js · Express · A-Frame · AR.js · Leaflet · AT&T M2X
We built it at AT&T's hackathon in Honolulu in March 2017. My part was the server, the direction math and the homepage: an Express route that took your phone's position and worked out the bearing to the checkpoint with the Vincenty formula, and a live map from AT&T M2X, which also held the checkpoint so it could move during the game. Heroku and M2X are long gone, so in November 2026 I moved the checkpoint logic into the browser.
AR.js finds the printed marker in the camera, and the browser works out the compass bearing from your GPS position to the checkpoint and turns the arrow toward it. Everything runs in your browser now: the checkpoint, your tries and your last 50 scans live in local storage, and Did I Win checks whether you're within 20 meters.
If you liked this project, consider sharing it on Hacker News, Bluesky, LinkedIn, or X.
← All works