<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.2.0">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2026-08-17T16:40:04+00:00</updated><id>/feed.xml</id><title type="html">Tobias Wirtz</title><subtitle>A cage went looking for a bird.</subtitle><entry><title type="html">Building in Public: Day 8</title><link href="/building-in-public/2026/08/17/building-in-public-day-8.html" rel="alternate" type="text/html" title="Building in Public: Day 8" /><published>2026-08-17T07:00:00+00:00</published><updated>2026-08-17T07:00:00+00:00</updated><id>/building-in-public/2026/08/17/building-in-public-day-8</id><content type="html" xml:base="/building-in-public/2026/08/17/building-in-public-day-8.html">&lt;p&gt;It’s been a few weeks since the last entry. Picking the series back up with a weekend and a Monday worth of Magellink work.&lt;/p&gt;

&lt;h2 id=&quot;what-i-shipped&quot;&gt;What I shipped&lt;/h2&gt;

&lt;p&gt;Over the weekend I built the first version of a feature I’d been circling for a while: upload a one-page HTML prototype, the kind you get out of Claude or similar tools in minutes, let real end users click through it, and record what they do.&lt;/p&gt;

&lt;h2 id=&quot;the-ard-conversation&quot;&gt;The ARD conversation&lt;/h2&gt;

&lt;p&gt;Today I pitched it to the UX research lead at ARD, Germany’s public broadcaster. He was interested, and the reason he gave me was more useful than the interest itself.&lt;/p&gt;

&lt;p&gt;ARD runs a lot of quantitative research and some qualitative research, but nothing in between. No way to watch a hundred people react to a prototype the way you’d watch five people in a lab.&lt;/p&gt;

&lt;h2 id=&quot;whats-still-open&quot;&gt;What’s still open&lt;/h2&gt;

&lt;p&gt;Five things came up that I don’t have good answers for yet:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Recruiting.&lt;/strong&gt; ARD’s own site can’t run third-party recruiting tools, so participants have to come from somewhere else.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Recording face and audio&lt;/strong&gt;, not just clicks and timing, while someone works through a prototype.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Goal states and success criteria.&lt;/strong&gt; What “done” means for a given task, defined per prototype.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Monetary incentives&lt;/strong&gt; for participants.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;A research pool.&lt;/strong&gt; Keeping people who’ve completed a session around so they can be invited back.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;tomorrow&quot;&gt;Tomorrow&lt;/h2&gt;

&lt;p&gt;Starting with recruiting and task/success states: get the right people in front of a prototype, watch them try to do something specific, learn whether they could. The rest only matters once that holds up.&lt;/p&gt;

&lt;p&gt;Also filming a LinkedIn video relaunching Magellink around this feature.&lt;/p&gt;</content><author><name></name></author><category term="building-in-public" /><summary type="html">It’s been a few weeks since the last entry. Picking the series back up with a weekend and a Monday worth of Magellink work.</summary></entry><entry><title type="html">Building in Public: Day 7</title><link href="/building-in-public/2026/07/22/building-in-public-day-7.html" rel="alternate" type="text/html" title="Building in Public: Day 7" /><published>2026-07-22T07:00:00+00:00</published><updated>2026-07-22T07:00:00+00:00</updated><id>/building-in-public/2026/07/22/building-in-public-day-7</id><content type="html" xml:base="/building-in-public/2026/07/22/building-in-public-day-7.html">&lt;p&gt;I launched the landing page under werkdoku.com.&lt;/p&gt;</content><author><name></name></author><category term="building-in-public" /><summary type="html">I launched the landing page under werkdoku.com.</summary></entry><entry><title type="html">Building in Public: Day 6</title><link href="/building-in-public/2026/07/21/building-in-public-day-6.html" rel="alternate" type="text/html" title="Building in Public: Day 6" /><published>2026-07-21T07:00:00+00:00</published><updated>2026-07-21T07:00:00+00:00</updated><id>/building-in-public/2026/07/21/building-in-public-day-6</id><content type="html" xml:base="/building-in-public/2026/07/21/building-in-public-day-6.html">&lt;p&gt;I had to work a lot today - could not do anything.&lt;/p&gt;</content><author><name></name></author><category term="building-in-public" /><summary type="html">I had to work a lot today - could not do anything.</summary></entry><entry><title type="html">Building in Public: Day 5</title><link href="/building-in-public/2026/07/20/building-in-public-day-5.html" rel="alternate" type="text/html" title="Building in Public: Day 5" /><published>2026-07-20T07:00:00+00:00</published><updated>2026-07-20T07:00:00+00:00</updated><id>/building-in-public/2026/07/20/building-in-public-day-5</id><content type="html" xml:base="/building-in-public/2026/07/20/building-in-public-day-5.html">&lt;p&gt;Day 5. Two things: I shipped the on-prem rebuild that came out of the first interview, and I sat down to think seriously about how I’d ever reach this market at all.&lt;/p&gt;

