Zum Inhalt springen
Verinity

Technologie

Gebaut auf einem Fundament, das trägt.

Software wird oft mit Behauptungen verkauft: „skalierbar“, „sicher“, „modern“. Unsere Technologie-Entscheidungen sind Konsequenzen aus Projekten, die wir gebaut haben und betreiben — nicht aus einem Trendkatalog. Zwei davon erklären wir hier ausführlich: warum wir Adressabfragen und Geocoding auf eigenen Servern in Österreich betreiben, und warum wir so viel automatisiert testen. Darunter stehen die sechs Prinzipien, nach denen wir bauen. Die Zahlen stammen aus der RetterApp (seit 16.08.2026 im App Store, seit 05.09.2026 bei Google Play), der Österreich-Geoplattform (interner Dienst) und unserem Vereinsprojekt myfood.

Im Einsatz

Läuft heute in echten Projekten — in ausgelieferten Apps und in Diensten, die wir selbst betreiben.

Oberfläche

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS

Mobile

  • Flutter
  • Dart

Backend & Daten

  • Fastify
  • Django
  • PostgreSQL
  • PostGIS
  • Drizzle

Karten & Routing

  • MapLibre GL
  • Valhalla
  • pgRouting

Betrieb

  • Docker
  • Traefik
  • Caddy
  • GlitchTip
  • Stalwart

Für die Plattform festgelegt

Festlegungen für unsere eigene Plattform, die wir gerade bauen. Ein Teil steht schon im Code oder läuft als Entwicklungsumgebung, der Rest ist entschieden, aber noch nicht gebaut.

  • Angular
  • ASP.NET Core
  • OpenIddict
  • PgBouncer
  • Valkey
  • OpenBao
  • Proxmox VE
  • Ansible
  • Forgejo
  • Cosign
  • Garage S3
  • Svix

Datenschutz & Geodaten

Warum Adressen und Standorte bei uns Österreich nicht verlassen

Fast jede App braucht irgendwann Geodaten: eine Adresse zu Koordinaten auflösen, eine Karte anzeigen, eine Route berechnen, nach Umkreis suchen. Der bequeme Weg ist, das an Google Maps oder Mapbox auszulagern. Wir gehen bewusst einen anderen Weg und betreiben Geocoding, Karten und Routing selbst — auf unserem eigenen Server in Wien. Wie das in der Praxis aussieht, zeigt unsere Österreich-Geoplattform: 2,5 Millionen Adressen und 4,5 Millionen 3D-Gebäude aus amtlichen Open Data (Stand 06/2026), Autocomplete in 10 bis 85 Millisekunden, neun Datenbestände, die sich jede Nacht vollautomatisch aktualisieren — über atomare Blue/Green-Umschaltungen, sodass der Dienst während der Aktualisierung verfügbar bleibt. Vier Gründe stehen hinter dieser Entscheidung.

Erstens Datenschutz — und zwar nicht als Formalie. Eine Adresse oder ein Standort ist ein personenbezogenes Datum im Sinne der DSGVO. Jedes Mal, wenn eine App die Adresse eines Nutzers an Google schickt, um sie zu geokodieren, verlässt dieses Datum deine Kontrolle und wandert typischerweise auf US-Server. Bei uns passiert die Auflösung auf einem Server in Österreich. In der RetterApp haben wir das konsequent durchgezogen: Geocoding läuft ausschließlich über einen Backend-Proxy, die App spricht nie direkt mit einem externen Geo-Dienst, und aus hochgeladenen Fotos entfernen wir EXIF- und GPS-Daten, bevor sie gespeichert werden.

Zweitens Datensouveränität. Wenn dein Kernprozess von einem externen Anbieter abhängt, gibst du Kontrolle ab, die du im Zweifel nicht zurückbekommst. Preismodelle ändern sich, Nutzungsbedingungen werden verschärft, Funktionen verschwinden, Kontingente werden gedrosselt. Ein selbst betriebener Geodienst läuft nach deinen Regeln weiter — auch im eigenen Haus oder offline, in Netzen ohne Internetanbindung, wo ein Cloud-Dienst schlicht nicht funktioniert.

Drittens Kosten, die bei Wachstum nicht explodieren. Kommerzielle Geo-APIs rechnen pro Abfrage ab. Solange eine App klein ist, fällt das kaum auf; wächst sie, wächst die Rechnung mit jeder Suche mit — bis der eigene Erfolg zum Kostenproblem wird. Ein selbst betriebener Dienst kostet Aufwand im Aufbau, skaliert danach aber mit deiner Hardware statt mit einem Zähler beim Anbieter.

Viertens Datenqualität. Wir setzen auf amtliche österreichische Open Data — das BEV-Adressregister, basemap.at, den GIP-Straßengraph. Das sind die offiziellen, gepflegten Datenbestände des Landes, nicht eine weltweite Näherung. Für Anwendungen mit Österreich-Bezug ist das schlicht die genauere Grundlage.

