OpenLate — Restaurants by Operating Hours
Run Deploy Instructions
Run & Deploy — OpenLate
Local Development
cd delivery-package/open-late-restaurants/app
node server.js
Open http://localhost:3851 in a browser.
For GPS testing without a phone, use audit coordinates:
http://localhost:3851/?lat=45.7833&lon=-108.5007
(Billings, MT example)
Phone Access (Same Wi‑Fi)
- Start the server on your computer (see above).
- Note the Phone URL printed in the terminal, e.g.
http://192.168.1.42:3851. - Open that URL on your phone.
- Allow location when prompted.
Deploy to Static Hosting
Upload the entire app/ folder to Netlify, Vercel, GitHub Pages, or any static host.
Important: Geolocation in browsers requires HTTPS on production domains. Localhost and LAN HTTP work for development.
Netlify (example)
cd delivery-package/open-late-restaurants/app
npx netlify deploy --prod --dir .
Smoke Test Checklist
- [ ] App loads on phone browser
- [ ] Location permission prompt appears
- [ ] City name updates in header after GPS
- [ ] Restaurant groups populate with counts
- [ ] Open Late / 24 Hours sections appear when applicable
- [ ] Directions link opens Google Maps
- [ ] Manual city search works
- [ ] Filters and sort update the lists
Verification
With server running:
node delivery-package/open-late-restaurants/scripts/run-verification.mjs
Environment
- Node.js 18+
- Port 3851 (override with
PORT=8080 node server.js) - Outbound HTTPS to
overpass-api.deandnominatim.openstreetmap.org