iToverDose/Software· 30 APRIL 2026 · 00:08

Taxi-App in Kuba: Wie ein Entwickler mit begrenzter Technik 20.000 Fahrten ermöglichte

Ein 39-jähriger Entwickler in Kuba nutzte OpenStreetMap und eine schlank optimierte App, um ein funktionierendes Taxi-System auf Geräten mit nur 1 GB RAM und instabilem 2G zu realisieren – inklusive Offline-Navigation und Echtzeit-Tracking.

DEV Community5 min0 Kommentare

In Kubas Hauptstadt Havanna ist die Mobilität ein tägliches Hindernis. Seit Jahren kämpfen die Bewohner mit knappen Treibstoffreserven, überlasteten öffentlichen Verkehrsmitteln und einer maroden Infrastruktur. Doch statt auf staatliche Lösungen zu warten, entwickelte ein 39-jähriger Softwareentwickler dort ein eigenes Fahrdienst-System – nicht als teures Startup-Projekt, sondern aus purer Notwendigkeit heraus. Das Ergebnis: Über 20.000 echte Taxifahrten, abgewickelt auf Smartphones mit lediglich 1 GB Arbeitsspeicher und sporadischem 2G-Netzempfang. Der Schlüssel zum Erfolg lag nicht in der Neuerfindung des Rads, sondern in der radikalen Vereinfachung bewährter Technologien.

Ein Taxi-System aus dem Nichts: Die Grundarchitektur

Die von ihm entwickelte Lösung besteht aus drei Kernkomponenten, die nahtlos zusammenarbeiten:

  • Passagier-App (58 MB): Ermöglicht die Anforderung von Fahrten, die Offline-Suche nach Adressen sowie die Echtzeit-Anzeige verfügbarer Fahrer auf einer Karte.
  • Fahrer-App (62 MB): Nimmt Fahrtanfragen entgegen, bestätigt Buchungen und übermittelt die eigene Position in Echtzeit.
  • Backend (Python/Django): Übernimmt die Vermittlung zwischen Passagieren und Fahrern basierend auf der tatsächlichen Straßenentfernung – berechnet mit OSRM, einem Open-Source-Routing-Tool. Nominatim, der sonst übliche Geocoding-Dienst, wird bewusst vermieden.

Ein entscheidender Vorteil: Sämtliche Kartendaten und Funktionen arbeiten vollständig offline. Das bedeutet, Passagiere können die Karte durchstöbern, Adressen suchen oder Lieblingsorte speichern – selbst ohne Internetverbindung. Lediglich die initiale Fahrer-Vermittlung erfordert eine minimale Netzwerkverbindung.

Karte von 160 MB auf 25 MB: Die Kunst der Reduktion

Organic Maps, die Open-Source-Navigations-App, die als technische Basis diente, ist ein mächtiges Werkzeug. Doch ihre Stärken – etwa detaillierte Wanderwege, Radrouten oder globale Abdeckung – waren für ein Taxi-System in Kuba überflüssig. Das ursprüngliche .mwm-Kartenformat des Projekts wiegt über 160 MB – viel zu groß für die schwachen Android-Geräte vor Ort.

Warum die Karte der Flaschenhals war

Die größte Datei im System ist nicht der App-Code, sondern die Kartendaten selbst. Eine Standard-.mwm-Datei für Kuba enthält:

  • Übersetzungen in über 50 Sprachen – von Arabisch bis Vietnamesisch.
  • Unzählige unbenannte Polygone wie Felder, Wälder oder leere Grundstücke.
  • Metadaten zu jedem Punkt von Interesse, selbst wenn dieser nicht beschriftet ist.

Diese Daten sind für Navigations-Apps sinnvoll, nicht jedoch für ein Taxi-System, das lediglich nach benannten Straßen und Orten suchen muss.

Der Umbau der Kartengenerierung

Statt nur Code aus Organic Maps zu entfernen, wurde der gesamte Kartengenerierungsprozess neu konzipiert. Der Entwickler baute eine maßgeschneiderte Pipeline, die OpenStreetMap-Daten für Kuba filtert und komprimiert:

  • Sprachfilter: Es werden nur Spanisch und Englisch beibehalten. Dadurch reduziert sich der Metadatenanteil um etwa 80%.
  • Geometrie-Filter: Alle unbenannten Polygone – etwa leere Grundstücke oder namenlose Wälder – werden entfernt. Ein Taxi benötigt keine Darstellung solcher Flächen.
  • Integrierter Suchindex: Während der Generierung wird ein komprimierter Suchindex direkt in die .mwm-Datei eingebettet. Dadurch entfällt die Abhängigkeit von externen Geocoding-Diensten wie Nominatim. Die Suche erfolgt in Echtzeit und offline.
  • Ausgabe: Das Ergebnis ist eine schlanke .mwm-Datei von nur 25 MB – gegenüber den ursprünglichen 70 MB der offiziellen Organic-Maps-Karte für Kuba.

Code-Bereinigung: Was wirklich übrig blieb

Mit den verkleinerten Karten konnte der Entwickler auch den App-Code radikal vereinfachen. Entfernt wurden unter anderem:

  • Track-Aufzeichnung: Fahrten müssen nicht protokolliert werden – weder für Passagiere noch Fahrer.
  • Mehrfach-Thread-Rendering: Spart Arbeitsspeicher und beschleunigt die Darstellung auf schwacher Hardware.
  • Cloud-Synchronisation von Lesezeichen: In Kuba gibt es kaum stabile Internetverbindungen – lokale Speicherung reicht völlig.
  • Weltkarten-Tiles: Nur die Karte Kubas wird benötigt, globale Daten sind irrelevant.