&lt;h2 id=&quot;the-on-prem-rebuild&quot;&gt;The on-prem rebuild&lt;/h2&gt;

&lt;p&gt;I turned the on-prem and trust work from day 3 and 4 into a real change.&lt;/p&gt;

&lt;p&gt;The interview killed my assumption that “EU-hosted” answers the data-residency objection. This buyer already turns down AI vendors because, in his words, none of them can actually run it locally, and he runs his own local LLM. But he doesn’t want everything local either: quality-assurance paperwork can go to the cloud, bath compositions never. So the rebuild is built around that split:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Data classification.&lt;/strong&gt; Every department guide is marked internal or secret, and one routing rule decides whether a class can be processed in EU cloud, locally, or not at all. It fails closed: a class this deployment isn’t allowed to handle gets refused and reported, never quietly downgraded to the cloud. The rule binds the live voice call too, not just the write-up, because the transcript contains whatever the interview was about.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Worker trust surface.&lt;/strong&gt; A concrete, translated reason spoken in the consent script and shown on the link page, a non-surveillance guarantee, role-only attribution so employee names never enter a prompt, and a withdrawal button that actually deletes the transcript instead of flagging it.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;On-prem stack.&lt;/strong&gt; Per-class LLM endpoints, an Ollama + faster-whisper profile bound to localhost, a preflight check to run in front of the customer at handover, and a transparency page that renders the real data flow from live config as an attachment for the works council.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Two follow-up commits added a &lt;strong&gt;reminder budget&lt;/strong&gt; (at most two chase messages, then the name moves to a manager-round list rather than a third SMS) with a coverage view, and fixed the admin UI printing raw status values in an otherwise translated app. 52 tests passing, smoke-tested end to end.&lt;/p&gt;

&lt;p&gt;Building on-prem doesn’t validate the hypothesis that on-prem is what unlocks the sale. It just makes the real test possible, which is to go back to this same interviewee with a working local deployment and ask for a paid pilot.&lt;/p&gt;

&lt;h2 id=&quot;channel-experiments&quot;&gt;Channel experiments&lt;/h2&gt;

&lt;p&gt;I wrote up a set of growth bets for werkdoku, borrowing the spirit of a “grow an app for almost nothing” playbook but reframing it, because werkdoku is the opposite shape: a five-figure one-time sale to a narrow, conservative buyer (owner, production manager, or quality manager at 50–500-person mid-sized German manufacturers), not a free consumer download. So the metric for every bet is &lt;em&gt;qualified pilot conversations with the right buyer&lt;/em&gt;, not traffic.&lt;/p&gt;

