Skip to content

Projects

A few things I built with AI. How each one came about is on its own page.

What's new

Everything that happened in my projects lately. Releases get their own entry, smaller changes are bundled per week. Pulled straight from GitHub.

commits
138
releases
9
active projects
4
active days
9

November 2026

  1. Leuchtturm2 changes

    • Friends menu: glass buttons like the rest of the app
    • Polish pass: clearer people, calmer colours, native sheets
  2. Leuchtturm1 change

    • Calmer screens: drawer, quick actions, map controls, shorter texts

October 2026

  1. Leuchtturm33 changes

    • Shared rides with driver detection, and dashed gaps instead of roads
    • No "Hoppla" for cancelled requests
    • Share every 5 seconds while driving
    • Smoother driving routes and fresher positions and battery levels
    29 more
    • Quick actions in three groups that explain themselves
    • Friends menu no longer breaks the app, clearer map controls and quick actions
    • Places: start from the regions iOS still monitors after a relaunch
    • Launch screen, loading animation and place freeze fix
    • Friends: translations and docs
    • Friends by friend code, and invites across test and TestFlight builds
    • Profile editor fixes, driving statistics and test findings
    • Action tiles: rounded glass tiles that shrink when pressed, no split words
    • Declare export compliance in Info.plist (CryptoKit only)
    • Live link page: CloudKit web tokens for Production and Development
    • App Store requirements: Health write purpose string, push entitlement for the TV app
    • Privacy policy: contact address and Impressum link
    • TestFlight preparation: CloudKit schema file and upload script
    • French, Spanish, Italian, Dutch, Polish and Turkish
    • Privacy policy (German and English) and a landing page for GitHub Pages
    • One-hour live link for people without the app
    • Apple Watch and Apple TV apps
    • iPad version
    • Widgets, Live Activity and Siri
    • Challenges, steps, memories and weather
    • Friends list across all Leuchttürme
    • Where are you, pick me up, on my way, walk home, meeting point
    • Chat with replies, reactions, photos and stickers
    • Profiles: picture, banner, pin and status
    • Keys travel with iCloud Keychain by default
    • Paths coloured by speed
    • Tabs in the drawer
    • Roles and takeover
    • In the app, circles are called "Leuchtturm"
  2. Leuchtturm34 changes

    • Accessibility pass
    • English localization
    • Warn about new keys, mark members as verified
    • Place suggestions
    30 more
    • Trips start only in a car (motion coprocessor)
    • "Not arrived yet" alerts
    • Weekly badges; CLAUDE.md status
    • Passenger: remove a trip you only rode along on
    • Temporary circles
    • Region monitoring for places
    • GPX export of your own history
    • Low-battery heads-up
    • SOS and crash detection
    • No permanent location indicator
    • Trips, live speed and weekly leaderboards
    • Opt-in location history with own retention
    • Places with arrival and departure alerts
    • Silent push for circle changes
    • Own feature names, no competitor names in the project
    • Bubbles: share only an approximate area for a while
    • Reactions, quick notes, check-ins and good-morning greeting
    • Battery level, demo circle and distinct member colors
    • Roadmap: Life360 feature parity plan
    • Background location sharing
    • App: map home screen, simulation mode and green design
    • Core: encrypted, device-signed location records
    • Add CLAUDE.md with project context and handoff notes
    • Set development team in project spec
    • Switch storage from self-hosted server to CloudKit
    • App M1: setup, circles, invites, settings; docs and CI
    • iOS core (LeuchtturmCore): crypto, protocol, API client
    • Server M1: device auth, circles, invites, key rotation
    • Rename project from Tandem to Leuchtturm
    • Initial scaffold: licenses, docs, Go server skeleton, SwiftUI skeleton, CI
  3. RingMousev1.1.4

    RingMouse v1.1.4

    What's in it

    Fixes

    • Autostart no longer breaks silently when the exe is moved. Until now, a Run entry or scheduled task kept pointing to the old place, and RingMouse simply did not start any more. Now RingMouse checks on every start where its autostart points:

      • a Run entry pointing to a file that no longer exists is repointed to the running exe automatically;
      • a scheduled task can only be re-created via UAC – until you do that, RingMouse adds a Run entry so it still starts with Windows, and a notification tells you how to restore the task (Settings → General → Set up autostart now);
      • an autostart that starts another existing copy of RingMouse is left alone.

      Settings → General now also shows where the autostart points and warns if that file is gone.

    • "Set up autostart now" with the scheduled task works again. Since v1.1.2, RingMouse checks the newly created task before keeping it, but could not read it back (schtasks returns its XML in the console code page, not UTF-16). The task was then deleted again and the settings reported "Could not create the scheduled task (UAC cancelled?)". RingMouse now reads the task through the Windows Task Scheduler API, exactly and including special characters in user names.

    New

    • Start menu entry: RingMouse adds a RingMouse shortcut to your Start menu (per user, no admin rights), so you can always start it by hand – if it is already running, this opens the settings. The shortcut is repaired the same way after a move and can be turned off under Settings → General.

    Downloads

    FileWhat it is
    RingMouse.exeThe app – a single self-contained file, no installation and no .NET needed
    RingMouse-uiAccess.zipOptional variant that may also operate windows running with admin rights (see the README)
    ringmouse-probe.exeDiagnostic tool for bug reports
    SHA256SUMS.txtSHA-256 checksums of all files

    From v1.1.3 on, RingMouse installs this update by itself. Updating by hand: quit RingMouse (tray → Exit), replace RingMouse.exe, start it again. The exe is not code-signed, so Windows SmartScreen may warn on the first start: More info → Run anyway. Verify your download against SHA256SUMS.txt.


    Deutsch: Der Autostart geht nicht mehr still kaputt, wenn die Exe verschoben wird. RingMouse prüft bei jedem Start, wohin sein Autostart zeigt: Ein Run-Eintrag auf eine nicht mehr vorhandene Datei wird automatisch umgebogen. Eine Aufgabe lässt sich nur per UAC neu anlegen – bis dahin startet RingMouse über einen Run-Eintrag, und eine Meldung erklärt, wie die Aufgabe wiederhergestellt wird (Einstellungen → Allgemein → Autostart jetzt einrichten). Ein Autostart auf eine andere vorhandene Kopie bleibt unangetastet; die Einstellungen zeigen jetzt, wohin der Autostart zeigt. Außerdem funktioniert „Autostart jetzt einrichten“ als Aufgabe wieder – seit v1.1.2 konnte RingMouse die neue Aufgabe nicht zurücklesen (schtasks liefert die XML in der Konsolen-Codepage) und hat sie wieder gelöscht. Neu: RingMouse trägt sich ins Startmenü ein (ohne Adminrechte), damit es sich jederzeit von Hand starten lässt; läuft es schon, öffnen sich die Einstellungen. Der Eintrag wird nach einem Umzug ebenso repariert und lässt sich abschalten.

  4. RingMouse1 change

    • Version 1.1.4: repair a stale autostart, add a Start menu entry
  5. Zeitspurv0.4.1

    Zeitspur 0.4.1

    What's in it

    Zeitspur: verschlüsselter, lokaler Aktivitätsverlauf für Windows mit Zeitstrahl und MCP-Server für Claude.

    Installation

    ZeitspurSetup-0.4.1.exe herunterladen und ausführen. Keine Administratorrechte nötig, installiert nur für das eigene Benutzerkonto. Eine vorhandene Installation wird aktualisiert; Datenbank, Schlüssel und Einstellungen bleiben erhalten. Danach hält sich Zeitspur selbst aktuell (abschaltbar unter Einstellungen → Updates).

    • Fehlt die Microsoft Edge WebView2-Runtime, lädt das Setup sie automatisch von Microsoft nach
    • Die EXE ist nicht signiert – Windows SmartScreen kann warnen („Weitere Informationen“ → „Trotzdem ausführen“)
    • Nach einem Update Claude Desktop neu starten, falls der Zeitspur-Connector dort genutzt wird

    Neu in 0.4.1

    • Mehrere Monitore: Zeitspur merkt sofort, wenn Monitore an- oder abgesteckt werden (etwa an der Dockingstation). Bisher nahm es bis zum nächsten Neustart nur die Monitore auf, die beim Start angeschlossen waren.

    Prüfsumme

    SHA-256 ZeitspurSetup-0.4.1.exe:

    86521511e4f6cee39ce78db8ec443644435e842363c8472a2b4a6fddb03cba16
    

    latest.json ist die signierte Update-Information, aus der sich installierte Versionen aktualisieren.

  6. Zeitspur1 change

    • Zeitspur 0.4.1: Monitore nach An- und Abstecken neu einlesen
  7. ClaudeDisplayv2.8.0

    Claude-Usage-Display v2.8.0

    What's in it

    Standby: Kommt 60 s nichts vom PC (Laptop schlaeft, abgedockt, Collector laeuft nicht), geht das Display aus und von selbst wieder an, sobald Daten kommen. Tippen weckt es fuer 30 s. Vorher blieb z. B. beim Andocken "Waiting for data" stehen, bis der Laptop wach und entsperrt war. Neu im Repo: CHANGELOG und Status-Badges in der README.

    Firmware 2.8.0. Mit 2.7.0 auf dem Display erscheint das Update-Banner; zweimal antippen genuegt.

  8. ClaudeDisplay1 change

    • Standby: Display aus, wenn 60 s nichts vom PC kommt; Tippen weckt 30 s (Firmware 2.8.0)
  9. RingMousev1.1.3

    RingMouse v1.1.3

    What's in it

    New: automatic updates

    RingMouse can now keep itself up to date. It checks GitHub for a new signed release a few minutes after start and every 12 hours, downloads it and installs it once the PC has been idle for a few minutes. You can turn this off or trigger it manually under Settings → General → Updates.

    • Signed and safe: every release ships a signed latest.json; RingMouse only installs an update whose signature matches its built-in key and whose version is newer. Taking over the download source or the GitHub account is not enough to push foreign code.
    • Only network connection: the update check is the single connection RingMouse makes – no telemetry, no account. See SECURITY.md.
    • uiAccess variant: updates itself only with a notification (it lives in a protected folder and is locally signed) – update it manually and re-run install-uiaccess.ps1.

    This is the last update you have to install by hand. From v1.1.3 on, RingMouse updates itself (unless you turn it off).

    Downloads

    FileWhat it is
    RingMouse.exeThe app – a single self-contained file, no installation and no .NET needed
    RingMouse-uiAccess.zipOptional variant that may also operate windows running with admin rights (see the README)
    ringmouse-probe.exeDiagnostic tool for bug reports
    SHA256SUMS.txtSHA-256 checksums of all files

    Updating: quit RingMouse (tray → Exit), replace RingMouse.exe, start it again. The exe is not code-signed, so Windows SmartScreen may warn on the first start: More info → Run anyway. Verify your download against SHA256SUMS.txt.


    Deutsch: RingMouse aktualisiert sich ab jetzt selbst – es prüft GitHub auf ein neues, signiertes Release, lädt es und installiert es, sobald der PC eine Weile unbenutzt ist (unter Einstellungen → Allgemein → Updates abschaltbar oder manuell auslösbar). Installiert wird nur, was mit dem eingebauten Schlüssel signiert ist und neuer ist – die Übernahme der Download-Quelle oder des GitHub-Kontos genügt also nicht für Fremdcode. Die Update-Prüfung ist die einzige Netzwerkverbindung. Die uiAccess-Variante meldet nur und wird manuell aktualisiert. Dies ist das letzte Update, das du von Hand einspielen musst.

  10. RingMousev1.1.2

    RingMouse v1.1.2

    What's in it

    Security & stability

    A security and robustness hardening release. No breaking changes; existing configurations keep working.

    • Import safety: the import dialog now clearly warns when a configuration runs programs or PowerShell when a button or ring segment is triggered (including actions that request admin rights). Only import configurations from a source you trust.
    • No secrets in the logs: snippet text, inline PowerShell commands and launch arguments are no longer written to logs\ringmouse-*.log.
    • Autostart task verification: the "scheduled task with highest privileges" is read back and verified after it is created, and removed if it does not match – closing a local tampering window.
    • Data folder is locked down on startup (only your account, SYSTEM and administrators).
    • More robust: the app is hardened against malformed device responses, the mouse pointer can no longer stay hidden after an error, a stuck mouse button on ring close was fixed, and the device watchdog can no longer take the process down. DPI values are clamped to a sane range before being sent to the mouse.
    • New SECURITY.md: documents the trust model (the configuration is executable), the uiAccess residual risk, and how to report a vulnerability.
    • install-uiaccess.ps1 no longer adds its certificate to the TrustedPublisher store (the Root store is enough for the signature check uiAccess requires). If you use the uiAccess variant, re-run the script and confirm Settings → Info shows "uiAccess yes".

    Downloads

    FileWhat it is
    RingMouse.exeThe app – a single self-contained file, no installation and no .NET needed
    RingMouse-uiAccess.zipOptional variant that may also operate windows running with admin rights (see the README)
    ringmouse-probe.exeDiagnostic tool for bug reports
    SHA256SUMS.txtSHA-256 checksums of all files

    Updating: quit RingMouse (tray → Exit), replace RingMouse.exe, start it again. The exe is not code-signed, so Windows SmartScreen may warn on the first start: More info → Run anyway. Verify your download against SHA256SUMS.txt.


    Deutsch: Sicherheits- und Stabilitäts-Release ohne funktionale Einschränkungen. Der Import warnt jetzt deutlich, wenn eine Konfiguration Programme oder PowerShell ausführt; Textbausteine, PowerShell-Befehle und Startargumente landen nicht mehr im Log; die Autostart-Aufgabe wird nach dem Anlegen überprüft; der Datenordner wird beim Start abgeriegelt. Dazu Härtung gegen fehlerhafte Geräteantworten, Absturzschutz (der Mauszeiger bleibt nie versteckt) und eine neue SECURITY.md. Wer die uiAccess-Variante nutzt, sollte install-uiaccess.ps1 erneut ausführen und unter Einstellungen → Info „uiAccess ja" prüfen.

  11. Zeitspurv0.4.0

    Zeitspur 0.4.0

    What's in it

    Zeitspur: verschlüsselter, lokaler Aktivitätsverlauf für Windows mit Zeitstrahl und MCP-Server für Claude.

    Installation

    ZeitspurSetup-0.4.0.exe herunterladen und ausführen. Keine Administratorrechte nötig, installiert nur für das eigene Benutzerkonto. Eine vorhandene Installation wird aktualisiert; Datenbank, Schlüssel und Einstellungen bleiben erhalten. Danach hält sich Zeitspur selbst aktuell (abschaltbar unter Einstellungen → Updates).

    • Fehlt die Microsoft Edge WebView2-Runtime, lädt das Setup sie automatisch von Microsoft nach
    • Die EXE ist nicht signiert – Windows SmartScreen kann warnen („Weitere Informationen“ → „Trotzdem ausführen“)
    • Nach einem Update Claude Desktop neu starten, falls der Zeitspur-Connector dort genutzt wird

    Neu in 0.4.0

    • Standort-Spur: Die Zeile „Orte“ zeigt den Tag als lückenlose Leiste – „08:20–16:40 Büro, 25 min Fahrt nach Hause …“. Sie führt WLAN-Netze, GPS vom Handy (Plugin für die eigene Dawarich-Instanz) und die Ortung von Windows (neues Plugin) zusammen; Erschlossenes ist schraffiert. Ein Klick öffnet den Tagesablauf mit Karte, dort lassen sich Orte benennen – auch Claude erzählt den Tag dann so.
    • Plugin-Browser (Knopf „Plugins“ oben rechts): alle Plugins mit Suche und Kategorien, und je Plugin, was es erfasst, was gespeichert wird und wie man es einrichtet. Auswählen geht schon in der Ersteinrichtung – nichts ist vorausgewählt.
    • Neue Plugins ohne Konto: Gespräche in allen Apps (Zoom, Slack, Webex, STARFACE, WhatsApp, Meetings im Browser …), Windows-Benachrichtigungen, Browser-Verlauf, Outlook-Mails, Git-Commits, PC-Zeiten und WLAN-Netze als Ortshinweis.
    • Neue Online-Plugins: Kalender per ICS-Link (Google, iCloud, neues Outlook, Nextcloud …) und GitHub.
    • Zeitstrahl mit eigenen Zeilen für Gespräche, Mails, Mitteilungen, Web, Entwicklung und PC; Claude bekommt zu jedem Ereignis die Details.
    • Sicherheit: strengere Schutzregeln für die Oberfläche, Zugangsdaten gehen bei Weiterleitungen nie an fremde Server, keine Weiterleitung auf interne Adressen, Updates nie auf eine ältere Version, und die Ausschlussliste greift für jedes sichtbare Fenster, nicht nur das vorderste.
    • Der Update-Hinweis nennt die wichtigsten Neuerungen und verlinkt alle Änderungen auf GitHub.

    Prüfsumme

    SHA-256 ZeitspurSetup-0.4.0.exe:

    cc75a37d0227c074abed8bed088a025d3430a86c35a91b232906293c518b9ba1
    

    latest.json ist die signierte Update-Information, aus der sich installierte Versionen aktualisieren.

  12. Zeitspurv0.3.2

    Zeitspur 0.3.2

    What's in it

    Zeitspur: verschlüsselter, lokaler Aktivitätsverlauf für Windows mit Zeitstrahl und MCP-Server für Claude.

    Installation

    ZeitspurSetup-0.3.2.exe herunterladen und ausführen. Keine Administratorrechte nötig, installiert nur für das eigene Benutzerkonto. Eine vorhandene Installation wird aktualisiert; Datenbank, Schlüssel und Einstellungen bleiben erhalten. Danach hält sich Zeitspur selbst aktuell (abschaltbar unter Einstellungen → Updates).

    • Fehlt die Microsoft Edge WebView2-Runtime, lädt das Setup sie automatisch von Microsoft nach
    • Die EXE ist nicht signiert – Windows SmartScreen kann warnen („Weitere Informationen“ → „Trotzdem ausführen“)
    • Nach einem Update Claude Desktop neu starten, falls der Zeitspur-Connector dort genutzt wird

    Neu in 0.3.2

    • Claude Desktop aus dem Microsoft Store: Die Registrierung findet die richtige Konfigurationsdatei und wartet, bis Claude Desktop beendet ist – sonst würde es den Eintrag wieder überschreiben.

    Prüfsumme

    SHA-256 ZeitspurSetup-0.3.2.exe:

    b92fb6e9cda4004b45ca7f75ad52f0f783bc984d71a48f7355e3d1fdce5a8203
    

    latest.json ist die signierte Update-Information, aus der sich installierte Versionen aktualisieren.

  13. RingMousev1.1.1

    RingMouse v1.1.1

    What's in it

    Changes

    • New logo and app icon (taskbar, Explorer, settings window).
    • The file description of RingMouse.exe now calls RingMouse what it is: an alternative to the Actions Ring of Logi Options+ – not a replacement for Options+ as a whole.
    • No functional changes compared to v1.1.0.

    Downloads

    FileWhat it is
    RingMouse.exeThe app – a single self-contained file, no installation and no .NET needed
    RingMouse-uiAccess.zipOptional variant that may also operate windows running with admin rights (see the README)
    ringmouse-probe.exeDiagnostic tool for bug reports
    SHA256SUMS.txtSHA-256 checksums of all files

    Updating: quit RingMouse (tray → Exit), replace RingMouse.exe, start it again. The exe is not code-signed, so Windows SmartScreen may warn on the first start: More info → Run anyway.


    Deutsch: Neues Logo und App-Icon; die Dateibeschreibung der Exe nennt RingMouse jetzt eine Alternative zum Actions Ring von Logi Options+ statt eines Ersatzes für Options+. Keine funktionalen Änderungen gegenüber v1.1.0.

  14. ClaudeDisplay16 changes

    • CHANGELOG hinzugefuegt (Keep a Changelog: v2.6.0, v2.7.0) + in README verlinkt
    • Self-Update und Session-Detailblatt vom Display; Board-Eingaben fuers Log gehaertet (Firmware 2.7.0)
    • Logo, echte Screenshots in der README, Display-Texte englisch
    • Kontext-Füllstand in den Listen, Display blitzt, wenn eine Session fertig ist (Firmware 2.6.0)
    12 more
    • Seitwärts wischen wechselt die Seite; Remote-Sessions öffnen in Claude Desktop
    • Touch vertikal gespiegelt: offset_rotation 4 (Build-Flag TOUCH_ROTATION)
    • Setup.ps1: UTF-8-BOM wiederherstellen (Windows PowerShell 5.1)
    • Session per Tippen öffnen, "wartet seit" in der Session-Zeile (Firmware 2.5.0)
    • Gelb wie in Claude Desktop: "needs input" nur, solange die Session seitdem nicht geöffnet wurde
    • Status schneller und wie in Claude Desktop, Helligkeit fest
    • Remote: Session mit Rückfrage (status_bucket blocked) als wartend anzeigen
    • Session-Zeile statt Verlaufskurve
    • Plug & Play: Setup-Assistent und Release-Script
    • Release-Vorbereitung: fertige Firmware-Images, Pfade aus Builds entfernen
    • Seitenreihenfolge: Home, Lokal, Remote
    • Claude-Usage-Display: Firmware (ESP32 CYD) und PowerShell-Host
  15. RingMouse20 changes

    • Version 1.1.3: automatic updates
    • Auto-update: embed the release public key
    • Auto-update: sign latest.json in the release workflow
    • Auto-update: release signing tool and documentation
    16 more
    • Auto-update (3/4): settings, status UI and wiring
    • Auto-update (2/4): updater service (check, download, self-replace)
    • Auto-update (1/4): signed manifest verification
    • Version 1.1.2: security and stability hardening
    • Security hardening (4/4): document the security model
    • Security hardening (3/4): defensive decoding & bounds
    • Security hardening (2/4): crash & process stability
    • Security hardening (1/4): privilege escalation & data exposure
    • Version 1.1.1: new logo and app icon
    • Add logo, new app icon and screenshots
    • Describe RingMouse as an alternative to the Options+ Actions Ring, not to Options+ as a whole
    • Import from Logi Options+, export/import of the configuration
    • Bilingual UI (English/German), English logs, release packaging
    • Support any Logitech HID++ 2.0 mouse: ring button setup, 0x2202 DPI
    • Add license (MIT + Commons Clause) and contribution terms
    • RingMouse: lightweight Logi Options+ replacement for Logitech mice
  16. Zeitspur6 changes

    • Zeitspur 0.4.0: Standort-Spur, Windows-Standort, Sicherheitshaertung - Release mit allen Plugins
    • get_time_context: is_dst richtig ermitteln
    • Zeitspur 0.4.0: Plugin-Browser, neue Plugins, README mit Screenshots
    • Version 0.3.2
    2 more
    • Claude Desktop: Registrierung in die richtige Datei, nur bei beendetem Claude Desktop
    • Zeitspur 0.3.1
  17. RingMousev1.1.0

    RingMouse v1.1.0

    What's in it

    New

    • Import from Logi Options+: takes over the Actions Ring with its folders, the button assignments and the app profiles of an installed Options+ – in the first-run setup or under Settings → General. A preview shows what is taken over and what not (e.g. actions of the Excel or Teams plugins); you choose the parts.
    • Export and import of the RingMouse configuration (e.g. for another computer), including Actions Ring presets exported from Options+ (.lp5). A backup is created before every import.
    • RingMouse.exe --import-report <file> shows what an Options+ import would produce, without changing anything.

    Downloads

    FileWhat it is
    RingMouse.exeThe app – a single self-contained file, no installation and no .NET needed
    RingMouse-uiAccess.zipOptional variant that may also operate windows running with admin rights (see the README)
    ringmouse-probe.exeDiagnostic tool for bug reports
    SHA256SUMS.txtSHA-256 checksums of all files

    Updating: quit RingMouse (tray → Exit), replace RingMouse.exe, start it again. The exe is not code-signed, so Windows SmartScreen may warn on the first start: More info → Run anyway.


    Deutsch: Neu ist der Import aus Logi Options+ (Actions Ring samt Ordnern, Tastenbelegungen und App-Profile – in der Ersteinrichtung oder unter Einstellungen → Allgemein) sowie Export und Import der RingMouse-Konfiguration, auch von aus Options+ exportierten Ring-Presets (.lp5). Vor jedem Import wird eine Sicherung angelegt. Details im deutschen README.

The change notes are exactly what is on GitHub. RingMouse ↗ · ClaudeDisplay ↗ · Zeitspur ↗ · Leuchtturm ↗

Tab completes · ↑ ↓ pick · Enter runs · Esc closes · "help" lists all commands