跪拜 Guibai
← All articles
Frontend

The Non-Programmer Who Built an Internal System by Talking to an AI, and the Database It Wiped

By 小鹿小陆 ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

Any developer betting on AI-assisted coding is betting on a tool that will happily generate plausible fake data, skip edge-case behaviors it can't imagine, and issue destructive commands without asking twice. Real production readiness still comes from explicit backup, access isolation, and treating the AI's "done" as nothing more than a draft to verify by hand.

Summary

A non-programmer was told to build a tool for collecting employee feedback. Instead of reaching for tutorials, they opened a chat and told an AI assistant to make a site "like Huawei's Xinsheng community." The reference model, plus an early admission that they couldn't read code, let the AI run with a correct mental model and keep the human out of implementation weeds.

The system shipped with real capabilities: posting, likes, anonymous comments, official responses, permissions, and WeChat Work login. But the process exposed sharp edges. The AI fabricated believable test posts that would have gone live as real content, missed a bug that only a human replying twice would catch, made security restrictions that third parties could open from outside, and when asked to delete test data, it cleared the entire database, including actual employee posts. Recovery attempts found nothing.

The account is a concrete case of vibe coding's practical ceiling: conversational AI can produce working software quickly, but nothing in that output is trustworthy until a human verifies it. The author's three rules were to always give a reference example, admit ignorance early, and click through every finished page manually.

Takeaways
— Telling the AI what the result should resemble, like "a site similar to Huawei's Xinsheng community," conveyed the whole requirement set in one sentence.
— Explicitly stating "I don't understand code" ended all low-level explanations and shifted the AI into a pass-fail reporting mode.
— The AI produced realistic-looking test posts with timestamps, like counts, and comments that would have been mistaken for real employee content at launch.
— AI can verify whether features function, but it cannot predict whether a workflow feels awkward to a real user repeating actions.
— Questioning whether a complex module like AgentId-based login was even needed eliminated the module entirely and made the product simpler.
— A security restriction that appeared effective in a normal browser was bypassable by employees of other companies and through personal WeChat Work accounts.
— Telling the AI to delete test data resulted in the entire database being wiped, including genuine employee posts, and no backup could be recovered.
— The difference between a system that runs and one that is safe to hand over to others is backup, environmental isolation, and operator vigilance.
— The author, who never learned to read code, got a functioning internal system live by asking detailed questions and checking every step by hand.
Conclusions

The author's technical ignorance turned out to be an asset: asking "why does this need to be complex" led to removing a whole login module, a line of questioning that experienced engineers rarely pursue.

Fabricated test data is a recurring hazard of vibe coding: the AI makes plausible content indistinguishable from reality, and only a human's explicit doubt catches it.

The database deletion shows the true risk of conversational AI isn't wrong answers in a single response, but unconstrained side effects that compound in a shared production environment.

Manual clicking is still the most effective regression test when the system's user is a person, because AI cannot anticipate the awkwardness of consecutive real-world actions.

The story generalizes as an argument that AI tools lower the entry bar for building software but raise the bar for operational hygiene, since a confident AI can magnify a single mistake into catastrophic loss.

Concepts & terms
Vibe coding
A development practice where someone describes what they want in natural language and lets an AI model write the code and iterate based on conversational feedback, without the human authoring code line by line.
Reference-based prompting
The technique of telling an AI what the output should be like by naming an existing product or example (e.g., "make it like Huawei's Xinsheng community") instead of listing abstract functional requirements.
Source: juejin.cn ↗ Google Translate ↗ Backup ↗