&lt;p&gt;Each bet is written as a hypothesis with a signal and a kill/go threshold. The three I’d start with:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A free &lt;strong&gt;knowledge-loss risk self-assessment&lt;/strong&gt; that a production manager runs and forwards to their boss, outputting a euro-quantified risk estimate. It manufactures the pain in the buyer’s own numbers.&lt;/li&gt;
  &lt;li&gt;The &lt;strong&gt;live demo as spectacle&lt;/strong&gt; at a chamber-of-commerce or industry-association event: interview a volunteer on stage and generate an SOP draft in minutes, which de-risks the “will they let an AI call employees” fear in front of the exact buyer.&lt;/li&gt;
  &lt;li&gt;The &lt;strong&gt;public digitalization and subsidy channel&lt;/strong&gt;: public programs that exist to push tools like this to this buyer for free, plus checking whether an engagement qualifies for funding.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;tomorrow&quot;&gt;Tomorrow&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Create a landing page.&lt;/li&gt;
  &lt;li&gt;Plan one of the channel experiments.&lt;/li&gt;
&lt;/ol&gt;</content><author><name></name></author><category term="building-in-public" /><summary type="html">Day 5. Two things: I shipped the on-prem rebuild that came out of the first interview, and I sat down to think seriously about how I’d ever reach this market at all.</summary></entry><entry><title type="html">Building in Public: Day 4</title><link href="/building-in-public/2026/07/17/building-in-public-day-4.html" rel="alternate" type="text/html" title="Building in Public: Day 4" /><published>2026-07-17T07:00:00+00:00</published><updated>2026-07-17T07:00:00+00:00</updated><id>/building-in-public/2026/07/17/building-in-public-day-4</id><content type="html" xml:base="/building-in-public/2026/07/17/building-in-public-day-4.html">&lt;p&gt;Short one today. I didn’t get much further than designing what needs to change to make werkdoku on-prem, and working in the trust and control aspects that came out of the first interview.&lt;/p&gt;

&lt;p&gt;I’m also thinking about building new channels for Magellink.&lt;/p&gt;</content><author><name></name></author><category term="building-in-public" /><summary type="html">Short one today. I didn’t get much further than designing what needs to change to make werkdoku on-prem, and working in the trust and control aspects that came out of the first interview.</summary></entry><entry><title type="html">Building in Public: Day 3</title><link href="/building-in-public/2026/07/16/building-in-public-day-3.html" rel="alternate" type="text/html" title="Building in Public: Day 3" /><published>2026-07-16T07:00:00+00:00</published><updated>2026-07-16T07:00:00+00:00</updated><id>/building-in-public/2026/07/16/building-in-public-day-3</id><content type="html" xml:base="/building-in-public/2026/07/16/building-in-public-day-3.html">&lt;p&gt;Day 3. The list was cold outreach, a Business Model Canvas, and one customer interview. All three got done.&lt;/p&gt;

&lt;h2 id=&quot;cold-outreach-sent-silent&quot;&gt;Cold outreach: sent, silent&lt;/h2&gt;

&lt;p&gt;I sent cold emails to the companies from yesterday’s qualified list. No responses yet. Too early to read anything into it, but worth writing down that the count so far is zero.&lt;/p&gt;

&lt;h2 id=&quot;lean-canvas&quot;&gt;Lean Canvas&lt;/h2&gt;

&lt;p&gt;I built a Lean Canvas to force myself to be precise about what I’m building, who it’s for, and how the money works. Putting it on one page made the weak spots obvious.&lt;/p&gt;

&lt;p&gt;The biggest open question that fell out of it is &lt;strong&gt;channels&lt;/strong&gt;. I have “personal outreach” and then a question mark. I know how to reach a handful of companies through my own network and one cold list. I do not yet have a repeatable way to reach the German Mittelstand at scale.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;/assets/day3/lean-canvas.png&quot; width=&quot;850&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;customer-interview&quot;&gt;Customer interview&lt;/h2&gt;

