Ein Ribeye im Timberjacks: Justin Sonnenreich trifft Dennis Yu
Von Leo Pohlmann · 10. Juli 2026
Manche Vorstellungen passieren per Handschlag in einer Hotel-Lobby. Diese passierte über einem Ribeye — serviert in Gusspfannen, in einem Laden namens Timberjacks, einem amerikanischen Steakhouse mitten in Deutschland. Zwei Amerikaner, die sich zum ersten Mal auf dem falschen Kontinent treffen, mit mir und einem Tisch voller Steaks und Kölsch dazwischen.
Zwei Amerikaner in Deutschland
Timberjacks ist genau das, wonach es klingt: Beef, Beer und ein bisschen Rock ’n’ Roll, gebaut wie ein amerikanisches Blockhaus. Ribeye, Tomahawk, Burger — die Art Essen, die zwei Typen aus den Staaten ein paar tausend Kilometer von zu Hause heimisch fühlen lässt. Dennis Yu flog aus Las Vegas ein; Justin Sonnenreich kommt aus Washington, DC. Setz die beiden an einen Tisch, und das Gespräch startet praktisch von selbst.
Wer ist Justin Sonnenreich
Justin ist ein Seriengründer. Er startete Boosted Notify, eine Beratung, die Leuten half, an seltene Sneaker zu kommen, und verkaufte sie 2019. Dann gründete er Mission: Mentor mit, eine Bildungs-NGO, deren kostenloser virtueller Studienberater über zehntausend Schülern half, Stipendien zu finden — 2022 übernommen. Zwei Exits, bevor die meisten überhaupt entschieden haben, was sie machen wollen. Heute führt er Markit Advertising, eine Marketing- und PR-Agentur, die Marken und Gründern die Aufmerksamkeit verschafft, die sie sich verdient haben.
Warum dieser Tisch zählte
Da saßen sich also zwei Menschen zum ersten Mal gegenüber, die in derselben Welt leben — Reputation, Aufmerksamkeit, Dinge bauen, die den Launch überdauern. Dennis macht seit Jahren aus Personal Brands Motoren, die Google und Käufer wirklich sehen. Justin hat seine damit verbracht, Firmen rund um Online-Aufmerksamkeit zu bauen und zu verkaufen. Die Schnittmenge ist offensichtlich — und die erste Version dieses Gesprächs beim Steak mitzuerleben, war genau der Grund, dabei zu sein.
Die Website
Mein Teil daran ist kleiner und konkret: Ich habe Justins Personal-Brand-Website gebaut, justinsonnenreich.com. Dieselbe Idee wie hier — ein echtes Zuhause im Netz, mit KI gebaut und veröffentlicht, das die Geschichte eines Gründers dorthin bringt, wo die richtigen Leute (und die richtigen Maschinen) sie finden. Vorstellungen wie diese sind genau das, wofür solche Seiten da sind.
Zwei Amerikaner, ein Ribeye, ein sehr deutsches Bier. Kein schlechter Start für eine Beziehung.
Dennis Yu flog diese Woche von Las Vegas nach Deutschland, aus einem Hauptgrund: um mit mir vor Ort zu arbeiten. Wenn im Kalender wörtlich „Flug zu Leo“ steht, nimmt man die Woche ernst.
So sah es tatsächlich aus.
Der Morgen beginnt beim Bäcker
Wer noch nie einen deutschen Arbeitstag in einer richtigen Bäckerei begonnen hat, verpasst etwas. Frische Brötchen, noch warm aus dem Ofen, echter Kaffee und ein Tisch zum Ausbreiten. Einige der besten Gespräche der ganzen Woche entstanden beim Frühstück, bevor wir überhaupt einen Laptop aufgeklappt hatten — was als Nächstes zu bauen ist, was funktioniert, worauf ich zu Beginn achten sollte.
Lange Arbeits-Sessions
Der Kern der Woche war das Nebeneinandersitzen und die Arbeit tatsächlich machen — Videos schneiden, Content formen und die Systeme lernen, die Dennis und das Team von Local Service Spotlight betreiben. Es ist ein Unterschied, ob man jemandem über Zoom bei der Arbeit zusieht oder daneben sitzt, während er sie macht. Kleine Dinge — wie er entscheidet, was veröffentlichenswert ist, wie schnell er von der Idee zum Fertigen kommt — lernt man kaum anders.
Menschen treffen
Zwischen den Arbeits-Sessions kamen wir raus. Am meisten in Erinnerung bleibt mir das Treffen mit Jan Koch im Motorworld Köln — ein WordPress-Veteran, der heute KI-Agenten in deutschen Unternehmen aufbaut, und ein langjähriger Freund von Dennis. Gemeinsame Essen, viel Gehen und die Art unaufgeregtes Gespräch, das nur persönlich entsteht.
Was ich lerne
Ein paar Dinge setzen sich diese Woche fest:
Das Handwerk. Aus Rohmaterial eine Geschichte zu machen, die Menschen wirklich ansehen, ist eine Fähigkeit — und sie belohnt Wiederholung.
Personal Brand ist echte Arbeit, kein Glück. Die Leute um mich herum wurden nicht zufällig gefunden — sie haben es bewusst aufgebaut, ein veröffentlichtes Stück nach dem anderen.
Der Standard. Liefere das fertige Ding, nicht den Plan, es zu bauen. Das bleibt hängen.
Diese Seite ist mein eigener kleiner Anfang dabei. Danke an Dennis für die Woche — und dafür, persönlich vorbeizukommen, damit sie zählt.
Diese Woche flog Dennis Yu aus Las Vegas ein, um Zeit mit mir hier in Deutschland zu verbringen — und eines der Highlights war das Treffen mit Jan Koch im Motorworld Köln.
Wer sich im WordPress-Umfeld auskennt, braucht bei Jan keine große Vorstellung. Er hat WP Mastery aufgebaut, den WP Agency Summit veranstaltet, der Agenturinhaber aus aller Welt zusammenbrachte, und bringt seit über einem Jahrzehnt Menschen bei, wie man rund um WordPress wirklich ein Geschäft führt. Heute ist er Gründer von KoBra Dataworks und bringt überwachte KI-Agenten in echten deutschen kleinen und mittleren Unternehmen zum Einsatz — keine Folien, sondern Agenten, die die langweilige Arbeit erledigen, die wirklich getan werden muss.
Er und Dennis kennen sich seit Jahren. Jan war eine der frühen Stimmen, die für Dennis’ Dollar-a-Day-Ansatz einstanden, als die meisten noch glaubten, man brauche ein riesiges Budget, um online zu zählen.
Warum Motorworld
Das Motorworld Köln ist ein alter Flughafenhangar, der zur Kathedrale der Autokultur wurde — Oldtimer, Kaffee und viel Glas und Stahl. Eine passende Kulisse für die Art Gespräch, das wir hatten: weniger über Tools, mehr darüber, wo KI wirklich nützlich ist und wo sie nur Lärm ist.
Was mir hängen blieb, war, wie ähnlich Jan und Dennis klingen, wenn sie darüber sprechen. Beide kommen immer wieder auf denselben Gedanken: Ein Agent ist nur dann etwas wert, wenn er echte Arbeit liefert. Keine Demo. Kein Plan. Das fertige Ding. Jan beweist das in deutschen Unternehmen; Dennis beweist es über eine ganze Flotte von Personal-Brand-Seiten (diese eingeschlossen — sie wurde von einem Claude-Agenten gebaut und veröffentlicht).
Was ich mitgenommen habe
Ich stehe ganz am Anfang. Zwischen zwei Menschen zu sitzen, die seit Jahren bauen, hieß für mich vor allem: zuhören — und filmen. Die Lektion, die ich mitnehme, ist einfach: Die, die bleiben, sind nicht die Lautesten in Sachen KI, sondern die, die sie still in Arbeit verwandeln, für die es sonst ein ganzes Team gebraucht hätte.
Das hier ist ein Meta-Artikel: die Dokumentation dessen, was tatsächlich passiert ist. Nicht die geglättete Version, sondern der Ablauf mit den Entscheidungen, den Sackgassen und den Fehlern, die dabei auffielen. Wer denselben Weg gehen will, soll ihn nachvollziehen können.
Die Aufgabe
Was war das Problem. Meine Projekte lagen an sechs Stellen: Basecamp für die Aufträge des Teams, Google Drive für Dateien und Rechnungsentwürfe, Descript für Videoschnitt, Gmail für alles Abgesprochene, ein Google Sheet für die Content-Bibliothek, und der Rest im Kopf. Wenn Dennis fragte, wie weit etwas sei, musste ich drei Tabs öffnen. Bei der Wochenabrechnung sammelte ich von Hand zusammen, was in den letzten sieben Tagen fertig geworden war.
Das Ziel. Eine Stelle, an der ich sehe, wo ich stehe. Mit Abrechnung, weil die Abrechnung der Punkt ist, an dem Unordnung Geld kostet.
Das Ausgangsmaterial. Mein Gmail-Postfach, der Google Kalender, Google Drive, Descript und Zoom — alle als Connectoren angebunden. Kein Briefing, keine Vorarbeit. Genau das war der Test: Kann ein Agent aus dem, was ohnehin da ist, ein arbeitsfähiges System bauen?
Der Ablauf
Schritt 1: Fragen, bevor gebaut wird
Claude hat nicht sofort losgelegt, sondern vier Dinge gefragt: Wie soll gespeichert werden? Wie rechne ich ab? Was will ich pro Projekt sehen? Wo soll das laufen?
Das klingt nach einer Kleinigkeit, ist aber der Grund, warum das Ergebnis brauchbar wurde. Auf die Frage nach der Abrechnung habe ich geantwortet, dass ich Festpreise für Podcasts habe — zum Beispiel ein Euro pro roher Minute —, aber auch Artikel und Gewinnbeteiligungen. Hätte niemand gefragt, wäre ein Stundensatz-Werkzeug herausgekommen, das ich nicht benutzen kann.
Schritt 2: Die Dienste durchsehen
Claude hat Gmail, Kalender, Drive und Descript durchgearbeitet und daraus die Wirklichkeit rekonstruiert: acht Kunden, dreizehn laufende Projekte aus Basecamp-Threads und Mailverläufen, vierzehn offene Aufgaben mit echten Fristen, und mein Abrechnungsmodell aus einem Rechnungsentwurf im Drive — ein Euro pro Rohminute, zehn Euro pro Artikel, Aufwandsgrößen Small, Medium und Large zu zwanzig, vierzig und hundert Dollar, Kleinunternehmerregelung, vierzehn Tage Zahlungsziel, Rechnungsnummern nach dem Schema LP-JAHR-NNN.
Der interessante Teil war nicht die Menge, sondern was dabei sichtbar wurde. Vier Posten in meiner Wochenübersicht waren als “nicht Leo” markiert — strittige Zuordnungen, über die ich mit niemandem gesprochen hatte. Eine Zahlung war seit Tagen offen. Ein Kunde wartete seit zwei Tagen auf eine Antwort. Das lag alles offen in meinen eigenen Daten und ich hatte es nicht gesehen, weil es an sechs Stellen verteilt war.
Schritt 3: Bauen
Herausgekommen ist eine einzelne HTML-Datei. Kein Server, kein Konto, keine Cloud. Sie liegt auf meinem Rechner, ich öffne sie im Browser, die Daten bleiben im Browser gespeichert. Dazu ein Export als Sicherungsdatei.
Warum eine Datei und keine Web-App? Weil ich sie besitze. Kein Abo, das ausläuft, kein Anbieter, der zumacht, keine Frage, wem meine Kundendaten gehören. Der Preis dafür: die Daten hängen an einem Browser auf einem Rechner. Deshalb der Export — ohne den wäre der Ansatz fahrlässig.
Das Datenmodell umfasst zehn Bereiche: Kunden, Projekte, Aufgaben, Claude-Projekte, Zeiten, Rechnungen, Ausgaben, Ideen, Termine und Aufträge. Elf Ansichten, darunter ein Tagescockpit, ein Wochenblick, Projekt-Boards zum Ziehen, Zeiterfassung mit Timer und eine Finanzübersicht mit Steuerrücklage.
Schritt 4: Der Teil, der wirklich Zeit spart
Die Wochenabrechnung. Sie nimmt alles, was fertig ist und noch auf keiner Rechnung steht, bündelt die Rohminuten zu einer Position, die Artikel zu einer zweiten, die Aufwandsgrößen einzeln, rechnet Dollarbeträge zum hinterlegten Kurs in Euro um, vergibt die nächste freie Rechnungsnummer und markiert die abgerechneten Posten. Ein Klick.
Vorher war das eine halbe Stunde Handarbeit pro Woche, bei der ich regelmäßig etwas übersehen habe.
Die Wochenabrechnung: Rohminuten, Artikel und Aufwandsgrößen werden zu einer Rechnung gebündelt, Dollarbeträge zum hinterlegten Kurs umgerechnet.
Die Entscheidungen, über die es sich zu reden lohnt
Einzelposten vor der Summe auf Cent runden. Beim Testen fiel auf: Drei Aufwandsgrößen zu hundert, vierzig und vierzig Dollar ergaben bei Kurs 1,14 die Einzelbeträge 87,72, 35,09 und 35,09 Euro. Zusammengezählt sind das 157,90. Die App rechnete aber intern mit den ungerundeten Werten und kam auf 157,89. Ein Cent — auf einer Rechnung, auf der die Einzelposten sichtbar sind, ist das ein Fehler, den ein Buchhalter findet und der Vertrauen kostet. Jetzt wird jede Position auf Cent gerundet, bevor summiert wird.
Rohminuten bündeln statt einzeln auflisten. Eine Rechnung mit einer Zeile “Schnitt und Aufbereitung: 47,5 Rohminuten” liest sich besser als zwölf Zeilen mit je 3,9 Minuten. Die Einzelposten stehen weiter in der App, auf der Rechnung stehen sie zusammengefasst.
Der Fortschritt rechnet sich aus den Aufgaben. Solange ein Projekt Aufgaben hat, ist der Prozentbalken nicht eintippbar. Ein selbst gesetzter Fortschritt ist eine Behauptung; abgehakte Aufgaben sind eine Tatsache.
Ein Feld für den nächsten Schritt. Jedes Claude-Projekt hat es. Die App warnt, wenn Projekte in Arbeit sind, bei denen es leer ist. Genau die bleiben liegen — nicht weil sie schwer sind, sondern weil unklar ist, womit man anfängt.
Getestet, nicht gehofft
Vor der Übergabe liefen automatisierte Durchläufe im Browser: die App wird in einer simulierten Umgebung geladen, es werden Projekte angelegt, Positionen eingetippt, Rechnungen erzeugt, gedruckt, Status gewechselt, die App neu gestartet. Insgesamt 138 Prüfungen über drei Ausbaustufen.
Gefunden wurden drei echte Fehler. Die beschriebene Cent-Differenz zwischen Einzelposten und Rechnungssumme. Ein ungeschützter Zugriff auf ein Eingabefeld, das nicht mehr da war, wodurch die Suchleiste abstürzte, wenn man sie schnell wieder schloss. Und ein Ja-Nein-Feld, das als Text statt als Wahrheitswert gespeichert wurde und deshalb einen Neustart nicht überlebte.
Alle drei wären mir im Alltag begegnet. Der dritte hätte Daten stillschweigend verloren.
Was danach dazukam
Ein Auftragskanal. Ich kann jede Aufgabe und jedes Projekt an Claude übergeben. Ein Klick erzeugt ein vollständiges Briefing — nicht nur mein Stichwort, sondern automatisch mein Abrechnungsmodell, das zugehörige Projekt mit Beschreibung und offenen Punkten, der Kunde mit Kontaktdaten und Hintergrund, die Fristen. Ich muss nichts erklären, was ohnehin im System steht. Zurück kommt ein Datenblock, den die App wieder einliest.
Ein Morgenlauf. Werktags um halb acht werden Posteingang, Kalender und Fristen durchgesehen, offene Aufträge abgearbeitet, Mailentwürfe angelegt und ein Lagebericht hinterlegt. Entwürfe, wohlgemerkt — gesendet wird nichts ohne mich.
Ein Live-Cockpit. Eine Seite, die Kalender, Posteingang und die laufenden Automatisierungen bei jedem Öffnen frisch zieht.
Das Ergebnis
Eine Datei, rund 4.600 Zeilen, keine Abhängigkeiten außer einem Browser. Befüllt mit dreizehn echten Projekten, acht Kunden, vierzehn Aufgaben, zwölf Claude-Projekten und zwei Rechnungen — alles aus Daten, die schon da waren.
Was ich vorher nicht wusste und jetzt sehe: dass zwei Automatisierungen für mich liefen, an die ich nicht mehr gedacht hatte. Eine davon baut freitags einen Rechnungsentwurf — also genau das, was die neue Wochenabrechnung auch tut. Doppelte Arbeit, die niemandem aufgefallen wäre, wenn nicht beide auf derselben Seite gestanden hätten.
Das ist der eigentliche Nutzen einer Übersicht. Nicht das Verwalten. Das Sichtbarwerden.
Für den nächsten Durchgang
Die Fragen am Anfang haben mehr gebracht als jede spätere Korrektur. Wer sofort loslegt, baut am Bedarf vorbei.
Ein Agent, der die eigenen Daten durchsehen darf, findet Dinge, die man selbst übersieht — nicht weil er klüger ist, sondern weil er alles gleichzeitig anschaut.
Automatisierte Tests sind bei generiertem Code nicht optional. Drei Fehler in einem Nachmittag, davon einer mit Datenverlust.
Doppelungen im eigenen System findet man erst, wenn alles an einer Stelle steht.
Dieser Artikel folgt dem Meta-Artikel-Verfahren von BlitzMetrics: Wer eine Aufgabe ausführt, dokumentiert, was tatsächlich getan wurde — damit der nächste Durchgang davon lernt.
This is a meta article: documentation of what actually happened. Not the polished version — the real sequence, including the decisions, the dead ends, and the bugs that surfaced along the way. Anyone who wants to walk the same path should be able to follow it.
The assignment
The problem. My projects lived in six places: Basecamp for team assignments, Google Drive for files and invoice drafts, Descript for video editing, Gmail for everything that was ever agreed, a Google Sheet for the content library, and the rest in my head. When Dennis asked where something stood, I had to open three tabs. Every week I assembled my invoice by hand from whatever I could remember finishing.
The goal. One place that shows me where I actually am. With invoicing built in, because invoicing is where disorganization turns into lost money.
The source material. My Gmail inbox, Google Calendar, Google Drive, Descript, and Zoom — all connected to Claude. No briefing document, no prep work. That was the test: can an agent build a working system out of what is already lying around?
The process
Step 1: Ask before building
Claude did not start building. It asked four things first: How should this save? How do you bill? What do you want to see per project? Where should it run?
That sounds trivial. It is the reason the result is usable. On billing, I answered that I have fixed prices for podcasts — one euro per raw minute, for instance — but also articles and revenue shares. Without that question I would have gotten an hourly-rate tool I could not use.
Step 2: Read the actual data
Claude worked through Gmail, Calendar, Drive, and Descript, and reconstructed reality from them: eight clients, thirteen live projects derived from Basecamp threads and mail chains, fourteen open tasks with real deadlines, and my billing model pulled out of an invoice draft sitting in Drive — one euro per raw minute, ten euros per article, effort sizes Small, Medium and Large at twenty, forty and one hundred dollars, small-business tax status, fourteen-day terms, invoice numbers in the format LP-YEAR-NNN.
The interesting part was not the volume. It was what became visible. Four items in my weekly overview were flagged “not Leo” — disputed attributions I had never discussed with anyone. A payment had been outstanding for days. A client had been waiting two days for a reply. All of it sat in the open in my own data, and I had not seen it, because it was spread across six places.
Step 3: Build
The result is a single HTML file. No server, no account, no cloud. It sits on my machine, I open it in a browser, the data stays in the browser. Plus an export to a backup file.
Why a file and not a web app? Because I own it. No subscription that lapses, no vendor that shuts down, no question about who holds my client data. The cost: the data is tied to one browser on one machine. Hence the export — without it, this approach would be reckless.
The data model covers ten areas: clients, projects, tasks, Claude projects, time entries, invoices, expenses, ideas, appointments, and delegated jobs. Eleven views, including a daily cockpit, a weekly view, drag-and-drop project boards, time tracking with a timer, and a finance overview with tax reserve.
Step 4: The part that actually saves time
Weekly invoicing. It takes everything that is finished and not yet invoiced, bundles the raw minutes into one line item, articles into a second, effort sizes individually, converts dollar amounts to euros at the stored rate, assigns the next free invoice number, and marks the billed items as done. One click.
That used to be half an hour of manual work each week, during which I regularly missed something.
The weekly invoicing run: raw minutes, articles and effort sizes are bundled into one invoice, dollar amounts converted at the stored rate.
The decisions worth discussing
Round line items to cents before summing. Testing surfaced this: three effort sizes at one hundred, forty and forty dollars came out at 87.72, 35.09 and 35.09 euros at a 1.14 rate. Added up, that is 157.90 euros. But the app was summing the unrounded values internally and arriving at 157.89. One cent — on an invoice where the line items are visible, that is the kind of error an accountant spots and that costs trust. Now every line rounds to cents before the total is computed.
Bundle raw minutes instead of listing them separately. An invoice line reading “Editing and post: 47.5 raw minutes” reads better than twelve lines at 3.9 minutes each. The individual entries stay in the app; the invoice shows them aggregated.
Progress is computed from tasks. As long as a project has tasks, the percentage bar cannot be typed in. A self-assigned progress number is a claim. Checked-off tasks are a fact.
A required “next step”. Every Claude project has a next-step field. The app shows a warning when projects are in flight with that field empty. Those are exactly the ones that stall — not because they are hard, but because it is unclear where to start.
Tested, not assumed
Before handover, automated runs executed in a simulated browser: the app loads, projects get created, line items typed, invoices generated, printed, statuses cycled, the app restarted. 138 checks across three build stages.
Three real bugs surfaced. The cent discrepancy between line items and invoice total described above. An unguarded reference to an input field that no longer existed, which crashed the search bar if you closed it quickly. And a yes/no field stored as text instead of a boolean, which meant it did not survive a restart.
All three would have hit me in daily use. The third would have lost data silently.
What came after
A delegation channel. I can hand any task or project to Claude. One click generates a full briefing — not just my one-liner, but automatically my billing model, the related project with its description and open items, the client with contact details and background, the deadlines. I do not have to explain anything the system already knows. What comes back is a data block the app reads straight back in.
A morning run. Weekdays at 7:30, the inbox, calendar and deadlines get reviewed, open jobs worked through, mail drafts created, and a status report filed. Drafts, to be clear — nothing sends without me.
A live cockpit. A page that pulls calendar, inbox and running automations fresh every time it opens.
The outcome
One file, roughly 4,600 lines, no dependencies beyond a browser. Populated with thirteen real projects, eight clients, fourteen tasks, twelve Claude projects and two invoices — all from data that already existed.
What I did not know and can now see: two automations were running for me that I had forgotten about. One of them builds an invoice draft every Friday — which is exactly what the new weekly invoicing does. Duplicated work nobody would have noticed if both had not ended up on the same page.
That is the real value of an overview. Not the managing. The becoming-visible.
For the next run
The questions up front were worth more than any correction afterwards. Start building immediately and you build past the need.
An agent allowed to read your own data finds things you miss — not because it is smarter, but because it looks at everything at once.
Automated tests are not optional with generated code. Three bugs in one afternoon, one of them silent data loss.
You only find duplication in your own system once everything sits in one place.
This article follows the BlitzMetrics meta article method: whoever executes a task documents what was actually done, so the next run can learn from it.