Amala Atlas: The Intelligent, Global Map for Amala Discovery

The Inspiration: "Finding Home, One Amala Wrap at a Time"

“Amala isn’t just food — it’s a warm embrace from your ancestors, wrapped in history and spiced with pride.” — Idris Bello, Afropreneur

This quote was the spark for Amala Atlas. For many of us in the Nigerian diaspora and even within Lagos itself, finding a truly authentic bowl of Amala isn't a simple search—it's a quest. It relies on word-of-mouth, lucky discoveries, and often, a bit of guesswork. We were inspired to change that. We believe that connecting with our culture should be intentional, not accidental.

We envisioned a living, breathing map—not just a static directory, but a community-driven platform that grows, learns, and becomes more valuable with every contribution. Our goal was to build a tool that feels both modern and deeply connected to its roots, a digital "Buka" where people can share the joy of discovering a new favorite spot.


What We Built: An Intelligent, Self-Growing Platform

Amala Atlas is more than just a map with pins. It's an end-to-end ecosystem for discovering, verifying, and sharing the world's best Amala spots.

Key Features:

  • Interactive Global Map: A fast, responsive map with clustering and advanced filters for service type (Dine-in/Takeaway) and operating hours (Open Now).
  • Intelligent Geosearch: Users can search for any city or landmark in the world, and the map instantly pans to highlight the nearest Amala spots.
  • Crowdsourced Contributions: A seamless, open submission process allows anyone to add a new Amala spot to our moderation queue.
  • Accountability through Reviews: Users can sign in with Google to leave detailed reviews and ratings, building a trusted layer of community verification.
  • User Profiles & Persistence: Logged-in users have a personal profile page where they can see a complete history of their contributions, fostering a sense of ownership.

The "Magic": Our Autonomous Discovery Agent

The true heart of Amala Atlas is our multi-source autonomous discovery agent. We knew that relying solely on user submissions would be too slow. So, we built a resilient web scraping agent that:

  1. Scans Multiple Global Sources: It intelligently scans a curated list of high-authority food blogs from cities like London, Tokyo, and Houston to find potential Amala spots.
  2. Adapts to the Web: The agent is designed to handle different website layouts and uses professional-grade techniques like retry logic and compliant headers to ensure reliability.
  3. Enriches Data with Geocoding: Once a spot is found, a secondary agent automatically converts its address into precise latitude and longitude coordinates.
  4. Automates Growth: Through a scheduled Vercel Cron Job, this discovery process runs every single day, meaning the Amala Atlas is constantly finding new locations without any manual intervention.

This system flows into a comprehensive Admin Moderation Panel, where discovered spots—complete with a Confidence Score—can be verified, merged, or approved with a single click, making them instantly live on the map.


The Tech Stack: Built for Speed and Scale

We chose a modern, serverless-first stack to allow for rapid development and infinite scalability.

  • Frontend: Next.js with React & Tailwind CSS
  • Backend: Next.js API Routes (Serverless Functions)
  • Database: Google Firestore
  • Authentication: NextAuth.js with Google Provider
  • Mapping: Google Maps Platform with @vis.gl/react-google-maps
  • Deployment: Vercel with integrated Cron Jobs

Challenges We Faced & What We Learned

  • The Reality of Web Scraping: Our biggest challenge was the unpredictable nature of the live web. We overcame this by building a resilient agent with fallback logic and professional headers. It was a powerful lesson in designing for resilience, not perfection.
  • Serverless vs. Local Development: We hit the classic "read-only filesystem" issue on Vercel after initially using a local db.json file. This forced a rapid and necessary migration to Firestore, a fantastic learning experience in building for a true serverless environment.
  • UX is More Than UI: The small decisions—like making the post-submission flow clear—made a huge difference. The most powerful features we built were those that enabled the community: open submissions, verified reviews, and user profiles. That's what will make Amala Atlas live and grow beyond this hackathon.

Built With

  • axios-(http-requests)-openstreetmap-nominatim-api-(geocoding)
  • cheerio.js-(web-scraping)
  • firebase-admin-sdk
  • geolib
  • github
  • google-firestore-(database)
  • google-maps-platform-api
  • google-places
  • javascript
  • next.js
  • nextauth.js-(authentication)
  • node.js
  • react.js
  • stitchwithgoogle
  • tailwind-css
  • vercel-(hosting-&-deployment)
  • vercel-cron-jobs-(scheduled-tasks)
  • vis.gl/react-google-maps
Share this project:

Updates