&lt;p&gt;I did one interview with a Mittelstand CEO. Three things came out of it, in increasing order of how much they changed my thinking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First, the need is real.&lt;/strong&gt; Documentation is genuinely required, and today they do it with slower, more manual mechanisms. That’s hypothesis 1 getting a little more solid: the pain exists and they already spend effort on it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Second, on-premise is table stakes.&lt;/strong&gt; He is currently turning down lots of cloud AI vendor that lands on his desk, because his crown-jewel IP cannot leave the building. I’d been treating “EU-hosted” as the differentiator, but for this segment EU hosting alone won’t be enough.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Third, and this is the one that’s rearranging the whole thing: the hard part isn’t the tech.&lt;/strong&gt; People resist documenting because they’re afraid it makes them replaceable, sometimes to the point of reporting false numbers so their process stays a black box. Following up with employees to get them to document also took considerable effort.&lt;/p&gt;

&lt;h2 id=&quot;hypotheses&quot;&gt;Hypotheses&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Knowledge-loss pain, pay five figures once — small positive signal. The need was confirmed; willingness to pay 5000 euros was confirmed.&lt;/li&gt;
  &lt;li&gt;Let an AI talk to employees — no new data, but the interview points at &lt;em&gt;why&lt;/em&gt; this one is hard: the resistance is about job security, not technology.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;tomorrow&quot;&gt;Tomorrow&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Rebuild into an on-prem solution.&lt;/li&gt;
  &lt;li&gt;Work in the trust and control aspect from the first interview.&lt;/li&gt;
  &lt;li&gt;Think about channel experiments.&lt;/li&gt;
&lt;/ol&gt;</content><author><name></name></author><category term="building-in-public" /><summary type="html">Day 3. The list was cold outreach, a Business Model Canvas, and one customer interview. All three got done.</summary></entry><entry><title type="html">Building in Public: Day 2</title><link href="/building-in-public/2026/07/15/building-in-public-day-2.html" rel="alternate" type="text/html" title="Building in Public: Day 2" /><published>2026-07-15T07:00:00+00:00</published><updated>2026-07-15T07:00:00+00:00</updated><id>/building-in-public/2026/07/15/building-in-public-day-2</id><content type="html" xml:base="/building-in-public/2026/07/15/building-in-public-day-2.html">&lt;p&gt;Day 2. Three things on the list today: line up interviews, find a way to reach cold customers, and figure out what it actually takes to deploy.&lt;/p&gt;

&lt;h2 id=&quot;interviews-from-my-own-network&quot;&gt;Interviews from my own network&lt;/h2&gt;

&lt;p&gt;I reached out to people I already know and set up two interviews with contacts for whom this might be relevant. Warm intros first, because the fastest way to find out whether the knowledge-loss pain is real (hypothesis 1) is to talk to people who will actually pick up the phone.&lt;/p&gt;

&lt;h2 id=&quot;a-cold-outreach-source-for-icp-customers&quot;&gt;A cold outreach source for ICP customers&lt;/h2&gt;

&lt;p&gt;I need a repeatable way to reach companies I don’t know. Today I had an AI agent qualify &lt;strong&gt;23 companies&lt;/strong&gt; against my ICP as a candidate list to reach out to. I will reach out to these companies tomorrow.&lt;/p&gt;

&lt;h2 id=&quot;what-it-takes-to-deploy&quot;&gt;What it takes to deploy&lt;/h2&gt;

&lt;p&gt;I spent time working out what it would actually take to put the MVP in front of a real company, and found two blockers:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Multi-tenancy.&lt;/strong&gt; The MVP wasn’t built to cleanly separate one customer’s data from another’s. This obviously has to change if I want to deploy it.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;US-hosted dependencies.&lt;/strong&gt; Some of the libraries I’m using are served from American CDNs. Need to be substituted to ensure European hosting and data residency.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;On the plus side, I turned the deployment work into a &lt;strong&gt;runbook&lt;/strong&gt;, a written, repeatable set of steps for shipping the MVP, so this isn’t knowledge that only lives in my head.&lt;/p&gt;

&lt;h2 id=&quot;hypotheses&quot;&gt;Hypotheses&lt;/h2&gt;

&lt;p&gt;No progress on any of my hypotheses today. Everything I did was setup: pipeline, list, infrastructure.&lt;/p&gt;

