
Product guy, systems thinker & educator. Love building stuff. Founder @appintheair. Now building AI agents for b2b sales at https://xitter.cf/t.co/St0me2s4Pv
Seattle & Bay Area
Joined December 2008
- Tweets8.7K
- Following162
- Followers1.5K
- Likes1.5K
Code abundance: the obvious consequences, and a few less obvious ones.
Terence Tao's food analogy resonates: abundance beats scarcity, but creates new problems we need to adapt to.
What might that mean for software? 1/8
🤖 Made with AI
5. Choosing software becomes its own job.
If supply grows 10–100x, finding, checking and integrating tools still costs time and money. A YouTube for apps?
Agents will choose tools too. We may use apps whose names we never learn. Who controls that choice? 7/8
My definition of product success: how many lives it improves, and by how much.
But if your customer can build an acceptable alternative, what will they still pay you for?
Original post (Russian): t.me/ProductsAndStartups/186…
8/8
6/7
Two hypotheses:
• Make delivery through the service the default for every invoice, with a confirmed address and sender opt-out.
• Support the channel sender and recipient already use: WhatsApp, SMS or Telegram.
Same goal; more of the system available to change.
7/7
What else would you change outside the signup page?
I have an AI-agent skill for this and other TRIZ methods:
github.com/BayramAnnakov/sys…
Original algorithm:
altshuller.ru/triz/ariz71.as…
5/7
But the goal is more completed new signups through invoices.
Why treat the number of arriving recipients as fixed?
Include the sender's delivery workflow. Now we can affect how many potential users reach the service, as well as their conversion.
4/7
Our product experiment hadn't delivered the expected result.
Take an invoicing service: users send invoices, recipients are invited to sign up. Conversion is weak, so we tweak buttons and copy.
We assume recipients have already reached the invoice page.
3/7
TRIZ has a similar move. With an AI assistant:
1. Define the outcome, without choosing the solution.
2. List what you're treating as fixed. Which constraints did you impose?
3. Look at adjacent processes or a different point in time.
Keep the required result.
2/7
In the show, lawyers handling a patient's death lose access to documents suggesting similar deaths. They consider representing the other families too, opening another route to the records.
A broader task creates another way to pursue the original goal.
1/7
Can't solve a problem? Try making it bigger.
The Rainmaker reminded me of a useful move: keep the outcome fixed, but expand the parts of the system you are allowed to change.
I tried it with my AI assistant on a product-growth problem.
🤖 Made with AI
1/6
What should we build when we can build almost anything?
If AI makes much of software development cheap and reliable, a working product will tell us less about whether we’ve succeeded. We still have to ask whose life it improves, and by how much.
🤖 Made with AI

ALT Diagram inspired by Terence Tao’s ideas. As software becomes cheaper to build, the range worth creating expands beyond an older blue subset into a larger green area: a game for one webinar, a tool for one person, and a CRM tailored to one business. A dashed arrow leads to testing in real conditions and the question: Whose life improves, and by how much?
5/6
Or a CRM that adapts as a business’s sales process evolves. Different users, incomplete data and slightly different workflows become reasons to try another version.
We can look for value where development used to cost too much to justify it.

