Projekte

Projekte

Beispielprojekte, die ich selbst konzipiert und umgesetzt habe

01

Ganglass

Anlässe aus dem Kanton Zug

Ganglass sammelt Veranstaltungen, Konzerte und Anlässe aus allen 11 Zuger Gemeinden und macht sie an einem Ort durchsuchbar - als Liste, im Kalender oder auf der Karte. Favoriten landen auf einer Merkliste, und die Web-App lässt sich auf dem Smartphone installieren.

  • Vue 3
  • TypeScript
  • FastAPI
  • PostgreSQL
  • Gemini
  • Kubernetes
ganglass.ch
StartseiteKalenderKarte
Details und Tech-Stack
Anlässe
Anlässe
Anlass-Ansicht
Anlass-Ansicht

11 Gemeinden, ein Ort

Alle Anlässe der Zuger Gemeinden gesammelt statt auf elf einzelnen Seiten.

Liste, Kalender, Karte

Drei Ansichten auf dieselben Anlässe, dazu eine Suche über Titel, Ort und Kategorie.

Merkliste

Favoriten merken und als Link teilen.

Installierbar

Läuft als Web-App auf dem Smartphone, ohne App-Store.

Tech-Stack

Frontend

  • Vue 3
  • TypeScript
  • Vite
  • Pinia
  • Leaflet
  • ECharts

Single-Page-App mit Karten-Clustering, als PWA installierbar.

Backend

  • Python
  • FastAPI
  • SQLAlchemy
  • PostgreSQL
  • Alembic

REST-API plus Worker mit eigener Job-Queue und Cron-Zeitplan.

Crawler

  • httpx
  • BeautifulSoup
  • iCal
  • RapidFuzz

Mehrstufige Pipeline: entdecken, laden, extrahieren, Duplikate zusammenführen, geokodieren.

KI

  • Gemini
  • Pydantic AI

Täglicher Instagram-Post mit generiertem Hintergrundbild und Text zu den Anlässen des Tages.

Betrieb

  • Docker
  • Kubernetes
  • Helm
  • GitHub Actions
  • Caddy

Automatisierte Releases mit geprüften, signierten Container-Images.

02

Journeys

Reise-Tracker für Android, offline first

Journeys zeichnet Reisen per GPS auf, zeigt die Route live auf einer OpenStreetMap-Karte und speichert alles lokal auf dem Smartphone. Fotos und Notizen landen direkt auf der Route, mehrere Reisen lassen sich zu einem Trip bündeln. Wer sich anmeldet, sichert seine Reisen auf dem eigenen Server und kann sie per Link teilen.

  • Kotlin
  • Jetpack Compose
  • Room
  • Go
  • PostgreSQL
  • Kubernetes
ÜbersichtTripReise-Detail
Details und Tech-Stack
Alle Reisen
Alle Reisen
Geteilter Link
Geteilter Link
Backup & Sync
Backup & Sync

Offline first

Aufzeichnung, Karte und Verlauf funktionieren ohne Konto. Ohne Anmeldung verlässt nichts das Smartphone.

Fotos und Notizen

Fotos landen anhand ihrer Aufnahmezeit an der richtigen Stelle der Route.

Trips

Mehrere Reisen zu einem Trip bündeln, mit eigener Karte, Statistik und GPX-Export.

Backup und Teilen

Optionales Backup auf dem eigenen Server und Links, die Route und Fotos im Browser zeigen.

Tech-Stack

App

  • Kotlin
  • Jetpack Compose
  • Material 3
  • Room
  • Hilt
  • WorkManager
  • osmdroid

Native Android-App. Jeder GPS-Punkt wird sofort in die lokale Datenbank geschrieben.

Tracking

  • Foreground Service
  • Fused Location
  • Kalman-Filter

Zeichnet im Hintergrund auf, mit drei Modi zwischen Akkulaufzeit und Detailgrad.

