All articles

40 Hours with Lovable (AI Website/App Builder): The Hard-Won Lessons

Martin Leclercq5 min read

20 Hours with Lovable (AI Website/App Builder): The Hard-Won Lessons

I spent ~20 hours building a content-driven site with SEO needs, Supabase, and a bit of Web3. Lovable is fast and fun, but opinionated. Below I focus on points of attention (more than the pros), blending my hands-on notes with general community learnings.


TL;DR

  • Lovable ships React + Vite apps; great for speed, but there’s no built-in SSR like Next.js.
  • Toggle Chat Mode when you’re unsure; Agent Mode applies code changes.
  • If SEO is core, consider migrating to Next.js or adding an SSR/SSG layer.

Context

  • I built a small site over ~20 hours.
  • The goal here is to list watch-outs and practical tips rather than praise the obvious advantages.

Guardrails Before You Start

  • Know the stack: Front-end is React + Vite (often with Tailwind/shadcn). Don’t expect SSR out of the box.
  • Work in steps: Give one concise task at a time → review → iterate. Mega-prompts tend to spawn unnecessary scaffolding.
  • Chat vs Agent: Use Chat Mode for questions, planning, and audits; switch to Agent Mode only when you’re ready to apply code changes.

Things To Watch Closely (from my build)

  • Precision matters: Asking “add photo handling for SEO” led to a full upload/metadata subsystem I didn’t need. Be explicit about scope and fields.
  • Lovable adds boilerplate: I created a small component to standardize/clean Open Graph/Twitter meta (one source of truth) because multiple pages carried their own variations.
  • Code hygiene: Schedule periodic code reviews (unused/duplicate code, redundant helpers). Treat the agent like a junior dev and prune regularly (lovable provides some useful prompts to run in the chat)
  • SEO limits of SPA: React + Vite is fast to ship but can be weaker for SEO/OG previews on complex sites. If SEO is mission-critical, plan an SSR/SSG path (e.g., Next.js).
  • GitHub habits: Check the repo often. Lovable may add markdown guides or helper files when you ask deployment/config questions; keep or remove them intentionally.

Supabase: Power + Paper Cuts

  • Buckets & Edge Functions: During pivots/rollbacks, Lovable may not clean up resources automatically. Audit storage buckets, policies, and edge functions manually.
  • Free-tier sleep: On the free plan, projects can pause after inactivity; expect a “cold start” feeling unless you upgrade or add keep-alive strategies.
  • Security: Review RLS policies and permissions; don’t ship default-open data paths.

Assets & Images

  • Where images live: If you stay on Lovable hosting, assets may be served via their CDN. If you migrate, search for hard-coded URLs and move assets to your own storage/CDN.
  • Optimize early: Keep images in public/ optimized to avoid repo bloat and slow social previews.

Web3 Reality Check

  • Wallets & contracts: Not plug-and-play. You’ll wire common SDKs (e.g., Web3Modal, Wagmi, Web3Auth) yourself.
  • Expect custom code: Web3 “examples” are inspirational; real integrations still require engineering.

Hosting, Privacy & Branding

  • Visibility: Free projects can be public/remixable. Set private early if needed (paid feature) and confirm visibility before launch.
  • Branding: Remove the “Built with Lovable” badge if your plan allows it; do this during your first publish.
  • Robots/Sitemaps: Manage robots.txt and sitemap.xml in your codebase/hosting. Don’t expect server-level knobs like .htaccess.

Migration & “Don’t Switch Mid-Flight”

  • Avoid mid-project framework swaps: Switching from Vite to Next.js inside the same flow is risky. If SSR/SEO matters, plan a migration.
  • Post-migration cleanup: Remove Lovable-specific helpers, CDN references, and leftover guide files. Consider lint rules to catch platform-specific imports.
  • Next migration: You can use platforms like Next Lovable to migrate your project.
  • Clean Lovable code: If you want to remove every tag in Lovable code, you can use Delovable.

Security: Treat It Like Production

  • Audit generated code: Secrets handling, auth flows, input validation, and RLS rules deserve careful review.
  • Run checkers, then think: Automated security checks are a start; app-level logic still needs human attention.

Concrete Things I Ended Up Doing

  • Built a meta/OG sanitizer component so pages don’t fight over social tags.
  • Added a recurring “code audit” prompt: list unused components/functions, duplicated logic, and safe deletions.
  • Manually pruned Supabase buckets and edge functions during refactors.
  • Kept Chat Mode on for exploration; applied code changes only with clear diffs.

When Lovable Fits (and When It Doesn’t)

Great fit

  • Visual prototypes, landing pages, internal tools, UI-heavy demos.
  • Teams comfortable reading/refactoring React code.
  • Projects likely to migrate later (GitHub export is straightforward).

Use with care

  • Content sites that live/die on SEO.
  • Apps needing SSR/ISR, complex auth/DB policies, or on-chain interactions.
  • Projects where strict platform independence is required from day one.

Checklist You Can Copy

  • Set Project Visibility correctly; remove branding if your plan allows.
  • Use Chat Mode for research/audits; apply code changes intentionally.
  • Establish SEO primitives: a single OG pipeline, robots.txt, sitemap.xml, canonical rules.
  • Schedule code audits (dead/dup code; perf; a11y).
  • Lock down Supabase: RLS, storage policies, cleanup scripts for buckets/functions.
  • Decide early: stay SPA or migrate to Next.js for SSR/SEO. Do a dry run.

Final Take

Lovable is a fantastic accelerator if you treat it like an energetic junior engineer: give tight tasks, review the output, and own the architecture. For production-grade SEO, serious Web3, or complex data rules, budget time for audits—and keep a Next.js migration path in your back pocket.

Share

Keep reading