← 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