&lt;h2 id=&quot;random-thoughts&quot;&gt;Random Thoughts&lt;/h2&gt;
&lt;p&gt;I found a great video on growth hacks that I will take some inspiration from. Check it out &lt;a href=&quot;https://www.youtube.com/watch?v=7UrrqBIUs_g&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;tomorrow&quot;&gt;Tomorrow&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Do cold outreach to the 23 companies mentioned above&lt;/li&gt;
  &lt;li&gt;Create a Business Model Canvas to be very clear about what I am building.&lt;/li&gt;
  &lt;li&gt;Do one of the customer interviews&lt;/li&gt;
&lt;/ol&gt;</content><author><name></name></author><category term="building-in-public" /><summary type="html">Day 2. Three things on the list today: line up interviews, find a way to reach cold customers, and figure out what it actually takes to deploy.</summary></entry><entry><title type="html">Building in Public: Day 1</title><link href="/building-in-public/2026/07/14/building-in-public-day-1.html" rel="alternate" type="text/html" title="Building in Public: Day 1" /><published>2026-07-14T07:00:00+00:00</published><updated>2026-07-14T07:00:00+00:00</updated><id>/building-in-public/2026/07/14/building-in-public-day-1</id><content type="html" xml:base="/building-in-public/2026/07/14/building-in-public-day-1.html">&lt;p&gt;I’m going to build in the open. Every day I’ll post a short entry documenting the work of building a real business: what I shipped, what I learned, what worked, and what didn’t.&lt;/p&gt;

&lt;p&gt;The rules are simple: one post a day, numbers, no polishing away the hard parts. The metric I’m using to know I’ve made something people actually want is $20,000 in monthly recurring.&lt;/p&gt;

&lt;p&gt;This is day one. Let’s see where it goes.&lt;/p&gt;

&lt;h2 id=&quot;what-im-building&quot;&gt;What I’m building&lt;/h2&gt;

&lt;p&gt;The first idea I am working is an AI agent that talks to employees in their own language about how they actually do their job, and turns the transcripts into documentation the company keeps: SOP drafts, a process map, a list of the things nobody on the team could explain.&lt;/p&gt;

&lt;p&gt;The target customer is the German Mittelstand manufacturer, roughly 50 to 500 people. Two things are colliding there right now. A generation of workers is retiring and taking undocumented knowledge with them, and these companies are often not very digital yet, so they don’t have a lot of data that can feed AI agents even though there is valuable implicit knowledge.&lt;/p&gt;

&lt;p&gt;Two things are supposed to make this different and defensible:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Data Residency: Everything is EU-hosted or self-hosted, no US subprocessors anywhere.&lt;/li&gt;
  &lt;li&gt;Pricing: Mostly one-time fee, low subscription to cover cost.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;my-hypotheses&quot;&gt;My hypotheses&lt;/h2&gt;

&lt;p&gt;Before I believe this is a business, six assumptions have to hold, roughly in order of how much they scare me:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Owners and plant managers feel the knowledge-loss pain strongly enough to pay ca. five figures once.&lt;/li&gt;
  &lt;li&gt;A company will actually let an AI talk to its employees at all. Works councils, surveillance fears, culture.&lt;/li&gt;
  &lt;li&gt;Shop-floor workers actually talk usefully for 15 to 20 minutes in their own language.&lt;/li&gt;
  &lt;li&gt;Interviews alone already produce something a company would call a real first draft of documentation.&lt;/li&gt;
  &lt;li&gt;The EU-only voice stack is actually good enough on a noisy shop floor.&lt;/li&gt;
  &lt;li&gt;The one-time-fee economics work once I account for what it costs me to deliver each engagement.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I will be testing these in the next two weeks.&lt;/p&gt;

&lt;h2 id=&quot;what-i-built-so-far&quot;&gt;What I built so far&lt;/h2&gt;

