๐ฒ Buka โ Amala Spot Locator
๐ About the Project
Buka is a location-based web app that helps users discover Amala spots in Nigeria, check real-time busyness levels, read/write reviews, and interact with an AI assistant for recommendations.
It was inspired by the cultural importance of Amala and the struggle of finding the right spot without waiting in long queues. We wanted to merge culture, technology, and community into one seamless platform.
๐ก Inspiration
- The love Nigerians have for Amala and โbukaโ joints.
- The frustration of guessing how crowded a spot will be before arriving.
- The idea of using real-time data, reviews, and AI to make better dining decisions.
โWhat if there was a map, not just showing Amala spots, but also telling you which one is busy, which one is calm, and what people are saying about it?โ
๐ ๏ธ How We Built It
- Frontend: Next.js + React + TailwindCSS. Interactive maps, markers, and a clean design system.
- Backend: REST API with endpoints for spots, reviews, busyness, chat, and discovery.
- AI Assistant: Text + voice chatbot powered by OpenAI for conversational discovery.
- Database: PostgreSQL on Render for user, spots, and review storage.
- Deployment: Vercel for frontend, .NET backend for APIs.
๐ What We Learned
- Designing and documenting APIs with OpenAPI/Swagger.
- Handling real-time data (check-ins + busyness).
- The importance of UX consistency across screens.
- How gamification can make even food discovery engaging.
- Fast-paced collaboration under hackathon pressure.
โก Challenges
- AI Costs: Fine-tuning Gemini was difficult, so we migrated to OpenAI.
- Map Integration: Clustering, density overlays, and Google Maps links were tricky.
- Discovery Data: Normalizing results from web scraping and Google Places.
- Time Pressure: Balancing auth, chat, reviews, and maps in a short timeframe.
- Frontend Hosting: Dynamic routes like
/spot/[id]were tough on GitHub Pages.
โจ Features
- ๐ Authentication (login, register, profile).
- ๐บ๏ธ Map View with nearby spots, top-rated, and recent additions.
- ๐ Real-time busyness levels (quiet, moderate, busy, very busy).
- โญ Community reviews with ratings and comments.
- ๐ค AI Chatbot (text + voice).
- ๐ Heatmaps for underserved areas and opportunities.
- ๐ฎ Gamified streaks for visiting new spots.
๐ข A Touch of Math
We modeled busyness prediction with a probability function:
$$ P(\text{busy}) = \frac{\text{check-ins at time } t}{\text{average daily check-ins}} $$
This gave users not just live data but also a confidence score for predictions.
๐ Vision
Beyond Amala, Buka can expand into a cultural food discovery platform for Africa, blending data, AI, and community to help people find authentic meals they love.
Built With
- c#
- google-maps
- nextjs
- openai
- typescript
Log in or sign up for Devpost to join the conversation.