Logo Lanfrica

nueleluwa/lantern

Domain:

geospatialpeace and securitydigital infrastructure

Record type:

softwareproject
Creator:
nue
Host:
Crowdsourced safe-route mapper for walking at night in Port Harcourt, Nigeria — community-reported lighting/safety overlay on OpenStreetMap. # Lantern Crowdsourced safe-route mapper for people walking at night in Nigerian cities, launching in Port Harcourt. A community-reported lighting/safety overlay on OpenStreetMap — not a router that guarantees safety (see `DO_NOT.md`). **Live:** (see `ROADMAP.md` for what's real vs. still placeholder before this is launch-ready). Full product/architecture docs live in this directory: `PROJECT.md`, `DO_NOT.md`, `PRD.md`, `DATA_MODEL.md`, `ARCHITECTURE.md`, `DESIGN_SYSTEM.md`, `MVP_SCOPE.md`. **Read `DO_NOT.md` before touching moderation, scoring, or location-handling code** — its constraints override convenience every time. See `CONTRIBUTING.md` for the recommended reading order, `ROADMAP.md` for what's real vs. placeholder right now, and **`docs/API.md` for the full API reference** (every endpoint, request/response shapes, auth, rate limits). ## Stack - Next.js (App Router) — deployed on Vercel - MapLibre GL JS for the map - Supabase Postgres with PostGIS + pgRouting enabled — segments, tags, routing topology - Upstash Redis — bbox/segment read cache, live-share ephemeral state - Drizzle ORM (`postgres-js` driver) - Vercel Cron Jobs — daily score recalculation (Vercel Hobby plan only supports daily cron; see `ROADMAP.md`) ## What's built All three `MVP_SCOPE.md` phases have a working implementation — see `ROADMAP.md` for the honest per-item status and what's still a placeholder (map style, launch-area bbox, moderator auth) versus load-bearing and real. - **Phase 1:** base map, segment model, anonymous tag submission, decay-weighted scoring engine with a 48h stability window before a band publicly flips, flagging + simple moderation, day/night toggle. - **Phase 2:** optional contributor accounts with streaks/badges, partner-seed bulk import, "lit tonight" real-time lighting tags, share-to-WhatsApp, upgraded moderation UI. - **Phase 3:** route suggestion that prefers higher-scored segments (pgRouting, not a strict safest-route router — persistent in-UI discl …