I guess it boils down to how technical you are. If you are taking on a client and do not know how to read code, understand relational databases / database normalization, ACL / User / Roles, Authentication strategies so you can guide the Agent in Autonomous/Low man-in-the-middle mode then you will spend a lot of time and money vibing out an app praying that the AI Agent gets everything right.
Software Engineering and traditional engineering are very similar. Think of Vibe Coding like 3D printing. Tell it to build the drive train to a car and it will do it, but it will weld the engine to the transmission, battery, alternator, radiator etc. You’ll get a single purpose workable engine most of the time but good luck trying to upgrade it or add extra features without breaking all the cohesion.
Replit does its best to break the welds with integrations so your app isn’t so tightly coupled and can be updated more easily.
My advice is to go into Plan mode and ask it very specific questions before building.
For example I did this for a client last week.
They wanted to integrate Go High Level’s (CRM) API so they can add users to their location. The app was set up to use Replit Auth and it syncs the Auth user and Postgres database’s user table. I manually went out and got the GHL API key and locationId, added it to the Secrets. Put the app in Plan mode gave it the NPM package name for GHL’s node SDK and asked it to come up with a plan to make a GHL client. I told it the Secrets has the locationId and the API key.
In other words I set it up so it couldn’t fail. I gave it what it needed first then asked it to come up with a plan.
It found the Secrets, confirmed it knew what to do and I told it specifically in Build Autononmous/Low mode to only build the client. I did not want it to integrate it into any of the auth or user login flows. It did it.
Then I toggle it back to plan mode and asked it to understand the user auth flow and give it the upgrade context. We need to send the firstname, lastname and email to use the new ghlClient to create a contact and add a tag.
It came up with a plan, I went over it, then toggled into Autonomous/Low and had it execute.
It got it right on the first shot.
In Plan mode I asked if GHL returned a unique id for the user. It confirmed it did. So I asked it to add a nullable field to the users table to store that id. It came up with a plan I approved and now any user who logs in or creates an account has their data synced up with GHL.
Today I just switched out Replit Auth with Google’s Firebase. Clean simple, no hallucinations.
- Added all the Secrets ahead of time and there are 6-7 of those
- Asked plan mode to see the secrets will work, it told me they need to be frontend accessible and to add VITE_ as a prefix
- I manually did that in Secrets
- Told it the changes were done and come up with a plan, looked it over approved it
- 5 mins and $2 later Google Firebase was implemented without a hitch
Guide it as much as you are capable of. Treat it like a 3 year old that can do anything but still needs some hand holding 