Was blieb, wurde kreativ umfunktioniert: Die BookmarkManager-Komponente wurde zur Speicherung von Lieblingsorten wie Zuhause oder Arbeitsplatz. Ein Klick genügt, um eine Fahrt dorthin anzufordern.

Das Ergebnis der Optimierungen:

  • Passagier-App: 58 MB
  • Fahrer-App: 62 MB
  • Bootzeit: Reduziert von 8 auf unter 3 Sekunden auf alten Android-Geräten

Offline-Suche ohne Internet: Ein Gamechanger

In den meisten Navigations-Apps wird eine Adresssuche wie "Calle 23 esquina L, Vedado" an einen externen Dienst wie Nominatim geschickt. Dieser Dienst übersetzt den Text in Koordinaten – doch das erfordert eine funktionierende Internetverbindung und einen Server. In Kuba, wo das Netz oft nur sporadisch verfügbar ist, ein undenkbares Szenario.

Die Lösung: Ein Suchindex im Kartenfile

Der Entwickler integrierte den Suchindex direkt in die .mwm-Datei. Dazu wurden folgende Anpassungen vorgenommen:

  • Normalisierte Straßennamen: Berücksichtigung typischer Schreibfehler und Abkürzungen in kubanischen Adressen (z. B. "23 y L" statt "Calle 23 y Calle L").
  • Intersections als eigenständige Einträge: Kreuzungen wie "23 y L" werden separat gespeichert und priorisiert.
  • Benannte Orte: Parks, Museen oder Gebäude wie "Parque Central" oder "Capitolio" sind direkt durchsuchbar.

Wenn ein Passagier eine Adresse eingibt, führt die App folgende Schritte lokal aus:

  1. Tokenisierung: Der eingegebene Text wird in relevante Schlüsselwörter zerlegt.
  1. Fuzzy-Matching: Ein Algorithmus sucht nach ähnlichen Einträgen im Index – selbst bei Tippfehlern oder umgangssprachlichen Formulierungen.
  1. Schnelle Rückgabe: Die Ergebnisse erscheinen innerhalb von zwei Sekunden, ohne dass eine Internetverbindung nötig ist.

Echtzeit-Tracking ohne Serverlast

Ebenso wichtig wie die Offline-Funktionalität ist die Echtzeit-Anzeige verfügbarer Fahrer. Statt auf komplexe Backend-Lösungen zu setzen, nutzte der Entwickler die native Marker-Funktion von Organic Maps:

  • Fahrer-App: Ein angepasster TaxiDriverMark-Marker zeigt die eigene Position an und aktualisiert sich alle drei Sekunden per UDP-Protokoll.
  • Passagier-App: Das Backend sendet eine Liste der Koordinaten und Statusmeldungen verfügbarer Fahrer. Die App rendert diese als einfache Marker auf der Karte – ohne die Basiskarte neu laden zu müssen.

Diese Lösung ist nicht nur ressourcenschonend, sondern auch robust: Selbst bei instabilen Netzwerkverbindungen bleibt die Anzeige stabil, da die Marker unabhängig von der Kartendarstellung aktualisiert werden.

Fazit: Ein Proof of Concept für ressourcenschwache Umgebungen

Das Projekt des kubanischen Entwicklers zeigt eindrucksvoll, wie Open-Source-Technologien und kreative Optimierung selbst in extrem begrenzten Umgebungen funktionierende Lösungen hervorbringen können. Mit minimalen Mitteln – einem Python/Django-Backend, angepassten Organic-Maps-Apps und maßgeschneiderten Kartendaten – schuf er ein System, das unter Bedingungen läuft, die für kommerzielle Anbieter undurchführbar wären.

Die Technologie dahinter ist kein Geheimnis mehr: Es geht um radikale Vereinfachung, um das Entfernen von Ballast und um die Nutzung bestehender Tools in unerwarteter Weise. Für Entwickler in ähnlichen Kontexten – sei es in Entwicklungsländern, auf abgelegenen Inseln oder in Krisenregionen – bietet dieses Projekt einen wertvollen Leitfaden. Die Frage ist nicht, ob eine Lösung technisch möglich ist, sondern wie viel man weglassen kann, um sie umsetzbar zu machen.

Die nächsten Schritte? Der Entwickler plant, die Lösung weiter zu skalieren und möglicherweise mit lokalen Taxiunternehmen zu kooperieren. Eines ist sicher: In einer Welt, die immer stärker auf Cloud-Dienste und High-End-Hardware setzt, könnte dieses Projekt zum Vorbild für Lösungen werden, die mit dem arbeiten, was wirklich verfügbar ist.

KI-Zusammenfassung

Discover how a Cuban developer engineered a ride-hailing app enabling 20,000+ taxi rides on low-end phones with intermittent 2G signals using Organic Maps and OpenStreetMap.

Kommentare

00
KOMMENTAR SCHREIBEN
ID #2MECR8

0 / 1200 ZEICHEN

Menschen-Check

8 + 5 = ?

Erscheint nach redaktioneller Prüfung

Moderation · Spam-Schutz aktiv

Noch keine Kommentare. Sei der erste.