IDEAS.md Vision A Dieter Rams–inspired minimalist navigation app, built on OpenStreetMap and powered through Telegram. Every design choice follows Rams’ principle: Less, but better. Core Principles Clarity: Every interaction is obvious and purposeful. Minimalism: No excess decoration, only functional elements. Consistency: Unified typography, spacing, and iconography. Timelessness: Avoid trends; design remains relevant for years. User Experience Telegram-first: Commands and inline queries for reports, search, and navigation. Map snapshots: Delivered as clean images with overlays for traffic events. Navigation output: Text-based directions with optional minimalist map tiles. Reports: Simple commands with location sharing — planned, not built. Implemented commands today are /start (+ /mula), /help, /privacy (+ /privasi); /accident, /traffic, /hazard are future report commands. Feedback loop: Concise updates about nearby events. Visual Design Color Palette: Signal Orange (#EB8008) Functional Red (#ED3F1C) Olive Green (#736B1E) Soft Beige (#D9D2C6) Matte Black (#1A1A1A) Typography: Geist (body) / Space Grotesk (headings) — as implemented in the token package; Helvetica Neue / Inter was the original idea Regular for body, Bold for emphasis Icons: Line-based, monochrome with accent colors Accident = ⚠️, Traffic = 🚗, Hazard = ⛔ Architecture Overview Frontend: Telegram Bot + Mini App on Cloudflare Workers with static assets (Workers superseded Pages; PWA still optional/future) Backend: grammY on Cloudflare Workers receiving updates at the POST /telegram/webhook endpoint Database today: Cloudflare Workers KV (TTL-only chat sessions); Neon (Postgres + PostGIS) remains the target for event storage Routing: not wired yet — validated target stack is Valhalla + Photon (OSRM references in older docs are superseded) Tiles today: OpenFreeMap (theme/basemap/liberty-rams.json); Maptiler was the original idea Queue: none yet — RabbitMQ is future/aspirational, deferred out of v1 Storage: none yet (no R2 binding in bot/wrangler.jsonc); R2 remains a future option for map snapshots Monitoring: none yet — Prometheus + Grafana are future/aspirational Email: none yet — Resend is future/aspirational Gamification Points for validated reports Leaderboards via Telegram bot Minimalist badges (circle outlines with symbols) Future Ideas Regional clusters via Telegram groups Voice-to-text reporting Offline mode with cached routes API layer for anonymized traffic data Motto "Good design is as little design as possible." — Dieter Rams