Server

  • Go
  • PostgreSQL
  • S3
  • OIDC
  • Leaflet

Backup-Server für Routen, Notizen und Fotos, inklusive Web-Ansicht für geteilte Links.

Betrieb

  • Docker
  • Kubernetes
  • Helm
  • GitHub Actions

Die App prüft täglich auf neue Versionen und installiert signierte Updates selbst.

03

TrExperts!

Portfolio- und Budget-App, die misst, ob sich die KI-Empfehlungen auszahlen

TrExperts! ist ein Labor, um zu untersuchen, wie sich Sprachmodelle als Portfolio-Entscheider verhalten. Die App führt ein Haushaltsbudget, vergleicht ein Portfolio mit Benchmarks und macht aus Geldfragen Ziele mit konkreten nächsten Schritten. Bei jeder KI-Empfehlung misst sie im Nachhinein, ob sich das Befolgen tatsächlich ausgezahlt hat.

  • Vue 3
  • FastAPI
  • Pydantic AI
  • Celery
  • PostgreSQL
  • Kubernetes
stock.baer.dev
HomePortfolioBudget
Details und Tech-Stack
Coach
Coach

Ziele statt Fragen

Ein Geldproblem in eigenen Worten schildern. Der Plan entsteht nach festen Regeln; das Sprachmodell formuliert ihn nur um und kann die Zahlen nicht verändern.

KI-Analyse

Ein Health Score und wöchentliche Handelsvorschläge zum aktuellen Portfolio. Gehandelt wird selbst.

Zahlt es sich aus?

Hält fest, wie viele Empfehlungen umgesetzt wurden und wie sie ausgingen, verglichen pro Prompt-Version und Modell.

Haushaltsbudget

Ausgaben als Freitext erfassen und sehen, was im Monat pro Kategorie noch übrig ist.

Tech-Stack

Frontend

  • Vue 3
  • TypeScript
  • Pinia
  • TanStack Query
  • Tailwind CSS
  • Chart.js

Single-Page-App, als PWA installierbar, mit Typen, die den Backend-Modellen entsprechen.

Backend

  • Python
  • FastAPI
  • SQLModel
  • PostgreSQL
  • Celery
  • Redis

REST-API mit strikter Schichtung; geplante und lang laufende Aufgaben erledigt ein Worker.

KI

  • Pydantic AI
  • Gemini
  • Claude
  • OpenAI

Rund 25 Agenten, ausschliesslich mit strukturierten Ausgaben. Jedes Ergebnis lässt sich seiner Prompt-Version und seinem Modell zuordnen.

Betrieb

  • Kubernetes
  • Helm
  • Flux
  • OIDC
  • OpenTelemetry
  • GitHub Actions

Releases bauen geprüfte Container-Images und ein Helm-Chart, das Flux im Cluster ausrollt.

04

MSFS 2024 HUD

Fluginstrumente für den Microsoft Flight Simulator auf einem 2,4-Zoll-ESP32-Display

Das HUD macht aus einem 2,4-Zoll-Touch-Display mit ESP32 ein Fluginstrument für den Microsoft Flight Simulator 2024. Eine kleine Windows-App liest die Telemetrie aus dem Simulator und schickt sie per USB oder WLAN ans Display. Acht Ansichten zeigen Fluglage, Triebwerk, Navigation und Autopilot, und Warnungen wie Strömungsabriss oder Triebwerksbrand erscheinen über jeder Ansicht.

  • C++
  • LVGL
  • ESP32
  • C#
  • .NET 10
  • SimConnect
GitHub
Künstlicher HorizontECAMAutopilot
Details und Tech-Stack
Navigation
Navigation
Triebwerk
Triebwerk
Flugdaten
Flugdaten

Acht Instrumenten-Ansichten

Künstlicher Horizont, Triebwerk, Flugdaten, G-Kräfte, Navigation, Konfiguration, Autopilot und ein ECAM nach Airbus-Vorbild. Gewechselt wird per Wischen.

