AI Develops Its First New Product
hisohiso is a location-based social application developed entirely using AI tools, with no human writing a single line of code during design, development, or testing.

To better understand the limits of AI development, I first selected a theme, then developed a new product using the familiar app development framework Flutter. Before starting, I tried many so-called vibe coding tools like Gemini CLI, Cursor, Claude, and ChatGPT. At that time, Claude 4 had just been released, and it was really impressive, so I decided to use Claude to tackle the development of the new product.
Before continuing with the introduction, let me insert an image. When we reached about 80% completion, I asked Claude to analyze the overall project architecture. His feedback was as follows:
<Gallery images={[ { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759989001972-e9d7591e-78ce-497c-af31-faa6f8ed7e00.png", alt: "2005-10-09-zh-TW-gallery-1" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759989002836-a127094b-c1c6-4d7c-8ba2-003c26122a23.png", alt: "2005-10-09-zh-TW-gallery-2" } ]} />
Before starting the project, I already knew that to ensure that Claude could quickly grasp the current situation before each startup, detailed planning and preparation were essential. The so-called vibe coding can allow someone to complete a service or product based on their instincts, but ultimately, it is purely for personal satisfaction. If you want to push it to market, many aspects need to be considered: subsequent maintenance, UI/UX, multiple languages, ease of testing, and the cost of going live, etc.
Hisohiso adopts Flutter plus the Firebase suite of services, so in addition to considering the front-end design, I also had to take into account Firestore/Firestorage access permissions and cost issues. For instance, while Firestore is convenient to use, accessing a document counts as one access.
To solve this problem, I consulted AI and learned that the conclusion is to store those brief data blocks using arrays and slicing them. However, simply using arrays to store data comes with limitations, such as not being able to use serverTimestamp, and the maximum space for a complete document being only 1MB, and so on. Although I encountered many pitfalls during the development process, my main goal was learning. I wanted to find out how far I could push the AI's capabilities and what knowledge and skills I could learn that I didn't know before.
Later, I had a flash of inspiration and came up with a unique feature, which is a
<span className="text-[1.35rem] font-semibold leading-[1.65]"><span className="text-amber-500">"Voice Post"</span></span> Here’s the video:
<Video src="https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994315738-c6e0e2da-388e-4249-b344-a2a12089ce68.mp4" caption="Video Description" />The interesting part of this feature is that users won't know what the post is about unless they click play. Moreover, once you click play, not only will it play the voice, but it will also gradually display the text of the voice, somewhat like singing karaoke, though I've only been to karaoke less than three times in my life—XDDD.
Knowing that I needed to create this feature led me to consider how to present it, how to use it, how to convert audio files into text, how to give the text a karaoke effect, and how to store the data, among other things. Before asking the AI to handle it, we discussed for a long time, and I finally finalized the specifications and interface as follows:
<Gallery images={[ { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994482493-3d0e692e-7da3-4b09-84b1-59b08c249375.png", alt: "2005-10-09-zh-TW-gallery-1" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994483185-2c60eafb-e40a-44c6-b453-59e22daa8271.png", alt: "2005-10-09-zh-TW-gallery-2" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994483772-832104de-ceb5-4b0e-adea-d8802143ac1c.png", alt: "2005-10-09-zh-TW-gallery-3" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994484395-0cddfe08-fe2f-4c37-a385-2eff0d41ed8b.png", alt: "2005-10-09-zh-TW-gallery-4" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994484947-31916986-c6be-4443-86ba-3c966ca2e232.png", alt: "2005-10-09-zh-TW-gallery-5" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994485515-1752c78b-636d-4cbd-877b-596b67239e3c.png", alt: "2005-10-09-zh-TW-gallery-6" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994486110-4039b736-2c5f-4570-8d2e-6cee71d77a54.png", alt: "2005-10-09-zh-TW-gallery-7" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994486713-e9605df7-74aa-4db6-88a1-0ada44b528f0.png", alt: "2005-10-09-zh-TW-gallery-8" } ]} />
Although he said it would take several months, because I had experience and clear prior planning and definitions, I completed the functionality in just three days. This is what we call
<span className="text-[1.35rem] font-semibold leading-[1.65]"><span className="text-rose-500">strong partnerships</span></span>
or something like that—XDDD.
Here are more screenshots:
<Gallery images={[ { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994895026-8dd684f4-cc90-47ee-9de4-93127956bb99.png", alt: "2005-10-09-zh-TW-gallery-1" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994895968-de4064ef-7106-472c-8acc-aeb1d9bd75eb.png", alt: "2005-10-09-zh-TW-gallery-2" }, { src: "https://kazami.me/storage/posts/2005-10-09/zh-tw/1759994896601-6b06519a-6566-47b7-8b09-9628348c46c3.png", alt: "2005-10-09-zh-TW-gallery-3" } ]} />
In the end, this project took two months to complete and go live, but currently, the total number of downloads does not exceed five! Congratulations!! Now this app has transformed from a
<span className="text-emerald-500">location-based social app</span> to
<span className="text-[1.35rem] font-semibold leading-[1.65]"><span className="text-accent">"A solo developer's hisohiso"</span></span>
XDD.
I also gained confidence from developing this app: "I have mastered the techniques and skills of AI development, and I can quickly produce high-quality code!"