afield
A standalone AI demo, deliberately unrelated in content to the portfolio it sits next to: ask a question about a place — trails, bike paths, parks, restaurants, weather — and get an answer grounded in live public data for a location typed in or read from browser geolocation.
Tools, not intent classification. Claude gets tool definitions for geocoding, place search, and weather, and decides which to call and how to combine them, rather than the app classifying intent up front. "Is it good weather for the bike trail near Chautauqua this weekend?" needs a places lookup and a weather lookup together — hardcoding that combination per query type doesn't scale the way letting the model decide does.
All free, save the one thing that costs money. OSM Overpass covers trails, parks, restaurants, and shops via tag queries; Nominatim geocodes free-text place names; Open-Meteo covers weather — none of it metered. A per-IP rate limiter and a spend cap sit in front of the model call itself, so the demo can stay public without an open-ended bill; over the cap it degrades to "demo unavailable today" instead of failing loudly.
Scoped on purpose. Events and retail deals are left out entirely — Ticketmaster is the only broad events API and is sparse outside cities, and no public API for retail deals exists at all. Both are out of scope rather than half-implemented against a source that can't really answer.
A chat pane next to a Leaflet map, backed by an async FastAPI app, at afield.junchen.us.