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:
- 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.
- 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.
- Enriches Data with Geocoding: Once a spot is found, a secondary agent automatically converts its address into precise latitude and longitude coordinates.
- 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.jsonfile. 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
Log in or sign up for Devpost to join the conversation.