← Back to projects
2025·Civic utility app·Solo developer
BerlinPublic
Civic utility app for Berlin — find public drinking fountains and toilets on an interactive map with offline support and community reporting.
Overview
BerlinPublic is a location-based civic app that maps public drinking fountains and toilets across Berlin. Built with an offline-first architecture, it works reliably without connectivity. Features include community status reporting, favorites, and geospatial search powered by Supabase.
Highlights
- — Interactive Mapbox map with clustering and custom markers.
- — Offline-first with AsyncStorage caching for all locations.
- — Community status reporting — mark fountains as working or broken.
- — Geospatial search powered by Supabase PostGIS functions.
- — Deep linking and guided onboarding flow.
Features
Map & Discovery
- · Interactive Mapbox map with clustering.
- · Custom markers for fountains vs toilets.
- · Nearby search based on current location.
Community Features
- · Report fountain/toilet status.
- · Save favorites for quick access.
- · Onboarding flow for first-time users.
Technical Details
Offline-first Architecture
- · AsyncStorage caching of all location data.
- · Graceful degradation without connectivity.
- · Background sync when connection restored.
Backend & Data
- · Supabase with PostGIS for geospatial queries.
- · Row-level security for community reports.
- · Edge functions for data processing.
Mobile Experience
- · Expo SDK 53 with New Architecture.
- · Reanimated for smooth map interactions.
- · Deep linking for sharing locations.
Stack
React Native (Expo SDK 53), Mapbox, Supabase, React Navigation, Reanimated, AsyncStorage