Qualität & Tests

Warum wir so viel automatisiert testen

In der RetterApp laufen rund 7.280 automatisierte Tests über drei Codebasen — App, Backend und Adminpanel (Stand 16.08.2026); die Backend-Tests laufen dabei gegen eine echte PostgreSQL-Datenbank, nicht gegen Attrappen. Dahinter steht eine Arbeitsweise mit drei konkreten Folgen für dich.

Der erste Grund ist Regressionsschutz. Jede Änderung an gewachsener Software birgt das Risiko, an anderer Stelle etwas zu zerbrechen, das vorher funktioniert hat. Ohne Tests merkt man das oft erst, wenn ein Nutzer es meldet — also im schlechtestmöglichen Moment. Mit einer dichten Testabdeckung prüft die Maschine nach jeder Änderung in Sekunden, ob alles Bisherige noch stimmt.

Der zweite Grund ist angstfreies Weiterentwickeln. Software, die niemand mehr anzufassen wagt, weil jede Änderung gefährlich ist, altert schnell und wird teuer. Eine gute Testbasis dreht das um: Wir können den Code umbauen, aufräumen und erweitern und wissen sofort, ob das Verhalten unverändert geblieben ist. Das hält deine Software über Jahre wartbar und änderbar — und macht neue Features schneller und billiger, statt mit der Zeit immer riskanter.

Der dritte Grund verbindet das mit unserer KI-Haltung. Tests prüfen jeden Beitrag am tatsächlich gewünschten Verhalten — unabhängig davon, ob ein Mensch oder ein Modell ihn geschrieben hat. Genau deshalb können wir KI produktiv nutzen, ohne die Kontrolle abzugeben: Was die Tests nicht bestätigen, geht nicht in Produktion. Ein adversariales Produktionsreife-Audit der RetterApp am 02.07.2026 fand keine kritischen Funde — ein Prüfstand zu einem Zeitpunkt, kein Beweis für Fehlerfreiheit.

Der Preis dafür: Rund 7.280 Tests zu schreiben und zu pflegen kostet Zeit, die man auch in mehr Features stecken könnte. Wir investieren sie trotzdem, weil sie sich über die Lebensdauer der Software zurückzahlt — in Verlässlichkeit und in Tempo bei Änderungen.

Systemschnitt

So ist ein System bei uns geschnitten. Zwei Dinge sind daran wichtig: Die Schnittstelle ist die eine Stelle, an der Rechte und Datenschutz durchgesetzt werden — und alles innerhalb der gestrichelten Fläche läuft auf einem einzigen Server: deinem oder einem, den du dafür bereitstellst. Die Datenbank je Mandant ist die Auslegung unserer eigenen Plattform, die wir gerade bauen.

Schnittbild eines SystemaufbausMobile App, Web-Oberfläche und Fremdsysteme sprechen ausschließlich mit einer versionierten Schnittstelle. Diese setzt Authentifizierung, Rechte und Mandanten- trennung durch und ist die einzige Verbindung zur Datenbank. An ihr hängen Hintergrundläufe, Objektspeicher und ein eigener Geodienst. Alles außer den Clients läuft auf einem einzigen Server, den du bereitstellst.EIN SERVERMobile AppiOS · AndroidWeb / PanelBrowserFremdsystemüber APISchnittstelleAuth · RechteMandantentrennungDatenbankje MandantHintergrundläufeWarteschlangenObjektspeicherDateien, BilderGeodienstamtliche Daten

Kein Client spricht je direkt mit der Datenbank

Prinzipien

Sechs Prinzipien, nach denen wir bauen.

01

Modern Web

Wir bauen Oberflächen mit Next.js, React und TypeScript, weil diese Kombination zwei Dinge gleichzeitig liefert, die sich sonst oft ausschließen: Tempo für den Nutzer und Wartbarkeit für die Entwicklung. TypeScript fängt eine ganze Klasse von Fehlern schon beim Schreiben ab, bevor sie je einen Nutzer erreichen. Server-seitiges Rendering und statische Generierung sorgen dafür, dass Seiten schnell laden — auch auf schwachen Geräten und langsamen Verbindungen.

Was du davon hast

Deine Nutzer bekommen eine Anwendung, die sich schnell und selbstverständlich anfühlt. Du bekommst eine Codebasis, an der man auch in drei Jahren noch effizient weiterarbeiten kann, statt sie neu schreiben zu müssen — und für die es einen großen Pool an Entwicklern gibt.

02

Cloud Ready

Wir bauen jede Anwendung von Tag eins containerisiert und portabel — mit Docker und einem Reverse-Proxy wie Traefik oder Caddy. Portabel heißt: Die Software ist nicht an einen bestimmten Cloud-Anbieter gekettet. Was wir für dich bauen, läuft bei einem europäischen Anbieter deiner Wahl oder in deinem Rechenzentrum, und derselbe Stand lässt sich später umziehen. Unsere gesamte Verinity-Infrastruktur — Web, Mail, Geoplattform — läuft nach genau diesem Prinzip auf unserem eigenen, gemieteten Server im Rechenzentrum Wien.

