Vier Projekte · vier Plattformen

Ich bin Jakob Heinbach.
Ich baue Apps, die sich selbst erklären.

Mac, iPad, iPhone und eine Uhr, die eigentlich nicht mit einem iPhone reden dürfte. Tipp auf ein Symbol — dann steht das Projekt gleich unten in der Mitte.

4 Projekte in Arbeit
4 Plattformen: macOS, iPadOS, iOS, Wear OS
0Tracker in allen vier — kein Werbe-SDK, keine Kennung
1Person Entwurf, Code, Support. Kein Team dahinter.

1 Projekte

Interprex

in Vorbereitung

Windows-Spiele auf dem Mac, ohne Windows. Eine .exe geht hinein, drei Übersetzungen später steht ein Fenster da — Interprex richtet die ganze Kette in einem Durchgang ein und stellt sie auf deine Hardware ein.

SwiftUImacOS 14+Apple Silicon WineMetalRosetta
Was daran schwierig war
  • Drei Übersetzungen hintereinander. Windows-Aufrufe über Wine, DirectX auf Metal, Intel-Code über Rosetta — jede Stufe bricht anders, und der Fehler zeigt sich immer erst in der letzten.
  • Fehler, die sich selbst erklären. Ein Katalog aus Symptom, Ursache und anklickbaren Schritten — dieselben Texte in der App und auf der Website, aus einer Quelldatei erzeugt.
  • Ehrlich über Grenzen. Anti-Cheat im Systemkern läuft nicht und wird nie laufen. Das steht vor dem Download, nicht danach.

Fermata

in Entwicklung

Noten-App fürs iPad. Liest ganze Notenbücher ein und erkennt selbst die Liederliste — und beim Spielen hört sie übers Mikrofon mit und blättert um, bevor du die Hand von der Taste nehmen musst.

SwiftUIiPadOSVision-OCR eigene NotenerkennungPartikelfilter
Was daran schwierig war
  • Notenerkennung ohne Cloud. Notenköpfe, Tonhöhen, Notenwerte, Vorzeichen und Stimmen aus dem Bild — auf dem Gerät, ohne Modell-Download, ohne laufende Kosten.
  • Der beste Prüfstein der Notenschrift. Ein Takt muss so lang sein, wie die Taktart sagt. Wo die Summe nicht aufgeht, berichtigt sich die Erkennung selbst — und behält die Korrektur nur, wenn danach messbar mehr Takte aufgehen.
  • Mithören statt raten. Ein Partikelfilter verfolgt viele Positions- und Tempo-Hypothesen gleichzeitig; geht die Stelle verloren, wird die gehörte Klangspur im ganzen Stück gesucht.

SmartCart

in Entwicklung

Einkaufs-App fürs iPhone. Einkaufszettel abfotografieren — die Liste steht. Dazu die aktuellen Prospekt-Angebote deiner Märkte und eine Auswertung deiner Ausgaben aus gescannten Kassenbons.

SwiftSwiftUIiOS SwiftDataVision-OCRSupabase
Die Einkaufsliste in SmartCart mit Artikeln und Filtern Das Analyse-Ergebnis: günstigster Laden, Einzelpreise, Gesamtkosten Die Navigation zur ausgewählten Filiale
Aufnahmen aus der App
Was daran schwierig war
  • Eine eigene Preis-Pipeline. Produkt- und Angebotsdaten je Händler sammeln, vereinheitlichen und nach Postgres schreiben — dieselbe Milch heißt bei jeder Kette anders.
  • Handschrift lesen. Ein abfotografierter Zettel ist noch keine Liste. Texterkennung, Zeilentrennung und ein Abgleich gegen den Produktkatalog machen erst eine daraus.
  • Nicht mehr versprechen als da ist. Der Preisvergleich über Märkte hinweg ist gebaut, aber noch nicht freigeschaltet — deshalb steht er weder im Store-Text noch hier als Funktion.

WearSync

Store-Einreichung

Verbindet eine Galaxy Watch mit einem iPhone — obwohl Samsung und Apple das nicht vorgesehen haben. Benachrichtigungen, Anrufe, Musik, Fitnessdaten in Apple Health, Akkustand im Batterien-Widget.

SwiftKotlinWear OS Bluetooth LEHealthKitLive Activities
Die WearSync-App: verbundene Uhr, Akkustand und die Fitnesswerte des Tages Der Gesundheitsbereich mit Schritten, Kalorien, Distanz und Puls
Aufnahmen aus der App
Was daran schwierig war
  • Der Trick. iOS stellt jedem gekoppelten Bluetooth-Gerät seine Systemdienste für Benachrichtigungen und Medien bereit. Die Uhr gibt sich als solches Zubehör aus — mehr Erlaubnis braucht es nicht.
  • Anruf-Weiche. Ist das iPhone in Reichweite, läuft das Gespräch dort und die Uhr zeigt nur an. Ist es weg, nimmt die Uhr über ihre eigene SIM selbst an.
  • Was nicht geht, steht dabei. Auf Nachrichten antworten, iPhone-Anrufe über das Uhrmikrofon, Eintrag in „Wo ist“ — alles Plattformsperren ohne Schnittstelle. Ausreden gibt es nicht.
  • Swift
  • SwiftUI
  • SwiftData
  • AppKit
  • Kotlin
  • Jetpack Compose
  • Metal
  • Core Graphics
  • Vision
  • Bluetooth LE
  • HealthKit
  • WidgetKit
  • Live Activities
  • Wine
  • Rosetta
  • Supabase
  • Python
Anzeige
Werbeplatz — erscheint nach deiner Einwilligung.

2 Wie ich arbeite

Nativ, nicht verpackt

SwiftUI und Compose statt einer Web-Ansicht im Fenster. Seitenleiste, Tastaturkürzel, Systemeinstellungen — alles, was greifen soll, greift.

Fehler, die sich erklären

„Ein unbekannter Fehler ist aufgetreten“ ist keine Meldung, sondern eine Kapitulation. Meine Apps nennen Ursache und Schritte — viele anklickbar.

Ehrlich über Grenzen

Was nicht geht, steht vor dem Download. Bei Interprex etwa, dass Spiele mit Anti-Cheat im Systemkern grundsätzlich nicht laufen.

Kein Konto, kein Tracking

Keine Anmeldung, keine Gerätekennung, kein Werbe-SDK. Was über das Netz geht, steht vollständig in der Datenschutzerklärung — und lässt sich abschalten.

3 Kontakt

Fehler gefunden, Frage zu einem Projekt oder einfach Hallo sagen — schreib mir. Ich antworte selbst, es gibt kein Support-Team dahinter.