Inspiration

Walking through our cities, we realized every street corner holds invisible stories that fade with time. We asked: What if we could anchor memories to physical places and bring them to life through AR? We wanted to solve three problems:

Social media keeps us doomscrolling instead of exploring Personal histories disappear because there's no way to preserve them geographically Digital content feels disposable - we wanted discovery to feel earned and magical

The name "ARchive" represents our vision: an archive of human experiences brought to life through augmented reality.

What it does

ARchive transforms cities into interactive storytelling canvases where users hide and discover location-based AR experiences.

Create a Memory:

Record a voice message or generate one with AI (ElevenLabs) Upload an image, 3D model, or GIF Drop a pin on the exact location Set a discovery radius (10m-500m)

Discover Hidden Stories:

Browse mysterious archives showing only titles, approximate location, and distance from you Sort by proximity or popularity Navigate using compass-guided AR interface

The Unlock Experience:

Walk to the physical location When you enter the radius, experience an immersive AR reveal:

Images and 3D models appear anchored to the real world

Voice messages auto-play Hidden text fades in with animations Celebration effects

Engage:

Like and comment on archives Earn discovery badges Build your profile showing archives created and unlocked

How we built it

Frontend: Next.js 14, React, TypeScript, TailwindCSS, Tanstack Query 3D/AR: Three.js, A-Frame, Locar.JS Backend: Node.js API routes, MongoDB Atlas Auth: Auth0 with automatic user sync APIs: ElevenLabs (TTS), Google Maps (geocoding), Locar.JS (AR scenes)

Key Architecture Decisions:

Modular service layer separating business logic from API routes Privacy-first: exact coordinates hidden until physical verification Haversine distance formula for accurate geo-calculations MongoDB geospatial indexes for sub-50ms location queries

Challenges we ran into

GPS Accuracy: Phone GPS is unreliable (±10-50m). A-Frame Mobile Performance: AR scenes lagged on phones. Solution: Draco compression (5MB→800KB models), lazy loading, 2D fallback for unsupported devices. Auth Race Condition: Users could create posts before database sync completed. Solution: Blocking afterCallback in Auth0 handler. Audio File Size: Recordings hit MongoDB limits. Battery Drain: Continuous GPS polling killed batteries.

Accomplishments that we're proud of:

  • Full-stack AR app deployed in 24 hours from scratch
  • Three.js interactive globe homepage that got genuine "wow" reactions
  • Privacy-first architecture — sensitive data never exposed until verified
  • Cross-browser AR working on iOS, Android, desktop
  • Sub-50ms geospatial queries across thousands of posts
  • Emotional impact — tester teared up unlocking their childhood memory
  • Zero critical bugs during live demo

What we learned

  • Geolocation is messy: Always design with 15m tolerance and clear user feedback.
  • A-Frame is production-ready: Browser-based AR can match native quality.
  • Audio creates connection: Voice messages feel personal in ways text/images can't.
  • Mystery drives exploration: Hiding content until unlock created genuine suspense.
  • Privacy is a feature: Anonymous accounts enabled deeply personal stories.
  • Modular architecture enables speed: Service layer let us build backend and frontend in parallel.

What's next for ARchive

Video support and animated GIFs in AR

Short-term:

  • AR Tours: Pre-planned story routes (historical tours, art walks)
  • Time-based unlocks: Archives appearing only at certain times
  • Collaborative archives: Multiple users contribute to one location
  • Creator monetization: Premium archives, virtual tips

Long-term:

  • Native iOS/Android apps with ARKit/ARCore
  • Partnerships: Museums, tourism boards, education
  • Time Machine mode: Historical photos overlaid on current view

Vision: ARchive becomes the digital preservation layer for human experience, in 50 years, people will unlock stories from generations past, hearing voices of those who walked the same streets.

Built With

Share this project:

Updates