Spray paint the real world without leaving a mark on it.
Git Out of Town is a shared AR graffiti wall built at SummerHacks 2026. Draw or place a sticker in the iOS app, spray it onto a real surface, and it appears on a public map seconds later. Anyone can browse without an account or an install. Painting currently requires the native iOS build.
Live map · Live data · Devpost draft
The app includes PencilKit drawing and a 36-piece sticker pack. On LiDAR iPhones, ARKit projects the art onto measured geometry so it can follow corners, inherit wall texture, and hide behind real objects. Other iPhones fall back to plane detection.
Pieces are placed using the best signal available: a shared printed marker, visual ARWorldMap
scans, surface alignment, or GPS. Freehand art posts immediately, then an optional Replicate
pipeline can restyle and weather it.
The website uses a custom MapLibre style over OpenFreeMap tiles. PostgreSQL stores the wall and
pushes new pieces to open maps through Server-Sent Events. The /data dashboard shows live
locations, colours, surfaces, painting time, and views.
Reve generated 18 sticker symbols from our shared style guide and contact-sheet prompts. The other 18 came from the project's procedural graffiti renderer.
SwiftUI · ARKit · SceneKit · PencilKit · Next.js 16 · React 19 · TypeScript · MapLibre GL · PostgreSQL 17 · Replicate · Docker · nginx · Traefik · Komodo
Requires Node.js 22 or newer and Docker.
cp .env.example .env
npm ci
docker compose up -d got-db
set -a; . ./.env; set +a
npm run devOpen http://localhost:3000. Run checks with:
npm run typecheck
npm run lint
npm test
npm run buildThe iOS app needs Xcode 26. Device setup is documented in
apps/ios/CLAUDE.md.
apps/web/ Web app, API, map, dashboard
apps/ios/ Native AR client
packages/shared/ TypeScript API contract
db/ PostgreSQL schema
scripts/ Tests, seeding, graffiti tools
docs/ Product, judging, demo, operations
Start with the Devpost draft, judging criteria, demo runbook, or operations guide.
