Eigenes Produkt · Live im Google Play Store
Glenby Android App
Die Mikroabenteuer-App hinter glenby.de: 14.702 Naturaufgaben mit GPS-Verifizierung, Co-op-Partys, Videoanrufe und E2E-verschlüsselte Chats. Gebaut als Bare React Native App mit lokalen Gradle-Builds.
Store-Screenshots
Die App im Einsatz
Funktionsumfang
Ruhige Gamification statt Casino-Mechanik. Jede Funktion respektiert die Privatsphäre.
-
Tagesaufgaben mit GPS-Beweis
Aufgabe wählen, rausgehen, Foto mit GPS-Pin und Zeitstempel aufnehmen. XP-Multiplikatoren je nach Verifizierungsgrad statt blindem Vertrauen.
-
14.702 Naturaufgaben
Zweisprachig, kategorisiert in 8 Naturkategorien, nach Schwierigkeit und Saison gefiltert. Ein Validierungsskript prüft die Inhalte automatisch.
-
Sammlung & Erinnerungen
Automatische Foto-Sammlung nach Kategorien plus Monats- und Wochenalben.
-
Wochen-Streaks & 35 Abzeichen
Streaks zählen pro Woche. Abzeichen mit sichtbarem Fortschritt statt Konfetti-Kanonen.
-
Co-op Partys
Live-Sessions mit Freunden über Supabase Realtime Presence, gemeinsame Scavenger-Listen und Party-Chat.
-
1:1-Videoanrufe
WebRTC-Anrufe mit nativem Picture-in-Picture. Das Signaling läuft über die bestehende Realtime-Infrastruktur.
-
E2E-verschlüsselte Chats
Foto-Threads pro Freund, verschlüsselt mit tweetnacl. Vor dem Teilen prüft ein On-Device-NSFW-Filter jedes Bild.
-
Trailmates (18+)
Anonymes Co-op-Matching nach Erfahrungslevel statt Fotos, mit Alterstor, Safety-Flow und Blockierfunktion.
-
Offline-Karten
MapLibre mit herunterladbaren Kartenpaketen. Die App bleibt auch ohne Netz draußen nutzbar.
-
Feed mit Transparenz
Freunde-Feed mit Ranking nach Verbundenheit und einer sichtbaren Zeile, warum ein Beitrag angezeigt wird.
-
Abo nach deutschem Recht
Stripe-Abo mit Kündigungsbutton nach §312k und Widerruf nach §356a direkt in der App.
-
Barrierefreiheit als Gate
Farb-Tokens in OKLCH, ein Build-Skript prüft jede Kombination gegen WCAG 2.2 AA und bricht bei Verstößen ab.
Tech Stack
im Detail
-
React Native 0.86
Bare Workflow mit New Architecture, Builds laufen lokal über Gradle statt über Cloud-Dienste
-
Expo Router
Dateibasierte, typisierte Routen über 57 Screens, Expo-Module als Bibliothek statt Expo Go
-
TypeScript strict
Strict Mode über 337 Quelldateien in 34 Feature-Domains
-
Supabase Edge Functions
Zwei eigene Edge Functions mit isoliertem Schema und eigenem JWT-Secret, kein direkter Datenbankzugriff vom Client
-
Zustand 5 + MMKV
Lokaler State in nativen Key-Value-Stores, die App startet und arbeitet offline-first
-
WebRTC
1:1-Videoanrufe zwischen Freunden, Signaling läuft über Supabase Realtime Broadcast statt über einen eigenen Server
-
Kotlin PiP-Modul
Eigenes Expo-Native-Modul für Android Picture-in-Picture während Anrufen
-
ML Kit + TFLite
Bild-Labeling als Hinweis und ein NSFW-Filter vor jedem geteilten Foto, beides komplett auf dem Gerät
-
tweetnacl
E2E-verschlüsselte Chats und Foto-Freigaben zwischen Freunden
-
MapLibre
Explorationskarte mit herunterladbaren Offline-Paketen
-
Reanimated 4 + Skia
Worklet-Animationen, FlashList v2 für Listen, Film-Grain-Textur als Skia-Shader
-
Vitest
483 Unit Tests in 63 Testdateien, plus ein Skript, das jede Farbkombination gegen WCAG 2.2 AA prüft
Drei Architektur-Entscheidungen
Isoliertes Backend
Kein Supabase Auth, kein PostgREST: Der gesamte Datenverkehr läuft über zwei eigene Edge Functions mit isoliertem Schema und eigenem JWT-Secret.
ML bleibt auf dem Gerät
Bild-Labeling (ML Kit) und NSFW-Prüfung (TFLite) laufen lokal. Kein Foto verlässt für die Analyse das Gerät.
Ehrlicher Beweis
GPS plus Zeitstempel ist der eigentliche Nachweis, ML liefert nur Hinweise. Anti-Cheat-Multiplikatoren gewichten XP nach Verifizierungsgrad.