Autopilot per Touch

Autopilot-Modi antippen, Kurs und Höhe einstellen. Eine Kachel leuchtet erst, wenn der Simulator den neuen Zustand meldet.

Ohne MSFS-SDK

Die Windows-App spricht das SimConnect-Protokoll selbst und lässt sich deshalb als fertiges Programm ausliefern.

Geführte Installation

Der Installer findet das Display am USB-Anschluss, spielt die Firmware auf und startet das HUD zusammen mit dem Simulator.

Tech-Stack

Firmware

  • C++
  • Arduino
  • LVGL
  • TFT_eSPI
  • PlatformIO

Kantengeglätteter Horizont, geditherte Farbverläufe und weich nachlaufende Anzeigen, gezeichnet mit DMA und zwei Bildpuffern.

Sender

  • C#
  • .NET 10
  • SimConnect

Windows-App mit eigenem SimConnect-Client, die 20- bis 30-mal pro Sekunde Telemetrie sendet.

Protokoll

  • COBS
  • CRC-8
  • USB Serial
  • UDP

Kompakte Binär-Frames, in C++ und C# umgesetzt und auf beiden Seiten mit denselben Referenz-Frames getestet.

Build & Test

  • PowerShell
  • Inno Setup
  • GitHub Actions
  • QEMU

Die CI startet die Firmware in einem ESP32-Emulator und testet den Sender gegen einen simulierten Simulator.

05

Birthday Contacts

Geburtstags-Erinnerungen für Android und iPhone, mit Begleit-Apps für drei Uhren-Plattformen

Birthday Contacts listet die Geburtstage aus den Kontakten auf, sortiert nach dem nächsten, und erinnert am Tag selbst. Die Geburtstage stammen aus dem Adressbuch des Smartphones, aus Google Kontakte oder aus selbst erfassten Einträgen. Widgets und Uhren-Apps zeigen die nächsten Geburtstage, ohne dass man die App öffnen muss.

  • Flutter
  • Dart
  • Kotlin
  • Swift
  • Wear OS
  • Garmin
GeburtstagslisteDunkles DesignGeburtstag im Detail
Details und Tech-Stack
Geburtstag erfassen
Geburtstag erfassen
Backup-Einstellungen
Backup-Einstellungen
Einrichtung
Einrichtung

Drei Quellen, eine Liste

Kontakte des Smartphones, Google Kontakte und eigene Einträge. Importiert wird erst, wenn eine Quelle eingeschaltet ist.

Erinnerungen

Eine Mitteilung am Tag selbst zur gewählten Uhrzeit, auf Wunsch auch am Vortag und eine Woche vorher.

Widgets und Uhren

Widgets für Start- und Sperrbildschirm, dazu Apps für Wear OS, Apple Watch und Garmin.

Kein Konto, kein Tracking

Die Geburtstage bleiben auf den eigenen Geräten. Backups gehen nur auf Wunsch zu Google Drive, iCloud oder in eine Datei.

Tech-Stack

App

  • Flutter
  • Dart
  • Riverpod
  • Drift
  • go_router

Eine Codebasis für Android und iPhone, mit lokaler Datenbank, die bei jedem Abgleich erneuert wird.

Android

  • Kotlin
  • Jetpack Glance
  • Wear OS
  • WorkManager

Natives Startbildschirm-Widget und eine Wear-OS-App mit Kachel und Komplikation.

Apple

  • Swift
  • WidgetKit
  • watchOS

Widgets für Start- und Sperrbildschirm und eine Apple-Watch-App, die sich den Code teilen.

Garmin

  • Connect IQ
  • Monkey C

Uhren-App mit Kurzansicht und Liste, vom Smartphone versorgt. Alle Oberflächen gibt es in sechs Sprachen.

Ein ähnliches Projekt im Kopf?

Von der Idee bis zum laufenden Produkt.

Gespräch starten