I built a todo app with authentication three different ways: Bolt.new, V0, and by hand. Here's the shit that broke and what actually worked.
Bolt.new: The \"Just Make Everything\" Approach
Bolt.new tries to generate complete apps from one prompt. Sometimes it works, sometimes you get absolute garbage. Built by StackBlitz, it's essentially a wrapper around their WebContainer technology that can run Node.js in the browser.
What I tested: "Build a todo app with user authentication and task sharing"
Result: Got a working React app with a Node.js backend in about 4 minutes. But here's the catch - the generated code had some weird choices:
- Used MongoDB with deeply nested objects for simple todos (seriously, why does "task_title" need 4 levels of nesting?)
- Authentication was basic but functional (just JWTs, no refresh tokens)
- The frontend looked like ass but everything connected properly using Express.js
- Database connection had no retry logic (crashed if Mongo hiccupped)
Real deployment reality: Had to spend 2 hours fixing the database schema design and adding proper error handling before I'd trust it in production. The "10 minutes to MVP" claim is bullshit unless you're okay with code that falls over under real load.
Token economics pain: Hit the rate limit after 6 iterations trying to fix the auth flow. Each "regenerate this component" burns through tokens fast - went from free to $20/month real quick. Learned this the hard way when debugging session expiration at 11pm.
V0: The \"Pretty But Incomplete\" Tool
V0 generates gorgeous UI components but leaves you to wire everything together yourself. Note: V0 migrated from v0.dev to v0.app in August 2025, becoming more agentic and targeting non-technical users. Built by Vercel, it uses their ShadCN/UI design system and focuses purely on React frontend components.
What I tested: Same todo app prompt
Result: Got beautiful React components that looked professional as hell. But:
- No backend whatsoever (obviously) - you need your own API
- Had to manually connect to my own REST API
- Components assumed specific TypeScript interfaces that didn't match my backend
- Spent 3 hours figuring out state management between generated components using Zustand
- The Tailwind CSS was perfect but the TypeScript types were sometimes wrong
Integration hell: The generated components are gorgeous but they're built for V0's sandbox, not real apps. Connecting them to actual data required rewriting a bunch of prop interfaces and understanding component composition.
The Vercel lock-in: If you're not deploying to Vercel, you lose half the benefits. The "seamless integration" only works if you're all-in on their Next.js ecosystem.
Real Performance Numbers (Not Marketing Claims)
Built the same todo app with both tools, then stress tested them:
Bolt.new generated app:
- Initial load: like 2.3 seconds, maybe 2.5 depending on your connection
- First paint: 1.1s
- Database queries: Inefficient but functional
- Memory usage: 85MB (lot of unused dependencies)
- I think it was around 47 concurrent users before it shit the bed (no connection pooling)
V0 components + custom backend:
- Initial load: 1.8s (cleaner frontend)
- First paint: 0.9s
- Database queries: Optimized (I wrote them)
- Memory usage: 52MB (only imported what I needed)
- Handled 200+ concurrent users fine
Manual build:
- Initial load: 1.2s
- First paint: 0.6s
- Everything optimized for the specific use case
- 43MB memory usage
- Scales properly because I know what I'm doing
When Each Tool Actually Makes Sense
Use Bolt.new if:
- You need a working prototype in under an hour
- You don't know how to build backends
- You're okay with code that needs cleanup before production
- You're building standard CRUD apps (not anything complex)
Use V0 if:
- You already have a backend or know how to build one
- You care about UI/UX and want professional-looking components
- You're deploying to Vercel anyway
- You have time to handle the integration work
Build manually if:
- You need it to actually work in production without surprises
- Performance matters
- You're building anything non-standard
- You want to sleep well at night