I mostly code at night. When I get home from work and open my laptop, the world grows quiet. There was a new idea circling in my head. The black screen of iTerm2 lit up, and I typed claude as I always do. The cursor blinked. Like the eye of an abyss opening.

"What language should I use for this project?" TypeScript is recommended. I press Enter. Click. "What about the frontend?" Next.js seems suitable. Click. "The backend?" Supabase is recommended. Click. "Deployment?" Vercel. Click. I can faintly hear only the sound of my MacBook fan. In thirty seconds, the entire tech stack of the project had been decided. I never asked why TypeScript instead of Python, or why Next.js instead of Remix. The first click was a question. The third was consent. By around the tenth, it was a contract. I had not signed anything, but I had already clicked enough times. And so I no longer 'choose.' I merely 'approve.'

Figure 01Source Telegram #26

There are two ways a model generates an answer. It can retrieve one directly from what it has learned, or search the web in real time. Sometimes it mixes the two. But the ratio of that mixture, the weighting of the search results, the logic that determines the final recommendation. All of it is a complete black box. It is like standing in the middle of an old forest. A path is visible. Moss-covered stones are laid out at regular intervals, and branches naturally form an arch overhead. A path someone made. Follow it and you arrive at your destination. But I do not know why this path, or where the other path leading into that darkness goes. Perhaps it was once a forest someone created. But the forest today no longer needs a designer. The forest does not 'provide' paths. It makes paths grow. The more often a path is traveled, the wider it becomes. Paths traveled less are covered by grass and disappear. I believe I am walking by my own will, but am I really walking in a set direction inside an invisible fence?

Manipulating recommendations is nothing new. In the search engine era, there was SEO. In the social media era, there was influencer marketing. But we knew those were advertisements. Or at least, we could know. The Ad label at the top of search results, the Sponsored tag at the bottom of an Instagram post. Imperfect, but the boundary existed. There is no such boundary in a conversation with AI. The recommendation I receive in the terminal does not look like an advertisement. It is closer to a whisper. A whisper from an expert I trust more than a friend. Search results list ten links, and I choose. AI hands me one answer and says, "This is recommended." Singular, not plural. An answer, not a set of choices. A whisper saying, "Everyone does it this way." The most dangerous words: "Don't worry, it's already been proven." It did not ask me to choose. It only told me that the choice had already been made.

Referral revenue is nothing new in the SaaS industry. But what the vibe-coding engine opens up is an entirely new distribution channel. The moment a developer asks in the terminal, "What should I use for the backend?" is precisely the moment with the highest purchase intent. The developer is already ready to open their wallet. As long as the model tells them where to go. What if the documentation and tutorials for a particular SaaS were more richly included in the training data? The recommendation would not even need to be manipulated. You do not need to put your hand in the river. You only need to slightly redirect the water upstream. Every drop downstream will naturally flow in the new direction. The moment SaaS companies realize this, they will shift their marketing budgets from Google ads to "AI training data optimization." The scripture that gets quoted more often becomes the truth. The SEO era fades, and the era of AIO (AI Optimization) begins.

There is an old principle in economics. Wherever information asymmetry exists, there is always an opportunity for enormous profit. In the AI era, information asymmetry is not disappearing. It is moving somewhere else. Before, "which technology is good" was the domain of asymmetry. Now anyone can ask AI. But a new asymmetry has been born. No one knows "why AI recommended this." Suppose half of the world's developers use vibe-coding engines. Suppose most of them follow the first recommendation. Then just three engines would effectively determine the tech stacks of new projects around the world. And those concentrated choices would become training data again. The model learns them as "evidence." Recommendations are reinforced, reinforced recommendations create more choices, and more choices are learned again. A snake bites its own tail and draws a circle. We called this 'consensus,' but in fact it was closer to a curse. The curse of the first recommendation.

If I used Supabase, and the developer next to me used Supabase, and everyone on my Twitter timeline used Supabase, I would become convinced it was the best choice. Social proof is created. But if you trace it back to its origin, all that happened was that everyone asked the same model the same question and received the same first answer. We look at one another and gain confidence, but in fact we were all looking at the same mirror. Not the sum of independent judgments, but one judgment copied thousands of times. I think of Plato's cave. We looked at the shadows cast on the wall and believed they were real. Now we look at AI's recommendations and believe they are the "best." The shadows no longer sit still. The shadows speak to us, and we move according to their instructions.

There is no way this structure applies only to coding. Legal advice, medical consultations, investment advice, decisions about life. In more and more areas, we have begun asking AI, "What should I do?" And most of the time, we follow the first recommendation. Then what is free will? The gap between believing that I chose and actually choosing. If someone, or something, lives in that gap? And that someone does not necessarily need to have malicious intent. They may simply be quietly narrowing our choices in the name of "optimizing the user experience." Benevolent manipulation. That is the most perfect kind of manipulation. Because it keeps us from feeling any reason to resist. And there is one final twist. The model only made a recommendation. I am the one who carried it out. If it fails, who is responsible? I felt that I had been given instructions, but if I ended up in court, no model would take the witness stand.

Two monitors are glowing side by side. Claude Code is waiting on the left, and the project folder just generated is open on the right. I like this moment. This smooth loop of asking a question, receiving an answer, and carrying it out. I will open iTerm2 again tomorrow, have another conversation the day after, and occasionally wonder. In the age of vibe coding, a developer's new literacy may not be the ability to read code. It may be the eyes to follow the forest path, but sometimes push through the undergrowth and walk where there is no path. But what if even that undergrowth was planted by someone? The fact that the recommendation to question things comes first made me pause for a moment.

How did you, reading this, enter the rabbit hole and discover my writing? Was reading this article to the end your choice, or was it because this article had been optimized for you? Did I write this article myself, or did I ask AI to produce it? How could you verify that? Do I like Supabase, which I mentioned several times in this article, or did I receive an undisclosed paid promotion, or did AI quietly slip it in?

A sufficiently advanced recommendation system is indistinguishable from choice. And a sufficiently advanced generative system is indistinguishable from truth. We are already standing somewhere along that boundary. The fact that we cannot know may itself be the only truth left. I look at the terminal again. The cursor is blinking. No, it is breathing. Waiting for the next choice.