{
  "id": "no-code-full-stack-app",
  "title": "Build a full app with login and payments, no code",
  "category": "vibe-coding",
  "job": "Go from an idea to a published web app with sign-up, a database and a paid plan, without opening a terminal.",
  "difficulty": "Beginner",
  "tools": [
    {
      "id": "lovable",
      "name": "Lovable",
      "url": "https://lovable.dev",
      "kind": "app-builder",
      "summary": "Prompt-to-app builder with built-in hosting, database and auth (Lovable Cloud).",
      "open_source": false,
      "pricing": {
        "plans": [
          {
            "name": "Free",
            "usd_month": 0,
            "note": "5 daily build credits, capped at 30/month"
          },
          {
            "name": "Pro",
            "usd_month": 25,
            "note": "From $25/mo ($21/mo yearly), from 100 credits/month"
          },
          {
            "name": "Business",
            "usd_month": 50,
            "note": "From $50/mo, SSO and governance"
          }
        ],
        "source": "https://docs.lovable.dev/introduction/subscription-plans",
        "status": "verified",
        "notes": null
      },
      "last_checked": "2026-10-21"
    },
    {
      "id": "stripe",
      "name": "Stripe",
      "url": "https://stripe.com",
      "kind": "payments",
      "summary": "Payments, with a hosted MCP server at mcp.stripe.com.",
      "open_source": false,
      "pricing": {
        "plans": [
          {
            "name": "Pay per transaction",
            "usd_month": null,
            "note": "No monthly fee; 2.9% + 30¢ per successful US card charge"
          }
        ],
        "source": "https://stripe.com/pricing",
        "status": "verified",
        "notes": null
      },
      "last_checked": "2026-10-21"
    }
  ],
  "model": "Built into Lovable",
  "mcp_servers": [],
  "config": {
    "filename": "app-spec.md",
    "language": "markdown",
    "code": "# App spec\nWho it's for:\nThe one job it does:\nPages: landing, sign up / log in, dashboard, settings, pricing\nData: <each table, and what one row is>\nWho can see what: users only see their own rows\nPaid plan: <name>, <price>/month, unlocks <feature>\nOut of scope for v1:"
  },
  "starter_prompt": "Build this app from the spec below on the built-in backend (Cloud). Start with email sign-in and the dashboard. Every table needs row-level security so users only see their own data: show me the tables and access rules before you build pages. Then add the paid plan with built-in payments in test mode. After each step, tell me exactly what to click in the preview to test it. <paste app-spec.md>",
  "monthly_cost": {
    "min_usd": 0,
    "max_usd": 25,
    "note": "Lovable Free (5 build credits a day, 30 a month) is enough to try it and can take payments through your own Stripe account. Built-in payments need Pro, from $25/month ($21 billed yearly). Hosting and the backend use run credits; Free, Pro and Business currently include a 20-credit monthly Cloud grant (a temporary offer). Stripe charges 2.9% + 30¢ per successful US card payment."
  },
  "steps": [
    "Write the spec and keep v1 to one job; it saves credits.",
    "Paste the starter prompt into Lovable and approve the tables and access rules before any pages get built.",
    "Test sign-up and checkout in the preview with test cards; no real money moves there.",
    "Run the Deep security scan in the Security view and fix every Critical finding.",
    "Publish (a Quick scan runs automatically), then finish your payment provider's verification to go live."
  ],
  "why_this_works": "Lovable Cloud bundles the database, auth, storage and hosting, and built-in payments sets up the Stripe or Paddle account plus separate test and live environments for you, so there are no API keys or webhooks to wire by hand.",
  "watch_out": "The built-in scans catch common mistakes but don't replace a real review if you handle sensitive data. A project uses either built-in payments or your own Stripe account, not both. Selling physical goods? Lovable points you to its Shopify integration instead.",
  "unverified": [],
  "tested": false,
  "last_checked": "2026-10-21"
}