Alte Systeme ablösen, ohne sie abzuschalten.

Sharpsoft ist Luc. Ich nehme Software, die seit Jahrzehnten läuft und die niemand mehr anfassen will, und baue sie Schritt für Schritt neu — während sie weiterläuft. Daneben entstehen neue Anwendungen: im Web, auf Android, im Cluster.

Was ersetzt wird

Aus echten Migrationen: das System, das im Betrieb war — und was heute an seiner Stelle läuft.

VorherNachher
Delphi-Client auf jedem PC
Angular im Browser
Sybase ASE
PostgreSQL
Java-Monolith
Go, entkoppelte Dienste
HTML vom Server
Angular, statisch vorgerendert
Voll-Export über Nacht
Delta-Sync im Minutentakt
Für Suchmaschinen unsichtbar
Strukturierte Daten, Sitemaps, Google Merchant

Fallbeispiel

ABW Autoverwertung abw.ch

Der Betrieb lief auf einer Delphi-Anwendung mit Sybase-Datenbank — Lager, Preise, Rechnungen. Sie wurde zuerst nach Java überführt, dann Stück für Stück nach Go. Daneben steht heute ein Webshop, der den gesamten Bestand öffentlich durchsuchbar macht, ohne die Datenbank je direkt anzufassen.

108’300Ersatzteilseiten pro Sprache, Deutsch und Französisch — jede mit eigenem Titel, eigener Beschreibung und strukturierten Daten vorgerendert.

Ein Java-Worker spiegelt nur die Änderungen aus Sybase nach PostgreSQL und wandelt die Bilder nach WebP. Eine Go-API bedient ausschliesslich PostgreSQL. Bestellungen laufen über QR-Rechnung, TWINT und PayPal. Der ganze Katalog geht zusätzlich als Feed ins Google Merchant Center — jedes Teil als eigenes Produkt.

Was ich mache

Migration von Altsystemen

Das alte System bleibt in Betrieb und wird zur Datenquelle. Daneben wächst die neue Architektur, übernimmt Last und Funktion, bis vom Altsystem nur noch der Teil übrig ist, der wirklich gebraucht wird. Kein Stichtag, kein Stillstand, keine verlorenen Daten.

Sybase, Oracle, DB2, PostgreSQL, Java, Go

Neue Anwendungen

Web-Anwendungen, interne Werkzeuge, Schnittstellen und die Infrastruktur darunter. Von der ersten Skizze bis zum Betrieb im Kubernetes-Cluster — von einer Person, die auch die Datenbank versteht.

Angular, Go, Rust, PostgreSQL, Kubernetes

KI-Agenten und Claude

Agenten, die an echten Systemen arbeiten — an der Codebasis, am Ticket, an der Datenbank — statt an einer Demo. Dazu Prüfstände, die messen, ob das Ergebnis wirklich besser ist, und die Ehrlichkeit zu sagen, wo sich der Aufwand nicht lohnt.

Claude, Claude Code, MCP, Agenten, RAG, Evaluation

Sichtbarkeit in Suchmaschinen

SEO als technische Aufgabe: Seiten, die als fertiges HTML ausgeliefert werden statt als leere JavaScript-Hülle, strukturierte Daten, saubere Sitemaps, kurze Ladezeiten. Damit auch ein Katalog mit zehntausenden Positionen gefunden wird.

Vorrendern, JSON-LD, Sitemaps, Google Merchant, Core Web Vitals

Was ich gebaut habe

lernja lernja.ch

Lernplattform für Schweizer Schulen und Erwachsene. Fünf Sprachen inklusive Rätoromanisch, Übungen als eigenständige Micro-Frontends, mandantenfähig.

Angular, Go, gRPC, Kubernetes

KISSDesk

Fernwartung über einen einzigen Port. Kein VPN, keine Portfreigabe, kein Plugin — der Rechner meldet sich von sich aus, der Browser dekodiert das Bild direkt.

Rust, WebCodecs, Redis, Kubernetes

MuPlay

Android-Player für Musik und Hörbücher auf dem eigenen Server. Jedes Buch merkt sich seine Stelle, Wiedergabe auf Sonos und im Auto.

Android, Kotlin, Subsonic, DLNA

helios57/muplay

FamilyGuard

Geräteverwaltung für Familien auf eigener Hardware. Regeln für Apps und Bildschirmzeit, ohne die Daten aus dem Haus zu geben.

Android Device Owner, Go, PostgreSQL

helios57/familyguard

Open Source

Werkzeuge, die in echten Projekten entstanden sind und öffentlich weiterleben.

mtrail/adjudicatoradjudicator.ch

Wettkampfplattform für schachspielende Agenten. Regeldurchsetzung nach FIDE, Zeitkontrolle, Elo-Wertung und ein Dashboard, das laufende Partien live zeigt — gebaut für Programme statt für Menschen, deshalb zuerst die Schnittstelle.

Go, gRPC, gRPC-Web, Angular, MIT

helios57/protogen

Maven-Plugin, das aus .proto-Dateien Java-Records erzeugt, die allein mit dem JDK laufen: keine protobuf-Bibliothek, kein Netty, kein protoc im Build. Die Bytes bleiben zu protoc kompatibel, geprüft mit einer Differenz-Suite.

Java 17, Maven Central, MIT

helios57/NgGoRPC

gRPC über eine einzige WebSocket-Verbindung, direkt zwischen Angular und Go. Kein Envoy-Proxy dazwischen, viele Aufrufe parallel auf derselben Verbindung.

TypeScript, Go, WebSocket, MIT

helios57/palworld

Zuchtplaner für Palworld. Der Spielstand wird im Browser selbst gelesen, daraus berechnet das Werkzeug den kürzesten Weg vom vorhandenen Bestand zum gewünschten Pal. Nichts wird hochgeladen, es gibt keinen Server.

TypeScript, GitHub Pages, MIT

Kontakt

Ein Altsystem, das abgelöst werden muss, oder etwas Neues, das gebaut werden will? Schreiben Sie mir.

Sharpsoft