Vibe coding platforms in the real world

No-code and AI-powered app builders have been making a lot of noise lately. Lovable is one of the more credible ones, promising that product owners, designers, and non-developers can spin up real applications through a conversational interface. We decided to test that claim, running it through a range of app types, from complex dashboards to graph-heavy visualizations, to see what it actually produces and where the cracks show.


Lovable would handle simple, self-contained apps well but would struggle as requirements got more complex, particularly around team collaboration, backend flexibility, and long-term code quality.


We built apps across different categories to stress-test Lovable in scenarios that reflect the kind of work we actually do. Each build was treated as a distinct test with a specific question we were trying to answer.

Simple dashboard, single developer. We built a marketing dashboard from scratch using freestyle prompting, no design spec, just iterative conversation. It took roughly three hours of back-and-forth to get it where we wanted. The final result was solid, but the session length was telling. What felt like it should be a 45-minute build kept needing correction and refinement well past that point.

Figma-to-Lovable, marketing website. We fed a Figma design into Lovable and tried to get it to reproduce the spec faithfully. The layout came through reasonably well. The breakdown was in the interactions: scroll behavior, element transitions, and animation timing were consistently off and difficult to correct. Part of this may be a prompting problem rather than a Lovable limitation. Describing precise interaction behavior in natural language is genuinely hard, and we never found a reliable way to do it.

Multi-developer workflow. A second developer joined a project that was already underway. Lovable ties each project to a single shared session, so both developers were working from the same context. Every change Lovable makes is committed directly to git, which means with two people prompting there’s a real risk of one person’s changes overwriting the other’s. There’s no branching, no way to work in parallel, no review step between the AI’s suggestion and the commit.

Custom backend integration. Several of the apps we build have security and privacy requirements that make Supabase a non-starter. We needed to integrate with existing data sources and maintain tighter control over the backend. To work around Lovable’s Supabase dependency, we had it build against a mock JSON file and toggle to a real API endpoint for local testing. It worked, but only because our team knew exactly what to ask for. A non-developer would have hit a wall well before getting there.

CRUD app and form-heavy interface. Forms are a large part of what we build, so we ran a dedicated test on a standard CRUD interface to see how Lovable handles form layout, validation, and multi-step workflows. For basic and moderately complex validation it did well. The breakdown came when forms needed to interact with backend APIs and enforce real business rules. Lovable can lay out the form and wire up simple checks, but structuring the logic behind a complex workflow is not something you can prompt your way through without developer instincts. You need to know how to describe the implementation, not just the behavior.

Code quality audit. Across a sample of the builds we ran static analysis on the generated codebases. Dead code ranged from around 30% on simpler apps to significantly higher on others. The pattern suggests Lovable works from a standard component template it applies regardless of what the app actually needs.


Speed is real, but it has a ceiling. Lovable generated working dashboards faster than a developer would have from scratch. That time savings is genuine. But we noticed a consistent pattern: sessions that were too short didn’t nail the requirements, and sessions that ran too long started to degrade. The model seems to accumulate context that works against it over time. There’s a sweet spot, probably 30 to 60 minutes of iterative prompting, and most projects need more than that.

The code is clean at the function level but bloated overall. Static analysis showed dead code at around 30% on simpler apps and higher on others. Lovable appears to work from a standard component template it applies to every project regardless of what the app actually needs. For a throwaway internal dashboard this is fine. For anything you plan to maintain or scale, you’re starting with accumulated technical debt before you’ve written a single custom line.

“Anyone can build this” is marketing, not reality. The pitch from these types of platforms is that non-developers can create production apps. What we found is that non-developers can create working prototypes. Getting those prototypes to production quality, connecting a real backend, tuning frontend performance, and handling complex business logic still requires someone with technical skills. The tool compresses developer time. It doesn’t replace developer judgment.

The backend constraint is a real limitation for serious projects. Lovable’s native integration is with Supabase, which is fine for simple apps. If your organization has an existing database, security requirements, or needs finer control over the backend, you’re working around the tool rather than with it. We got it working against a custom API by mocking the data layer and toggling between environments, but that workaround was only possible because our team knew what we were doing.

Team workflows are an afterthought. The GitHub integration lets you pull out the frontend code and have a single developer work on it separately. It doesn’t support multiple people working in parallel. Every AI-generated change is a direct git commit with no review step, which means two developers prompting the same project can overwrite each other’s work. For teams, this is a meaningful constraint that doesn’t have a clean workaround right now.

It earns its place in the toolkit, with caveats. For the right projects, Lovable is fast, capable, and produces code you can actually work with. Across our builds it handled more than we expected, and for internal tools, dashboards, and rapid prototypes it genuinely impressed us. The caveats are real but manageable: have a developer involved, know your backend situation upfront, and don’t expect pixel-perfect Figma replication. Go in with that understanding and it’ll probably exceed your expectations.


Lovable is a good prototyping accelerator for teams that have at least one developer involved. It will save real time on the right kinds of projects. It’s not a replacement for engineering, and treating it like one will create problems down the line.