Zum Inhalt springen
Entwicklungstagebuch

Der ehrliche Feinschliff: v1 ausliefern

7 Min. Lesezeitvon Manuel

Zwei fokussierte Wochen, eine Wand aus kleinen Fixes, echte Geräterahmen für die Screenshots, und eine ehrliche Bilanz, wie es wirklich war, das mit Claude zu bauen.

Der iPhone-Screen-Editor beim Zusammenstellen eines Watch-Layouts

Hier ist der Teil, den niemand in eine Launch-Ankündigung schreibt: Der letzte Abschnitt vor dem Ausliefern ist nicht glamourös. Er ist eine lange Wand aus kleinen Fixes, die unglamouröse Arbeit, aus einer Sache, die größtenteils funktioniert, eine zu machen, die du stolz mit deinem Namen versiehst.

Die Wand aus kleinen Dingen

Der Aufräum-Sprint waren Dutzende kleiner Korrekturen. Größere Ziffern auf den kleinsten Watches, damit sie lesbar bleiben. Vorschaukarten, die leere Diagramme zeigten, jetzt mit einer realistischen Kurve befüllt. Ein Medien-Widget, von dem ich entschied, dass es seinen Platz nicht verdiente, entfernt, aber so, dass alte Layouts, die es nutzten, sauber migriert werden, damit niemandes Screen kaputtgeht. Schwimmtempo pro hundert Meter statt pro Kilometer angezeigt, weil Schwimmer so denken. Erklärungen in einfacher Sprache hinter kleinen Info-Buttons für die wirklich verwirrenden Dinge, etwa was Fitness, Ermüdung und Form eigentlich bedeuten.

Keines davon ist eine Schlagzeile. Alle zusammen sind der Unterschied zwischen einer App, die sich wie ein Prototyp anfühlt, und einer, die sich fertig anfühlt. Ich behielt den ganzen Weg über eine harte 80-Prozent-Testabdeckungsgrenze bei, sodass jeder dieser Fixes mit den Tests kam, die ihn behoben halten. Diese Grenze fing mehr meiner Fehler ab, als mein Stolz zugeben möchte.

Eine überzeugende Demo ehrlich faken

Dann die Screenshots, die ihr eigenes komisches Problem hatten. Um den Verlauf-Tab und das Trainingslast-Diagramm zu zeigen, brauchst du ein Telefon mit Monaten an Trainingsdaten. Ein Prüfer bei Apple, oder ich auf einem frischen Simulator, hat keine. Also baute ich einen Seeding-Modus: ein Flag, das über einen Mock-Health-Client rund neunzig Tage realistischer Fake-Trainings einspielt, sodass sich die App mit glaubwürdigen Statistiken füllt, ohne je dein echtes Apple Health zu berühren oder nach Erlaubnis zu fragen. Die Fake-Daten landen nie in der echten App; sie existieren nur, um ehrlich aussehende Screenshots zu machen.

Was mir am meisten Spaß machte, war die Rahmung:

feat: marketing capture overhaul + real-bezel framing (phase 24) feat(marketing): instrument-grade Effort triad as editor signature screen

Statt gefälschter Plastik-Geräterahmen nutzte ich echte fotografierte Rahmen der tatsächlichen Apple-Watch- und iPhone-Hardware und schrieb ein Tool, das jedes Rahmenbild flutet, um den transparenten Bildschirmausschnitt automatisch zu finden, und den Screenshot dann an genau der richtigen Stelle und im richtigen Winkel einsetzt. Es wechselt sogar durch verschiedene Watch-Armbänder und Gehäusefarben, damit die Aufnahmen nicht eintönig sind. Überengineert für ein Set Marketingbilder? Absolut. Aber es ist derselbe Instinkt wie beim Rest der App: Wenn ich dir etwas zeige, dann sollte es das Echte sein, ehrlich präsentiert.

Die ehrliche Abrechnung: das mit Claude bauen

Ich habe am Anfang versprochen, dabei ehrlich zu sein, also hier ist es.

Runara wurde von mir und Claude gebaut, gemeinsam, und das verstecke ich nicht in den Fußnoten. Meine Commit-Historie hält es klar fest: Die Commits, bei denen Claude geholfen hat, tragen eine Co-Authored-By: Claude-Zeile, und ich habe sie nie herausgeschrubbt. Diese Historie ist nicht öffentlich, du kannst sie also nicht selbst nachprüfen, du musst mir das glauben. Aber ich sage es dir lieber direkt, als es still von dieser Seite wegzulassen.

