Hey everyone,
I've started working on a project I'm passionate about: a web app to help people find Durga Puja pandals in Kolkata. I'm sharing my journey as I #buildinpublic.
The Data Grind
The first challenge was data. After spending a full day on Reddit, I compiled a list of ~100 unique pandal locations. This was followed by a few hours of data cleaning.The Cost of Geocoding
To make the data useful, I needed coordinates. I used the Google Maps Geocoding API, which was straightforward. A heads-up for fellow indie devs: it required a ₹1000 activation fee, which is something to budget for.Backend with Spring Boot & Supabase
I chose Supabase for my database and Spring Boot for the backend. The schema is simple for now:
clusters (to group pandals by region like North/South)
pandals (with name, lat, lon, etc.)
I quickly set up the standard MVC structure: Entities, Repositories, Services, and Controllers.
- The Inevitable Bug & A Cool Feature While testing my first APIs in Postman, I hit a wall with a Jackson serialization issue (a classic!).
After fixing that, I built the main feature: finding nearby pandals. I used a custom JPA @Query to perform a geospatial search.
Java-
@Query("SELECT p FROM Pandal p WHERE (6371 * acos(cos(radians(:userLat)) * cos(radians(p.latitude)) * cos(radians(p.longitude) - radians(:userLon)) + sin(radians(:userLat)) * sin(radians(p.latitude)))) < :radius")
List findPandalsByRadius(@param("userLat") double userLat, @param("userLon") double userLon, @param("radius") double radius);
It's been a productive day! Next up is the frontend.
Top comments (0)