| I built hugpoint.io to solve a specific problem: when a group tries to decide where to meet, the first person to suggest somewhere implicitly anchors the decision around their own location. Everyone else agrees to avoid friction. Someone ends up with a disproportionate commute. Nobody mentions it. The tool calculates each person's reachable zone using real transit data (not straight-line distance), finds the intersection, and surfaces Google Places results inside that overlap — ranked by a Fairness Score that measures how equally reachable a venue is for everyone in the group.
Technical decisions worth discussing: Isochrone-based rather than Euclidean midpoint — crow-flies distance is meaningless in a city with asymmetric transit Per-person travel mode support — one person cycling, another on the Subway, a third driving Session state serialised to URL hash so any search is shareable without accounts Built entirely with AI tools as a non-technical founder — happy to talk about that process if useful No accounts, no paywall, works in the browser. Would genuinely appreciate feedback on the technical approach and any edge cases you'd throw at it. hugpoint.io |
On the price level data: the field was always there in the Google Places response, the app just wasn't surfacing it. We now map it on the proxy side, 1–3 become $ / $$ / $$$ directly, and we clamp Google's 4 to 3. The distinction between $$$ and $$$$ isn't meaningful when you're trying to find somewhere four people can agree on. 0 and absent both map to undefined and fall through to "Any." No extra API call, filtering is purely client-side on the already-loaded results.
UX is three chips below the category picker: Any · $ · $$ · $$$. Tap to filter, tap again to clear, resets on category switch. It only shows for Coffee & Casual, Restaurants, and Bars & Nightlife, not for Parks or Museums where price_level is sparsely populated and semantically odd. The honest caveat is that coverage is Google's, not ours. In Paris or London the filter works well; in a smaller city you might filter yourself down to three results. The "Any" default always shows everything, so it degrades cleanly.
I'll let you give a try! -> hugpoint.io