Vibe Coding

Is Your Vibe-Coded App Safe to Run Your Business On?

In brief

AI tools have made it possible for business owners to build their own software. Before people outside your team depend on it, the system behind the app deserves the same care as the idea.

More business owners are building their own software than ever before.

With tools like Lovable, Replit, and Cursor, someone with a good idea and no programming background can describe what they want and watch a working app appear. This is often called vibe coding: building software by describing it to an AI instead of writing the code yourself.

I think this is one of the best things to happen to business ideas in a long time. I have also seen how quickly a promising app can turn into a liability once real people start using it.

Can I use a vibe-coded app for my business?#

Yes, with one important line.

Experimentation is becoming the key to developing business ideas, and vibe coding makes experimentation fast and inexpensive. You can test a workflow, show it to your team, change direction, and try again within a day. For early experiments and tools used only by you and your immediate team, that speed is a real advantage.

The line comes when you bring in other users. That might be customers, clients, patients, vendors, or anyone outside your direct internal team. At that point, the app is holding other people's information and their trust. Using AI to build it does not change who is responsible for keeping it secure, private, and reliable.

Many of the problems that matter at that stage are invisible in a demonstration. An app can look finished and work perfectly while you click through it, and still be unsafe the moment a stranger signs up.

What are the most common problems with vibe-coded apps?#

A friend recently asked me to try a meal-planning app he had built with Lovable. It was a genuinely good idea. The app suggested meals using AI, kept track of the pantry, added missing items to a shopping list, and let family members rate each meal after dinner so the suggestions would improve over time.

He was impressed with what he had built, and he had reason to be. He also had one problem he could not solve. The app kept recommending meals his family did not like, and he did not know how to make it suggest better ones.

When he gave me access to the code, the first thing I noticed was that nobody could see what the app was doing. There was no error tracking, and the existing tests no longer matched how the app worked. When something went wrong, there was no record of what happened or why, which made his problem close to impossible to diagnose.

That was only the beginning.

  • Passwords were stored in plain text. Anyone who gained access to the database could read every user's password.
  • API keys and secrets were not kept on a server. Credentials that should have stayed private were exposed in the app itself.
  • The code had grown far beyond what the app needed. Every round of refinement left behind code that never ran and tests for features that no longer existed.
  • Anyone could use his AI account for free. This was the biggest problem, and the one he had never considered. Anyone could sign up, and every AI suggestion was charged to his personal OpenAI account. Nothing stopped a stranger, or a thousand of them, from running up his bill.

None of these problems were visible from the screens he used every day. The app worked. The system behind it did not.

Why does my AI app give bad results?#

His recommendation problem turned out to be a good example of a common misunderstanding about AI.

When people picture an AI feature, they often imagine the AI handling everything. You hand it the information, and it hands back the answer. My friend was technically giving the AI the right information: the family's preferences, the meals they had liked and disliked, the kitchen appliances they owned, the number of meals needed, how many people were eating, and what was already in the pantry.

Putting all of that into one request does not guarantee a result you will like. The AI has to balance a dozen considerations at once, and some of them quietly slip. Nothing in his app checked the answer before it reached the family.

The best AI results usually come from AI and structured code working together. If I were building it, one part of the system would check each suggested meal against every preference and constraint individually. Does anyone dislike an ingredient? Does it require an appliance the family does not own? Does it use what is already in the pantry? When a meal failed a check, it would go back to the AI for adjustment, with a specific reason. A single meal might go through twenty rounds before it ever reached the family.

The result is closer to a family talking through dinner together, without anyone having to sit down and have the conversation.

Is my vibe-coded app ready for production?#

Usually not yet, and that is normal. AI tools are excellent at producing something that works in a demonstration. The work that keeps an app safe for real users is mostly invisible, and AI tends not to add it unless someone knows to ask. Built-in security scanners help, but a scanner cannot know your business rules. It cannot tell you whether one family should see another family's pantry, or whether a free account should be able to run up your AI bill.

