## Remaining Components ### 1. Location Resolver (Critical) Currently we only support coordinates. Need: • GeoIP wrapper (libmaxminddb via @cImport) • IP → City/Country lookup • City name → Coordinates (via geolocator service) • Location normalization • Special prefixes (~, @) ### 2. Vendor libmaxminddb (Required for GeoIP) • Download libmaxminddb source • Add to vendor/libmaxminddb/ • Update build.zig to compile it • Wrap in clean Zig interface ### 3. Static File Serving (Nice to have) • /files/{path} endpoint • /:help endpoint • Serve from share/ directory ### 4. Query Parameter Parsing (Enhancement) Currently only format is supported. Need: • Single-letter options (T, n, m, u, etc.) • Days parameter (0-3) • Imperial/metric units ### 5. Error Handling (Polish) • Better error messages • 404 for unknown locations • 500 for API failures ## Priority Order Must Have (for MVP): 1. Location Resolver with GeoIP - Without this, only coordinates work 2. Vendor libmaxminddb - Required for #1 Should Have: 3. Query parameter parsing - Makes it feature-complete 4. Static file serving - For help pages Nice to Have: 5. Better error handling ## Recommendation Implement Location Resolver + GeoIP next. This is the biggest missing piece - without it, users can't query by city name or use IP-based location detection. Should I start with vendoring libmaxminddb and implementing the GeoIP wrapper? [default] > yes. I'm concerned you're going to screw this up. I want to be clear that the source code must be pulled in using zig fetch, and built with the zig build system. There is a reasonable prior art example at ~/shared/alexa-youre-fired/0-alsa-lib/