ScribeLore: A New Chapter in Location-Based Storytelling

🌟 Inspiration

The idea came to me while walking through Mumbai with my nephew, playing Pokémon Go. Watching his excitement as he found creatures hidden in everyday places sparked a thought—what if we could replace those creatures with stories? Real stories—myths, legends, memories—anchored to the places around us?

Growing up in India, I’ve always been surrounded by folklore. Every street, temple, and fort seems to carry a whisper of the past. I wanted to create something that made people look at their surroundings with wonder again. That’s how ScribeLore began.

✨ What it does

ScribeLore is a storytelling platform that turns the physical world into a canvas for interactive adventures. I built it so that writers—like me or anyone else—can create multi-chapter stories that unlock as readers move through real-world locations.

Readers might have to visit a place, solve an image clue, or type in a password to continue the story. Instead of just reading a tale, they get to live it—through their footsteps, curiosity, and imagination.

🔧 How I built it

I’m a designer, not a traditional developer, but I had a very clear vision. I worked with AI models like ChatGPT and Claude to translate my ideas into production-level code. Every feature, every design decision was thought through from a user’s perspective first.

Here’s what I used:

  • Frontend: React 18 with TypeScript
  • Backend: Supabase with strict RLS for security and real-time syncing
  • Map integration: Google Maps API with autocomplete
  • Unlocking features: Vision API for image clue solving
  • Architecture: Lightweight modal system for lightning-fast navigation
  • Design system: Inspired by Material You, but fully customised in tone and type

My aim was to make it not just functional, but fast, elegant, and magical.

🧱 Challenges I ran into

Typography turned out to be more complex than I expected. Aligning things perfectly across different fonts and devices took a lot of algorithmic tinkering.

Getting chapter unlocks right—especially with GPS errors, image clue validations, and fuzzy text matching—was tricky. And being a solo builder meant I had to be painfully clear with every instruction I gave the AI. If I wasn’t specific, things broke.

🏆 Accomplishments I’m proud of

I built a fully working platform from scratch with AI as my pair programmer.

  • Achieved fast performance.
  • Created a story canvas that’s smooth, clean, and mobile-first.
  • Designed an entire image processing pipeline that compresses large photos beautifully.
  • Developed a content-based trending system that avoids search pollution.
  • Most of all, I made something that feels magical—where stories don’t just wait to be read, they wait to be found.

📚 What I learned

This project taught me that with enough clarity, a designer can lead technical development—even on an enterprise-grade platform.

I learnt how to think like an engineer when needed, and how to explain visual priorities and emotional cues to AI systems.

I saw how much human psychology plays into good storytelling experiences—how people read, wander, tap, and explore.

And I learnt to respect the real-world constraints of location-based design: GPS isn’t perfect, people are impatient, and phones get hot!

🚀 What’s next for ScribeLore

There’s still so much to build.

  • I want to add collaborative writing tools for co-authored adventures.
  • I’m planning to release a native mobile app for better camera + GPS integration.
  • A smarter search and discovery system is on the roadmap—so stories surface based on mood, location, and interest.

This isn’t just an app to me. It’s a way to connect people to places, and to the stories they didn’t know were right under their feet.

This is just the beginning.

Built With

  • canvas-compression
  • chatgpt
  • custom-state-management
  • dynamic-imports
  • full-text-search
  • google-maps
  • input-sanitisation
  • markdown
  • material-you
  • netlify
  • openai-vision-api
  • postgresql
  • promise.race
  • react-18
  • rls-security
  • service-workers
  • sql
  • supabase
  • supabase-auth
  • supabase-realtime
  • supabase-storage
  • trigram-similarity
  • typescript
Share this project:

Updates