You do not need to read code to get a sense of where your app stands. Start with these questions:

  • Can one user see another user's data? Broken access control is the top risk on the OWASP Top 10, the industry's standard list of web application security risks. Sign in as two different users and try to reach each other's records. If you can, so can anyone.
  • Are your API keys and secrets kept on a server? Keys for services like OpenAI or Stripe should never reach someone's phone or browser. Anything that reaches the user's device can be copied.
  • Is there a limit on what your AI features can cost you? Set a monthly cap with your AI provider and a usage limit for each user, so one person or one automated script cannot run up a bill you discover at the end of the month.
  • Would you know if something broke? Error tracking and basic logging tell you when something fails, who it affected, and why. Without them, your customers become your monitoring system.
  • Are logins handled by a proven sign-in service? Passwords should never be stored in a form anyone can read. Established authentication services handle this correctly, and custom password code is rarely worth the risk.
  • Could you restore your data if the database disappeared tomorrow? Automatic backups are only half the answer. Someone should have confirmed that a backup can actually be restored.
  • Does anyone understand how the code fits together? If changing one thing regularly breaks three others, the app has outgrown the way it was built.

If any of these answers is "no" or "I don't know," the app is not ready to hold customer information or business-critical work. That does not mean the idea has failed. It means the system around the idea needs attention.

Should I fix or rebuild my vibe-coded app?#

In most cases, fix it. Almost any app can be salvaged.

I walked my friend through everything I had found. I was not able to take on the work myself because of an existing client commitment, and he eventually decided to abandon the project. The list of fixes felt like too much.

That outcome stays with me. A software engineer using AI-assisted development the right way could have corrected the most serious problems in a day or so. The idea was good. What it lacked was a system.

Most people do not realize that software engineers specialize in systems, not code. Writing code is the part AI has made fast. The engineering work is making sure the whole thing functions well, is easy to fix when it breaks, and is safe for everyone using it.

Exposed keys, readable passwords, missing usage limits, and absent error tracking can each be corrected on their own without throwing away a good idea.

The signals that matter most are in the infrastructure: how the data is stored, how people sign in, and how the pieces of the system connect. I recommend a rebuild in two situations:

  • The infrastructure is unsound enough that it has to be redone anyway. If the database cannot describe how the business actually works, improving the screens on top of it will not help.
  • The necessary changes would prevent existing users from using the app. If fixing how accounts or data are stored would lock people out or lose what they have saved, a planned rebuild with a careful move to the new version is often the safer path.

One caution applies either way. Asking the AI tool to keep fixing its own problems tends to make things worse. One study found that critical vulnerabilities increased by 37% after five rounds of AI-driven fixes. Each round tends to add code rather than remove it, which is how my friend's app ended up so bloated.

What should I look for in a developer to fix my vibe-coded app?#

Many of the qualities that matter in any software partner apply here too. I covered them in more detail in How to Choose a Software Development Partner That Will Deliver. Taking over an AI-built app adds a few specific things to look for.

  • They should understand systems, not just code. An experienced developer can often spot infrastructure problems from a conversation and a few minutes with the app. A good one will still want to look under the hood before committing to a plan or a price.
  • They should explain what they find in plain language. You should know which problems put your users or your money at risk and which can wait.
  • They should ask to be invited to your accounts. A developer should never need your personal passwords. Hosting, database, code, and AI accounts all let you invite someone and remove their access later. A request to share a login is a warning sign.
  • You should own the code. Put ownership in writing before work begins. At Lawlor Solutions, our clients own all of the code we write for them. The only thing we keep is the ability to reuse general-purpose building blocks, separate from the client's business, in future projects.
  • They should try to fix before they rebuild. Repairing an existing app is usually less work, which means less cost and less disruption for you. A developer who recommends starting over should be able to point to the specific infrastructure problem that makes it necessary.

How much does it cost to audit a vibe-coded app?#

Prices vary widely. Automated scanners are free or inexpensive and catch many common technical mistakes. Reviews by a person generally range from a few hundred dollars for a small app to several thousand for a deeper engagement that includes fixes. A scanner can tell you that a setting is wrong. A person can tell you whether the system makes sense for your business and which problems deserve attention first.

Lawlor Solutions offers a flat-rate $500 app audit. We review how your app is built, including its infrastructure, security, access, and AI costs, then give you a plain-language list of what we find, ranked by how much it matters. You will know what puts your users or your money at risk, what can wait, and whether the app should be fixed or rebuilt. What you do with that list is entirely up to you.

If you would rather have the system built properly from the start, book a discovery call. Lawlor Solutions builds the real software at a fixed price, live in a month or less.

If you are not sure which workflow to build first, the free Build Planner helps you map how the work happens today, choose the core workflow, and define the improvement worth measuring.

Keep experimenting. The tools for testing an idea have never been better. When the idea starts serving people outside your team, it deserves a system that is built to protect them.

Map the workflow. Build the real thing. Measure the impact.

If you're not sure what to build first, the free Build Planner will help you map how the work happens today, choose the core workflow, and define the improvement worth measuring.