Technologie

Technische Entscheidungen, die Daten, Integrationen und Releases unter Kontrolle halten.

Der Stack soll der Arbeit dienen, die das System nach dem Launch leistet: Backend-Logik, Frontend- und Mobile-Interfaces, API-Verträge, Linked Data, Background Jobs, Infrastruktur, Observability und sicherere künftige Änderungen.

Stack

Werkzeuge, gewählt für die Produktionsaufgabe

Wir verbinden langlebige Open-Source-Ökosysteme mit modernen Delivery-Tools über Backend, Frontend, Mobile, APIs, Daten, Infrastruktur und Delivery: Rails, Go, Python, JavaScript, TypeScript, React, Solid.js, SolidStart, Astro, Elixir/OTP, PostgreSQL, Redis, Docker, Linux, Cloud-Infrastruktur, REST, GraphQL, tRPC, JSON, Linked Data und OpenAPI.

Standards

Code, der sich betreiben lässt

Tests, Sichtbarkeit von Background Jobs, Deployment, Monitoring, Dokumentation, Workflow-Klarheit und Fehlerbehandlung gehören von Anfang an zum Build.

Architektur

Grenzen früh benannt

Architektur soll Risiko senken und Veränderung erleichtern. Wir machen Daten-Ownership, API-Verträge, Integrationsgrenzen und Migrationsconstraints sichtbar, bevor sie im Code verschwinden.
  • Backend und APIs
  • Frontend und Mobile
  • Daten und Linked Data
  • Docker, Linux und Cloud
  • AI/LLM-Workflows

Technische Ruhe

Technologieentscheidungen sollten das Leben mit der Produktion erleichtern.

Ein Stack ergibt nur Sinn, wenn er verstanden, getestet, gewartet, überwacht und verändert werden kann. Es geht nicht darum, Daten einmal durch eine API zu schieben, sondern darum, den Flow verlässlich zu halten, wenn Volumen, Fehler und Edge Cases kommen.

Lesbare Architektur

Grenzen, Abhängigkeiten, Datenverträge und Tradeoffs werden in klarer Sprache benannt, nicht in Implementierungsdetails vergraben.

Produktions-Gewohnheiten

Tests, Queues, Monitoring, Deployment und Fehlerbehandlung gehören zum Build, nicht als Nachgedanke.

Raum für Veränderung

Wir bevorzugen Systeme, die sich über Migrationen und kleine Releases entwickeln, statt jeden neuen Bedarf in ein Rewrite zu verwandeln.

Wir setzen auf reife Ökosysteme wie Ruby on Rails, wenn diese Reife Risiko senkt, und auf moderne Tools, wenn sie das Problem klar lösen. Die Wahl folgt der Produktionsaufgabe, nicht der Mode.

Capability Map

Eine Capability Map nach der Schicht, die das Risiko trägt.

Jede Schicht benennt den Druck, den sie typischerweise trägt, und den Schritt, der ihn löst: Workflow, UX, API-Vertrag, Datenmodell, Queue, Deployment, Infrastruktur oder AI-Pipeline.

Von der Schicht zur Lieferung

Wenn die riskante Schicht sichtbar ist, braucht die Arbeit einen sicheren Produktionspfad.

Technologieentscheidungen zählen erst, wenn daraus eine Delivery-Sequenz wird: Workflow kartieren, riskanten Slice validieren, nützliche Inkremente liefern, Entscheidungen dokumentieren und Produktion nach dem Release beobachtbar halten.

Wenn die riskante Schicht sichtbar ist, braucht die Arbeit einen sicheren Produktionspfad.
PATH
Delivery-Prozess ansehen
  1. Validierter Slice
  2. Kleiner Release
  3. Beobachtbarer Rollout