&lt;p&gt;A working MVP someone can sit down and use: upload a list of employees, write an interview guide, run the interview with consent, and get back SOP drafts, a process overview, and a gap list you can export. Interviews work in German, Turkish, and Polish.&lt;/p&gt;

&lt;p&gt;Right now it only runs through a browser call, not a real phone call. I’m unclear on whether I need actual calling.&lt;/p&gt;

&lt;p&gt;None of this is launched to the public yet because I haven’t set up the infrastructure, but it works locally.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;/assets/day1/interviews-dashboard.webp&quot; width=&quot;750&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;whats-still-open&quot;&gt;What’s still open&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;GTM motion: I’m thinking about looking at companies with a succession problem or with a desire to sell as a wedge due to the more acute knowledge problem, I’m not sure about this though.&lt;/li&gt;
  &lt;li&gt;Branding and naming.&lt;/li&gt;
&lt;/ol&gt;</content><author><name></name></author><category term="building-in-public" /><summary type="html">I’m going to build in the open. Every day I’ll post a short entry documenting the work of building a real business: what I shipped, what I learned, what worked, and what didn’t.</summary></entry><entry><title type="html">Product &amp;amp; The Long Tail</title><link href="/startups/product/2025/10/31/the-long-tail.html" rel="alternate" type="text/html" title="Product &amp;amp; The Long Tail" /><published>2025-10-31T10:00:00+00:00</published><updated>2025-10-31T10:00:00+00:00</updated><id>/startups/product/2025/10/31/the-long-tail</id><content type="html" xml:base="/startups/product/2025/10/31/the-long-tail.html">&lt;p&gt;AI is quickly changing the product world. The focus of change however has not been where it should be in my eyes: on enabling &lt;em&gt;the user&lt;/em&gt; to solve their specific problems.&lt;/p&gt;

&lt;h2 id=&quot;the-old-paradigm&quot;&gt;The old paradigm&lt;/h2&gt;
&lt;p&gt;Pre-AI, Products at scaled SaaS companies were built roughly like this:&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/tobiaswirtz/tobiaswirtz.github.io/refs/heads/gh-pages/_site/assets/longtail-old.jpg&quot; width=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This process introduced various bottlenecks. Since engineers building certain cost a lot of time and money, ideas had to be filtered excessively such that only the highest value opportunities were pursued. This in turn meant that product teams at scaled companies were focussed on those opportunities that the largest number of customers would pay for. Only the needs of large niches could be addressed economically with SaaS. Within this scope, these businesses often operated efficently while covering all edge cases that engineers of specialized solutions could often not afford to address.&lt;/p&gt;

&lt;h2 id=&quot;the-new-ai-paradigm&quot;&gt;The new AI paradigm&lt;/h2&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/tobiaswirtz/tobiaswirtz.github.io/refs/heads/gh-pages/_site/assets/longtail-new.jpg&quot; width=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;With the new AI paradigm, the promise is that AI engineers can dramatically reduce the marginal cost of building solutions, increasing the number of opportunities that can be addressed. However, the fundamental bottleneck does not get removed, we are just improving the throughput. Ideas are still mostly generated and tested manually by PMs, designers, and engineers, even if they can be prototyped faster. Nevertheless, by increasing the throughput, it has become economically possible to serve the needs of smaller niches.&lt;/p&gt;

&lt;h2 id=&quot;the-long-tail-paradigm&quot;&gt;The Long Tail paradigm&lt;/h2&gt;

&lt;p&gt;A long time ago, before we had scaled operating systems or the internet, software was written to solve problems of individual users or customers. It was prohibitively expensive, but it catered to these needs perfectly. These days, it would be much simpler to build a comparable solution using tools like Cursor or Lovable, but the cost of maintenance is still high, which means that for companies, it still often makes sense to buy rather than build when it comes to software that isn’t addressing the company’s core mission. You have to trade off maintainability and customizability, which again leads to software that is not being tailored for individual use cases.&lt;/p&gt;

