The FIP Journal #14: 87.8% Abdeckung & null Abos

Marc & Patrik
5 min read

Patrik

Kluge Worte der Woche

Finde in der Unordnung die Einfachheit. — Albert Einstein

Feedback ist das Frühstück der Champions. — Ken Blanchard

Journal

Zurück nach der Sommerpause. Es war schön, ein paar Wochen in den Bergen zu verbringen, wo die Temperaturen tiefer waren. Ich habe Arbeit und Wandern abgewechselt, je nach Wettervorhersage und Stimmung.

Ich habe gute Fortschritte am Produkt gemacht. Wir haben uns zwei Ziele für den öffentlichen Launch gesetzt. Das erste ist Prozessautomatisierung, um unsere manuelle Arbeit zu reduzieren. Das zweite ist ein Set von Features, die wir als “must have” für den öffentlichen Launch betrachten. Also habe ich am Dienstag ein Release gemacht, um 4 neue Kantone hinzuzufügen und unsere Bevölkerungsabdeckung auf 87.8% zu bringen. Diese Kantone wurden schnell hinzugefügt, der Grossteil des Codes war schon vorhanden. Es war hauptsächlich Konfigurationsarbeit, um verschiedene Parameter auszuwählen, wie das Runden von Zwischenergebnissen und die Handhabung von ledig vs. verheiratet (also verschiedene Steuertarife verwenden oder das Einkommen für die Tabellenabfrage aufteilen).

Ich bin ziemlich zufrieden, dass ich die Berechnung für die meisten Kantone verallgemeinern konnte, sodass nur noch GE, VD und VS spezifischen Code benötigen. Die gehörten zu den ersten Kantonen, die ich implementiert habe, daher war mein erster Eindruck, dass sie viele Sonderregeln hatten und jede Implementierung mich zwei Wochen kostete. Die nachfolgenden Kantone waren einfacher und brauchten eher 2 Tage.

Fakt bleibt: Das System ist unglaublich fragmentiert. Zum Beispiel unterscheiden sich die Regeln für Kinderabzüge. Der Bund und die Hälfte der Kantone haben einen einheitlichen Betrag pro Kind. Die andere Hälfte der Kantone hat altersabhängige Ansätze. Neuenburg hat Ansätze für 0-3 Jahre, 4-13 Jahre und 14-25 Jahre, während das Wallis 0-6 Jahre, 7-16 Jahre, 17 Jahre und 18-25 Jahre verwendet. Einige Kantone unterscheiden auch, ob das Kind zu Hause oder auswärts lebt, vor allem die Bergkantone, wo die nächste Berufs- oder Mittelschule so weit entfernt sein kann, dass tägliches Pendeln nicht zumutbar ist.

Kinderabzugsregeln pro Schweizer Kanton im Code
26 Kantone, 26 Wege, ein Kind abzuziehen. Willkommen in der Schweiz!

Jedenfalls. Ich habe noch ein Release vor mir, um unsere Integration mit Stripe und Kit zu automatisieren, und es ist bereits code complete, ich muss es noch testen.

Danach werden wir anfangen, den öffentlichen Launch vorzubereiten. Zuerst machen wir einen Dark Launch: Das Produkt wird öffentlich zugänglich sein, aber wir werden es nicht bewerben, um einen Ansturm zu vermeiden. Wir werden die Ressourcenauslastung überwachen, während die Nutzerzahl wächst, um ein “Success Disaster” zu vermeiden und Spitzen bei Support-Anfragen während einer unserer kommenden Ferien zu verhindern. Sobald wir uns sicher fühlen, werden wir öffentlich darüber sprechen. Konkret werde ich FI Planner auf meinem LinkedIn-Profil erwähnen.

Wie habe ich AI diese Woche genutzt?

Ich habe schon erwähnt, dass ich vom Agent-Modus zum Plan-Modus für die tägliche Entwicklung gewechselt bin. Eine Gewohnheit, die sich in den letzten Monaten entwickelt hat, ist, die AI eine Datei reviewen zu lassen, sobald sie code complete ist. Der übliche Prompt ist “review @XYZ.go for correctness, readability, code duplication, dead code, and ensure adherence to idiomatic Go style.”

