Kleine Software, ordentlich gebaut.
Ein Prüfungstrainer für den Segelschein und ein Treiber, der Xbox-Controller an den Mac bringt. Beide sind entstanden, weil es das Gesuchte nicht gab, und beide laufen auf eigener Hardware — nicht in fremder Hand.
Projekte
Zwei Stück — und beide tun etwas.
Kein Portfolio mit Bildschirmfotos von Entwürfen. Beides läuft, beides wird benutzt, beides hat eine eigene Adresse.
FB2 Trainer — Segelschein
Lern- und Prüfungstrainer für den Befähigungsausweis Fahrtbereich 2 des Österreichischen Segel-Verbands. Der gesamte Theoriestoff — vom Funkalphabet über Manöver und Navigation bis zum Stromdreieck — steckt in zwölf Modulen, und die App merkt sich, was noch wackelt.
- 12 Module mit 990 Lernkarten, darunter 207 eigene Prüfungsfragen
- Gestaffelte Wiederholung: Falsches kommt sofort wieder, Sitzendes immer seltener
- Prüfmodus mit acht Stufen — vom Wiedererkennen bis zum Endlosmodus unter Zeitdruck
- Prüfungssimulation mit Verlauf, Auswertung je Themengebiet und Nachbesprechung
- Lerngruppen, Regatta und Duell — gegen die eigene Crew statt gegen sich allein
- Offline an Bord: als App am Handy installierbar, Antworten wandern später von selbst zum Server
Spring Boot · Kotlin · PostgreSQL · Angular · Docker
GamepadBridge — macOS
macOS spricht nur Bluetooth. Den Xbox Wireless Adapter — und damit jeden Controller dahinter — gibt es für den Mac schlicht nicht. GamepadBridge ist die Menüleisten-App, die das ändert: sie redet selbst mit dem Adapter und reicht den Controller als reguläres Gamepad an das System weiter.
- Spricht den Xbox Wireless Adapter direkt an — ohne Bluetooth, ohne Kabel am Controller
- Auch der Controller 1537, den macOS von sich aus ignoriert
- Erscheint als reguläres Gamepad: Spiele merken nichts von der Brücke
- Signiert und notarisiert, Installation in drei Zeilen per Homebrew
- Quelloffen unter GPL — aufbauend auf der Reverse-Engineering-Arbeit von xow
Swift · CoreHID · Homebrew Cask · GitLab CI
Handwerk
Sechs Dinge, die ich nicht verhandle.
Das sind keine Vorsätze, sondern die Entscheidungen, an denen beide Projekte oben tatsächlich hängen.
Fertig ausgeliefert, nicht nachgeladen
Jede Seite wird beim Bauen gerendert und kommt als fertiges HTML an. Der Text steht sofort da; die Anwendung übernimmt danach im Hintergrund. Diese Seite hier ist der Beweis.
Nichts von fremden Servern
Keine Webfonts, keine Zählpixel, keine Werbung. Schrift und Symbole liegen auf derselben Domain — dadurch erreicht keine Anfrage von Ihnen jemand anderen, während Sie hier lesen. Die einzige optionale Zugabe, eine Fehleranalyse auf meinem eigenen Server, startet nur mit Ihrer Zustimmung.
Offline gedacht
Der Segeltrainer wird am Steg benutzt, nicht am Schreibtisch. Inhalte liegen nach dem ersten Öffnen am Gerät, Antworten warten in einer Warteschlange und gehen später von selbst zum Server.
Auf eigener Hardware
Alles läuft im eigenen Serverschrank: Container aus der eigenen Registry, davor ein eigener Reverse Proxy. Kein Dienst, der eines Tages abgedreht wird und meine Daten mitnimmt.
Ein Design-System, nicht fünf
Dieselbe Palette, dieselben Bausteine, dieselben Abstände auf jeder DerGeorg-Seite. Neue Seite heisst neuer Inhalt — nicht neues Aussehen.
Kontraste gemessen
Jede Textfarbe auf hellem Grund erfüllt WCAG AA. Nachgerechnet, nicht geschätzt — deshalb ist das Logo-Bernstein hier nie Fliesstext, sondern nur Akzent auf dunklem Grund.
Womit
Oberfläche
- Angular
- TypeScript
- Tailwind
- DaisyUI
Server
- Kotlin
- Spring Boot
- PostgreSQL
- Node
Apple
- Swift
- CoreHID
- Homebrew
Betrieb
- Docker
- Harbor
- GitLab CI
Kontakt
Fragen zu einem der beiden Projekte?
Fehlerbericht, Wunsch oder schlicht Neugier. Beides sind Feierabendprojekte, also dauert die Antwort manchmal ein paar Tage.
Oder schreiben Sie direkt an dev@dergeorg.at