&lt;p&gt;Ideally, however, we would like to return to the world of individualized software while being free of its high costs. We would finally have software that does not ignore the long tail of problems that our messy reality creates for us. I think this is becoming possible.&lt;/p&gt;

&lt;p&gt;Taking the SaaS approach of spreading out the cost of edge cases within the general domain scope across the user base and combining it with a Lovable-like approach of letting the end user build for their own specialized needs all within one product is where SaaS should go in the next 5 years. SaaS companies would build and maintain a core product and let users build on top of it dynamically using AI.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/tobiaswirtz/tobiaswirtz.github.io/refs/heads/gh-pages/_site/assets/longtail-full.jpg&quot; width=&quot;500&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For more involved use cases, this may seem scary given the capabilities of the current models. Yet one area that is already ripe for this kind of model is analytics. Any SaaS that stores and operates on a single source of truth (SSOT) currently has to provide analytics to their users. Analytics really isn’t core business for these companies because few of their customers will make a buying decision based on the quality of their analytics platform, but if there isn’t one, you will lose customers. This means lots of companies have expensive analytics teams shipping half-baked solutions that are constantly outdated as users keep coming up with more and more questions for which there is not enough capacity to build answers.&lt;/p&gt;

&lt;p&gt;Why should there be such teams chasing all these data requests and trying to generalize them, when each end user could just build their own report using AI? Whoever can build a company that abstracts this capability and provides it to your local SaaS will build a generational company.&lt;/p&gt;</content><author><name></name></author><category term="startups" /><category term="product" /><summary type="html">AI is quickly changing the product world. The focus of change however has not been where it should be in my eyes: on enabling the user to solve their specific problems.</summary></entry><entry><title type="html">Confidence Slop</title><link href="/writing/2025/06/29/confidence-slop.html" rel="alternate" type="text/html" title="Confidence Slop" /><published>2025-06-29T10:00:06+00:00</published><updated>2025-06-29T10:00:06+00:00</updated><id>/writing/2025/06/29/confidence%20slop</id><content type="html" xml:base="/writing/2025/06/29/confidence-slop.html">&lt;p&gt;Both reading and writing suck now.&lt;/p&gt;

&lt;h2 id=&quot;everything-seems-high-quality-little-is&quot;&gt;Everything &lt;em&gt;seems&lt;/em&gt; high quality, little is&lt;/h2&gt;
&lt;p&gt;I’m sure if you have been on Instagram, Twitter, or, god forbid, Facebook recently, you are no stranger to &lt;em&gt;slop&lt;/em&gt;. Slop commonly denotes low effort media that puts quantity over quality. Though hard to precisely define, it is easy to identify. On the other side of this spectrum, I put what I would call &lt;em&gt;confidence slop&lt;/em&gt;. Confidence slop is content that appears to be high quality because&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;the communication is targeted and not too spammy&lt;/li&gt;
  &lt;li&gt;some human thinking has probably gone into it&lt;/li&gt;
  &lt;li&gt;AI was used to to communicate the outputs of this thinking in a way that sounds reassuring&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Examples of this are status updates in any of your Slack channels that use emojis to highlight important paragraphs and tag all the right people. They all look the same, but they clearly do not all describe the same states of the world. It is relatively easy to define, but to differentiate what is confidence slop and what is actually good work is very hard.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https://github.com/user-attachments/assets/67117863-140d-4e96-8e61-48ab3e453415&quot; width=&quot;300&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In the above message, many different thoughts are communicated, most of which do not have much impact on decision-making in the future. A little differentiation is made between levels of confidence of certain items. However, the general tenor of the update is “everything is under control” and lots of uncertainty is abstracted away under language that feels like it should give you confidence that everything will go well (e.g. “All blockers have owners and next steps”). Obfuscating this uncertainty is one of the key detriments of confidence slop. The message’s format is almost ideally designed to make the reader’s eyes glaze over and evoke an as-of-yet-undeserved sense of trust. Nevertheless, there is always a lot of truth to confidence slop, making it hard to disentangle what to believe and what to question.&lt;/p&gt;