Ist "KI-Schrott" also ein fairer Vorwurf? Ich glaube nicht, und hier ist die ehrliche Begründung statt einer defensiven Parole.

Worin Claude außergewöhnlich war: Breite und Tempo. Einen Sprachsynthesizer über sechzehn Sportarten und zwei Sprachen verkabeln. Das Gerüst für gut zwanzig Widget-Renderer erzeugen. Den ersten korrekten Entwurf eines SQLite-Kachelschreibers schreiben. Sauberes, idiomatisches Swift schneller produzieren, als ich tippen kann. Für einen Einzelentwickler mit drei Kindern, einer Frau, einem Haus voller Tiere, einem Pool zu pflegen und einem Tag, der keine freien Stunden hat, ist dieser Hebel der einzige Grund, warum diese App überhaupt existiert. Zwei fokussierte Wochen statt zwei Jahre.

Worin es nicht gut war, und woher jede interessante Geschichte dieser Serie kam: Urteilsvermögen über die echte Welt. Es sah nicht voraus, dass ein abgefangener Decodier-Fehler über ein Update hinweg in stillen Datenverlust kaskadieren würde. Es schlug zwei vernünftige Fixes für den Pedometer-Crash vor, die beide falsch waren, weil der Crash passierte, bevor sein Code lief. Es konnte nicht fühlen, dass ein deutscher Hinweis gestelzt klang, oder dass eine Komplikation als Klecks renderte, oder dass eine Offline-Prüfung auf echter Hardware log. Jedes davon wurde von mir gefangen, beim Laufenlassen des Dings auf einer echten Watch, bei einem echten Lauf, mit genug Erfahrung, um zu wissen, wie falsch aussieht.

Das ist die tatsächliche Form der Sache. Claude ist ein phänomenaler Kraftverstärker beim Tippen und bei der Breite. Die Architektur, der Geschmack, die Paranoia gegenüber Grenzfällen, die Bereitschaft, einen plausiblen Fix wegzuwerfen, weil er die Ursache nicht trifft, das Testen auf echter Hardware, die Entscheidung, was überhaupt gebaut werden soll, das war alles ich, und das ist der Teil, der ein Werkzeug, dem ich vertraue, von generiertem Brei trennt. Die Maschine machte mich schneller. Sie traf nicht die Entscheidungen. Ich bin wirklich stolz auf das, was herauskam, und ich wäre es nicht, wenn ich nicht glaubte, dass meine Fingerabdrücke auf jedem Teil sind, auf den es ankommt.

Was du tatsächlich bekommst

Also, wo es landet. Runara ist eine funktionsvollständige Version 1: ein Watch-Konfigurator, eine echte Live-Workout-Engine, Offline-Karten, Herzfrequenzzonen, Intervallpläne, zweisprachiges Sprach-Coaching auf dem Gerät, eine Live Activity auf deinem Telefon, ein vollständiger Apple-Health-Kreislauf mit Verlauf und Splits, Trainingslast-Verfolgung, und ja, Unterstützung fürs Schwimmen in einem Pool, der sich nie bewegt.

Sie sammelt nichts über dich. Sie ist ein einmaliger Kauf, kein Abo, und ich aktualisiere sie weiter, so lange ich es vernünftig kann. Wenn es jemals einen großen genug Sprung gibt, der es rechtfertigt, vielleicht gibt es eines Tages eine Version 2. Wir werden sehen, wie es läuft, ehrlich, das ist keine falsche Bescheidenheit, ich weiß es wirklich noch nicht, und das sage ich dir lieber, als eine Fünf-Jahres-Roadmap vorzutäuschen.

Danke, dass du das ganze Entwicklungstagebuch gelesen hast. Ich fing im Februar mit einer Dienstags-Laufgruppe wieder mit dem Laufen an, ärgerte mich über ein paar Apps und baute am Ende die, die ich wollte. Wenn dich das anspricht, sieh dir an, was Runara alles kann, oder melde dich. Ich hoffe, es macht deinen nächsten Lauf ein bisschen besser.

Wir sehen uns auf den Trails.