Anonymous, real-time incident reporting on a map. No accounts. No tracking. Posts auto-delete after 7 days.
icemap is a privacy-first PWA for reporting local incidents. See something happening? Drop a pin, add photos/videos, and let your community know. All posts automatically expire after 7 days to prevent stale information.
No sign-up required. Completely anonymous.
- πΊοΈ Interactive Map - View incidents on OpenStreetMap with marker clustering
- π Find My Location - One-tap geolocation
- πΈ Media Upload - Photos and videos auto-converted to web-optimized formats
- π¬ Anonymous Comments - Discuss incidents with random user IDs
- π Voting - Upvote/downvote to surface important reports
- β Favorites - Save posts for quick access
- π© Report - Flag inappropriate content
- π Area Alerts - Get notified about new incidents nearby
- π Auto-Expiring - All posts deleted after 7 days
- π± PWA - Install on any device, works offline
- Frontend: Next.js 16.1.1, React, TypeScript, Tailwind CSS
- Maps: Leaflet + OpenStreetMap
- Backend: Next.js API Routes (server-side only)
- Database: Supabase PostgreSQL with PostGIS
- Storage: Supabase Storage
- Media Processing: FFmpeg + ImageMagick
- Deployment: Railway (Docker)
# Clone the repo
git clone https://github.com/yourusername/icemap.app.git
cd icemap.app
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env.local
# Start development server
pnpm dev- Architecture - System design and technical details
- Environment Variables - Configuration reference
- Development Todo - Project progress tracker
- No accounts - No email, no password, no tracking
- Anonymous IDs - Random identifiers like
anon_x7k2m9 - Auto-deletion - Posts expire after 7 days
- Server-side only - All database calls happen on the server
MIT Β© icemap.app