Was du davon hast

Du bist nicht in einem Anbieter eingesperrt und nicht dessen Preiserhöhungen ausgeliefert. Du kannst in Österreich hosten, ohne auf einen US-Anbieter angewiesen zu sein — und den Betriebsort später wechseln, ohne die Software neu zu bauen.

03

API First

Wir entwerfen die Schnittstellen einer Anwendung zuerst und die Oberfläche darauf — nicht umgekehrt. Das zwingt uns, sauber zu trennen, was das System kann (die Logik im Backend) von dem, wie es dargestellt wird (App, Website, Adminpanel). In der RetterApp bedienen sich Flutter-App und React-Adminpanel aus demselben, klar definierten Fastify-Backend. In der Geoplattform ist der Backend-Proxy nicht nur Fassade, sondern die Stelle, an der Datenschutz erzwungen wird — die App kommt gar nicht erst an externe Dienste heran.

Was du davon hast

Deine Daten und Funktionen werden für neue Kanäle wiederverwendbar: Eine zweite App, ein Partner-Zugang, eine Integration in ein Fremdsystem sind ein überschaubares Zusatzprojekt statt ein Umbau von Grund auf.

04

AI Ready

AI-Ready bedeutet für uns zweierlei. Erstens bauen wir Architekturen so, dass sich KI-Funktionen sauber und sicher einfügen lassen, wenn sie einen echten Mehrwert bringen: mit klaren Datengrenzen, definierten Schnittstellen und der Kontrolle darüber, welche Daten ein Modell überhaupt sieht. Zweitens nutzen wir KI im eigenen Maschinenraum — für Code-Review, Sicherheitsanalysen, Testabdeckung und Dokumentation. Aber nach festen Regeln: Menschen entwerfen die Architektur, die KI arbeitet zu, und alles durchläuft ein Review durch uns, bevor es in Produktion geht.

Was du davon hast

Du bekommst eine Software, die für KI-Funktionen vorbereitet ist, ohne dass Datenschutz oder Kontrolle dabei über Bord gehen. Und du bekommst den Geschwindigkeitsvorteil, den KI in der Entwicklung bringt — aber mit einem Menschen, der die Verantwortung trägt und nicht an ein Modell delegiert.

05

Security First

Sicherheit und Datenschutz sind bei uns Standard von Beginn an, nicht ein Punkt, den man am Ende noch abhakt. Das heißt konkret: personenbezogene Daten minimal halten, Standortdaten im eigenen Land verarbeiten, Fotos von GPS- und EXIF-Spuren befreien, Logs frei von personenbezogenen Daten führen und Löschfristen automatisch durchsetzen — so umgesetzt in der RetterApp. Und es heißt, das eigene Ergebnis kritisch prüfen zu lassen: Die RetterApp wurde am 02.07.2026 gezielt adversarial auditiert und kam ohne kritische Funde heraus — ein Prüfstand zu einem Zeitpunkt, kein Beweis für Fehlerfreiheit. Unseren Server betreiben wir gehärtet — mit minimaler Angriffsfläche und restriktiven Zugriffsrechten.

Was du davon hast

Die Software nimmt dir die Arbeit ab, die sich technisch erledigen lässt: Datensparsamkeit, Löschfristen und nachvollziehbare Zugriffe sind eingebaut statt nachgerüstet. Das senkt dein Risiko; die rechtliche Bewertung bleibt bei dir und deiner Beratung.

06

Scalable Architecture

Wir strukturieren Systeme so, dass sie mit der Nutzerzahl mitwachsen, ohne dass ein Neubau nötig wird — aber wir überbauen nicht künstlich. Skalierbarkeit heißt für uns saubere Trennung von Zuständigkeiten, Dienste, die man vervielfachen kann, und Datenzugriffe, die auch unter Last schnell bleiben. Unsere Geoplattform belegt das im Betrieb: Autocomplete über 2,5 Millionen Adressen in 10 bis 85 Millisekunden (Stand 06/2026), und ein nächtliches Update von neun Datenbeständen, das über atomare Blue/Green-Umschaltungen läuft — der Dienst bleibt während der Aktualisierung durchgängig verfügbar.

Was du davon hast

Wenn dein Produkt erfolgreich wird, wächst deine Software mit, statt zum Flaschenhals zu werden. Du musst Erfolg nicht mit einer teuren Neuentwicklung bezahlen. Gleichzeitig zahlst du am Anfang nicht für eine Komplexität, die du noch gar nicht brauchst.

Erreichbar

So erreichst du uns.

Diese Entscheidungen stehen hier offen, damit man sie prüfen kann. Für alles Weitere: Kontaktformular oder E-Mail.