&lt;p&gt;Confidence slop is not new. Some people are predisposed to it and some professions even teach it as a rite of passage. As a PM, I produce it regularly. What has made it ubiquituous however is the availability of AI writing tools.&lt;/p&gt;

&lt;p&gt;Combatting confidence slop is much important than normal slop to me. Slop and psychological defense against slop is memetic in that by engaging with slop, most people start to build up mental models that identify and ignore it. Confidence slop is anti-memetic in that it is very hard to identify whether one should actually put stock into a statement or not, so fewer people build up defenses to it.&lt;/p&gt;

&lt;h1 id=&quot;a-forcing-function-for-thought&quot;&gt;A forcing function for thought&lt;/h1&gt;
&lt;p&gt;Confidence slop is not just an intellectual crime against the reader; it is also a crime against oneself. To write is to structure one’s thoughts and to calibrate one’s confidence in them. By engaging in confidence slop, you lose the ability to identify gaps in your thinking. Additionally, you will not be able to look back at a later date and re-evaluate your confidence levels in a certain belief.&lt;/p&gt;

&lt;p&gt;I want to be clear: Using AI to write is not bad in and of itself. You just need to make sure it doesn’t make everything sound the same. This seems like a problem software could solve.&lt;/p&gt;

&lt;h2 id=&quot;a-better-writing-experience&quot;&gt;A better writing experience&lt;/h2&gt;
&lt;h1 id=&quot;communicating-confidence&quot;&gt;Communicating confidence&lt;/h1&gt;
&lt;p&gt;The core problem of confidence slop is that it has become too easy to produce it. To combat it, we need to introduce the right amount of friction to the process of writing. I built a small prototype to indicate how this could work.&lt;/p&gt;

&lt;p&gt;One approach to do this would be to visually communicate confidence levels. This needs to happen in a non-obtrusive way. My first idea was to play with the font weight as an indicator of the confidence level with faint writing showing low confidence in a belief.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https://github.com/tobiaswirtz/tobiaswirtz.github.io/blob/gh-pages/_site/assets/noslopfontweight.png?raw=true&quot; width=&quot;750&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I like this approach because it naturally draws the eye to the beliefs that are low confidence, hopefully allowing the writer and later the reader to think more about whether they should be upheld or not.&lt;/p&gt;

&lt;h1 id=&quot;assumptions-are-second-level&quot;&gt;Assumptions are second-level&lt;/h1&gt;
&lt;p&gt;People often try to communicate uncertainty about a belief with a clarifying comment on their own document. This also achieves drawing the eye, but it does not allow you to easily prioritize which uncertainty to address first as you really need to read every comment for that. In the model above, uncertainty is communicated by font weight, allowing prioritization. How to deal with the uncertainty is a second-level idea. Therefore, I made the choice to only show assumptions when viewing a specific belief.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;https://github.com/tobiaswirtz/tobiaswirtz.github.io/blob/gh-pages/_site/assets/noslopassumptions.png?raw=true&quot; width=&quot;750&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Code for the prototype can be found in the corresponding &lt;a href=&quot;https://github.com/tobiaswirtz/NoSlop&quot;&gt;Github repo&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h1 id=&quot;continuous-reflection-on-beliefs&quot;&gt;Continuous reflection on beliefs&lt;/h1&gt;
&lt;p&gt;I think this writing experience allows oneself to structure one’s own thoughts in a better way. What is missing here as an exercise to both reader and writer is tracking beliefs throughout time, in the micro and macro way. Adding an assumption should automatically update confidence levels, for example. Moreover, some beliefs and assumptions should probably be re-evaluated at some time in the future.&lt;/p&gt;

&lt;p&gt;To really build something that could improve writing and communication for a wider audience, the approach would also have to be ported to a chat format rather than just existing in documents.&lt;/p&gt;</content><author><name></name></author><category term="writing" /><summary type="html">Both reading and writing suck now.</summary></entry></feed>