Ich bekomme in der Regel 3-4 Seiten Kommentare über all die schrecklichen Dinge, die ich programmiert habe. Darunter Race Conditions, schwerwiegende Fehler, Tippfehler und viele gute Vorschläge, um den Code sauber und produktionsreif zu machen. Es erkennt auch den ganzen Entwicklungscode, der in der Datei geblieben ist, vor allem TODOs für Features, die ich vergessen habe fertigzustellen, und Panic-Statements, die wirklich durch Errors ersetzt werden müssen. Der idiomatische Teil ist auch nützlich, um ein konsistentes Variablen-Naming sicherzustellen oder spezifische Idiome zu lernen, die ich nicht kannte.

Ich achte darauf, die Änderungen selbst umzusetzen, damit ich sie verinnerlichen kann.

Ich mag diesen Prozess so sehr, dass ich angefangen habe, rückwirkend alle Dateien im Projekt zu reviewen, wenn ich sie anfasse.

Und bevor ich es vergesse

Diese FI-Planner-Arbeit beginnt sich auszuzahlen.

Da ich in den nächsten Wochen nomadisch unterwegs sein werde, war es Zeit, mir einen neuen Laptop zu gönnen.

Tschüss recyceltes MS Surface von meinem Sohn (frugal!), willkommen MacBook Air M5, bezahlt mit den ersten Einnahmen von FI Planner.

Die Maschine ist so schnell, dass meine Tests jetzt fünfmal schneller laufen, beeindruckend.

Ich hatte auch mit einer kleinen Zeitreise gerechnet: Laptop-Karton am Freitag öffnen und plötzlich ist schon Montag. Allerdings hat die Installation der meisten Software nur 2 Stunden gedauert.

Ich benutze Macs seit 1996. Nach 16 Monaten Pause fühlt es sich gut an, wieder dabei zu sein!


Marc

Produktseite

Ich bin beeindruckt, wie Patrik es schafft, einen neuen Kanton hinzuzufügen, mit all seiner steuerlichen Komplexität. So schnell.

Ich meine, er hat gerade nicht einen, nicht zwei, nicht drei, sondern vier (!) Kantone in einem Release veröffentlicht. Alle Details gibt es übrigens hier.

Ich bin so dankbar, einen so fähigen Mitgründer zu haben.

Ansonsten war es AFK-Modus in der letzten Woche. Hat mir gut gefallen, wir hatten viel Familienzeit. Und es gefällt mir umso mehr, wieder an die Tastatur zurückzukommen, motiviert wie nie zuvor, um FI Planner weiterzuentwickeln.

Was mich beschäftigt

Das Unbequeme diese Woche: 23 Einladungen verschickt, und kein einziges Abo.

Meine Vermutung: Die Leute sind im “Schulanfang”-Modus oder fahren in die Ferien (Leben ohne Kinder, kennst du das?!), und keine Zeit, um sich zu dieser Jahreszeit Gedanken über FI zu machen.

Aber, wie jeder gute Unternehmer weiss, keine Hypothese schlägt die Realität. Ich bin gespannt, ob sich dieses Wochenende Leute anmelden, und falls nicht, kann ich es kaum erwarten, nächste Woche die Nicht-Abonnenten zu fragen, ob es ein Problem gibt. Denn nur sie wissen es, nicht meine Vermutungen ;)

Notiz an einen Freund

Sprich mit deinen Kunden. Nicht-konvertierten und konvertierten. Es ist hart. Es kostet Zeit, aber verdammt, du lernst jedes Mal so viel.

Ich werde diesen Abschnitt dieses Jahr wohl noch mehrmals für mich selbst kopieren, so unbequem ist es, sich der Realität zu stellen. Aber gut, so wird man “glücklich” mit seinem Startup!

Tool der Woche

Linear MCP!

Ich nutze es jetzt mit Walter als neue Fähigkeit beim Sortieren von E-Mail-Austausch mit Kunden. Wenn mein Chief of Staff eine Feature-Anfrage oder so etwas entdeckt, prüft er, ob ein Ticket dafür bereits in Linear existiert. Wenn das Ticket existiert, fügt er einen Kommentar mit einem Link zur E-Mail (und dem Datum) des Feedback-Gebers hinzu.

Wenn es nicht existiert, fragt er mich, ob ich das Ticket automatisch erstellen möchte.

Wir leben in der Zukunft. Ich liebe es! 🧑‍🚀

Grösser anzeigen