10 min read
"Independent Development Diary 12: AI Makes Projects Run Faster, But Also Goes Out of Control Faster"
Recently, I haven't been resting well; for instance, I got up early today. A couple of days ago, I had drinks with my brother. He mentioned he was considering transferring stores and possibly opening one in Malaysia. Currently, several of his stores in Thailand are losing money. He asked if I planned to stay in Thailand alone. If I were to relocate, there would be a lot to consider, especially regarding my cat at home. When leaving Thailand, one person can only bring one cat, and there are many procedures to handle.
My friend said, "If you're anxious about a few cats, what else wouldn't you be anxious about?" He said that for older people like him, the main concern is health, such as high blood pressure and dental issues.
Actually, I haven't had a proper job since I turned 30; I've just been messing around. This is mainly because I found that the traditional job path wasn't working for me. Many people outside are bragging about how degrees are useless, but when you actually enter society, you'll find that those who rise are often people whose abilities are not as strong as yours, but their supporting factors are better. It's not hard to understand; when looking for a girlfriend, you also tend to choose the prettier one, even if there are some minor personality issues.
Now, let's talk about joining a startup team. Most of the teams you can access are quite average; basically, 99% will eventually become worthless. Of course, there are some good ones, like my previous employer, from whom I still receive red envelopes every year. Another significant reason is health issues; I worked too hard when I was younger, leading to cervical and lumbar disc protrusions. Last year, I spent almost half the year undergoing treatment and rehabilitation, which cost quite a bit.
As for entrepreneurship, there's not much to discuss. Most people are actually not suited for it. Income isn't even the biggest issue because, in most cases, you have no income. So, you fall into a vicious cycle where you start to doubt whether what you're doing is right. If it is, then why aren't users paying or why is there no traffic? Should you change direction? Most people get stuck in this loop, and when they can't hold on anymore, they just give up when an opportunity to return to a company arises. I went through this cycle repeatedly when I was younger. Some people might think that if you're not making money, it means the venture isn't viable. But from another perspective, if you were a time traveler, would you care about not having income right now, knowing that the future will definitely change?
Of course, some people think, "Why work so hard? It's better to focus on traffic." The big shots mentioned in the previous article are already sharing their students' insights, claiming that following Teacher XX can earn 30,000 a month. After reading that, I felt tempted to sign up too; it's too enticing. I also dabbled in the knowledge payment field for a while because, as a programmer, I didn't have a high business sensitivity and wanted to understand how operations and traffic work. During that time, my friends thought I had joined some special group based on what I was posting.
Normal operations involve having a product, refining it, and managing traffic. However, knowledge payment lacks any actual product, so it only focuses on traffic, leading to all sorts of gimmicks to attract it. Recently, I saw someone on social media who was previously a list maker, and now they're claiming that working is like being in a cage, selling their own products by creating topics. I think pure knowledge products are fine, but you'll notice that they hold offline conferences every two to three months, have check-ins in groups, and constantly rewrite others' content. I can only say that like attracts like.
In fact, I've increasingly come to believe in fate over the past few years. I even went to pray at the Four-Faced Buddha when I came to Thailand. Every time things seem to be improving, they immediately take a downturn. A few years ago, when I was working on a used car project in Guangzhou, fortunately, everyone ended up not losing money and parted ways with smiles. Later, I found a remote job and thought being a digital nomad was great, but a year later, the company went under. At the beginning of this year, after my account hit an all-time high, I thought I could take a good break, but then the black swan event happened. For the past few months, I've been in a situation where my expenses exceed my income, constantly cutting losses. Eventually, I thought this wasn't a solution, so I decided to focus on independent development, cleared my positions, kept a little for the basics, and used the rest for living expenses. I then temporarily stopped repayments, planning to pay everything back in one go once things stabilized. Seeing overdue notices is still quite distressing; I realized I'm not as decisive as I imagined. I don't mind personally, but it mainly affects my family.
The reason I mention all this is that I recently met two friends, and everyone's situation is quite similar. I can only say that these past few years have been tough for everyone.
Let's talk about something substantive. Personally, I believe vibe coding or AI programming has become a new leverage. People from Claude's company have come out to say that 90% of their code is generated by AI. However, in reality, everyone is complaining that AI often messes up the code; AI is just a toy.
Currently, I observe three main types of people. The first type is complete novices; they might be very professional in other fields, and vibe coding helps them program some business processes without needing to understand the technology, as long as they can clearly articulate their needs, AI can implement them. The second type is artisans; in the coding field, they are coders because coding is their craft. If they are replaced, they become worthless. This issue is similar to the typical technology versus management problem; once they move into management, the biggest insecurity is feeling extremely busy every day with various meetings, not writing code, and feeling worthless. If they leave their job, it becomes difficult to find another management position, but coding becomes rusty. The third type of person is someone who learns AI comprehensively to liberate themselves.
Now, let's discuss complex projects. The projects I've worked on previously didn't involve too many endpoints, or the coupling between endpoints wasn't strong. I personally delved into the code to implement things; for example, during each development phase, I would say something like, "Modify xx in the xx file," and refer to the implementation of xx from somewhere. Essentially, I was still in control of the code.
After using Claude Code for a while, I wondered if I could truly let go, just like when I led a team, without getting trapped in the code. I spent about three weeks exploring this, during which I scrapped two projects and basically rolled back and redid them, eventually figuring out a workflow that is more suitable for complex projects.
This involves various aspects of product development knowledge. The development process in traditional internet companies cannot avoid several major stages:
Requirement Document Review → Technical Document Review → Test Case Review → Development → Testing → Release
Now, if we shift the perspective to that of a boss, they would definitely call the product manager over to discuss the requirements and goals. The product manager would then start writing the requirement document, checking in with the boss a few times along the way, and once finalized, they would proceed with the subsequent processes, ultimately followed up by the technical manager or product manager to complete the entire process.
So, what happens if we apply this process to AI?
First, we define several roles.
Then we need to define review meetings.
We also need a set of requirement change processes:
Requirement Change → Related Document Update → Test Coverage Code Update → Code Update → Review
Then we can start creating relevant prompts. There are some open-source prompt engineering resources online, but I personally think they may not meet your requirements. For example, a prompt designed online might be from a professional product manager who outputs a very high-quality requirement document, but the problem is that we can't understand what their document is saying because I'm not a professional product manager.
Therefore, I recommend that everyone design their own prompts. Of course, some might say they don't know how to write them. Actually, I don't know either; you just need to open GPT and write: "Help me create a prompt. I hope for xxx, preferably after 3-5 rounds of communication, to generate xxx document." Then AI will give you a prompt. After reading it, you can say, "It's too complicated; I hope it's more simplified." Just like a client, you need to make demands and put pressure on AI.
Once you have the prompt, go to a new AI instance and input it, then write in your requirements, etc.
The basic process
The documentation process above might take a week, depending on the volume of requirements, but the same requirements in a traditional internet team might take a month to complete the documentation design work.
Then, there's a trick to AI development: feed it all the documents and let it design its own to-do list in task breakdowns, following the documents to complete and update tasks. If there are requirement changes or optimizations midway, just interrupt and adjust, then go through the change process, updating everything that needs to be updated.
Next is the README.md in the directory, which mainly provides an index-like function, so AI doesn't have to read the documents first, find the relevant areas, and check each file one by one. This greatly improves AI programming efficiency. Finally, when starting new tasks, all documents need to be fed in to clear the context summarized earlier, avoiding context pollution (because summarizing might lead to loss of key information), and then follow the task schedule.
The core of the whole process is review. Just like with people, a common complaint is that developers say the product doesn't clarify requirements, while testers complain that what developers produce doesn't match the test cases, etc. Another small trick is to include the phrase "carefully consider" in the prompt, which puts Claude Code into thinking mode.
At the current stage, we still dare not fully embrace parallel processing; it remains primarily serial due to concerns that if any step is not executed properly, the project could spiral out of control. Currently, Claude Code offers the Sub Agent feature, but not much research has been conducted on it yet.
Project
Considering that we are already working on a large project, mainly funded by a friend, we must at least deliver the first version. The second aspect involves two independent projects we have on hand, for which we will not consider adding new features for the time being; we may focus on reducing features instead. Additionally, we are considering creating some tool sites, primarily to learn SEO, while also getting started with AdSense.
StickerAI
As mentioned earlier, we are focusing on reduction. Although StickerAI has many features, we found that users generally try it out and then leave. Therefore, we plan to break down the features and create different sites to test various keywords separately. Furthermore, since the free version of Vercel has reached its limits, and the server for the raw image service costs $10 per month, we purchased a server for $30 a year. During this period, we are working on some migration tasks. This way, we won't have to worry too much about costs for a while. If we factor in the costs of AI tools and APIs, this project is actually losing money.
PromptPlan
I previously mentioned that the migration is halfway done, but I discovered a problem: the previous workflow design was not well thought out, resulting in poor control over the generated code. Some bugs took a lot of effort to identify and fix. Therefore, I plan to start anew from the PRD and go through a complete workflow.
Others
There are actually many topics I want to discuss, but due to the length, I will write about them later. For example, some issues and thoughts I encountered in language learning, including a friend's request for me to talk about life in Thailand.
I believe that the problem brought by AI is a matter of choice, which tests a person's judgment and intuition regarding matters. In the past, without AI, we often said we couldn't do many things; now the issue is that we can do everything, but which is important? However, the advantage is that we can quickly experiment and learn from mistakes. From previously taking three months for a project to now aiming for small sites within two days, when you lack the ability to judge quality, it’s better to focus on quantity, as quantity can lead to qualitative changes.
其实我觉得AI带来的问题是选择问题,更加的考验人对于事情的判断是否足够的嗅觉,以前没AI很多事情我们说我做不了,现在的问题是我都能做,但是哪个重要呢?但是好处也是能快速的试错,从以前一个项目3个月到3周,现在后面我只想尽量搞2天内的小站,在你没能力判断是否优质的时候,尽量以量取胜,量变引起质变。