Gacha Makan
Food app. I built the weighted random selection endpoint, PostGIS proximity queries and a rate-limited reporting API.

Problem
Students in Jatinangor (ITB and Unpad) lose time every day deciding where to eat, and map ratings say nothing about whether a kitchen is clean today. Interviews with students showed both decision fatigue and cases of falling ill after a bad meal.
Solution
Spin The Food gives one instant recommendation, picked by weighted random selection from the user's budget, distance and eating history. Hygiene Flag lets students report a dirty place in real time, and a place with no red flags for three months gets a Verified Safe badge. A hygiene map shows risky, safe and unrated places around campus.
How it works
A Next.js web app calls server actions, which filter restaurants and run the gacha algorithm. Restaurant data lives in Supabase PostgreSQL, and PostGIS radius queries find places within the chosen distance. The result links straight to navigation or a Gojek/Grab order.
My role
Course project in a team of five; I was the backend developer. I built the weighted random selection endpoint, the PostGIS proximity queries and a rate-limited reporting API for hygiene reports.

