{
 "schema_version": "1.0",
 "id": "replit",
 "name": "Replit",
 "research_status": "researched",
 "vendor_domain": "replit.com",
 "category": "IT & Productivity",
 "task": "AI development, agents & data",
 "summary": "Browser-based coding environment with instant deploys and an AI agent. Billing is effort-based: each plan includes monthly credits that the Agent draws down at a rate you do not set, the credits expire monthly, and a complex agent session burns them fast, which makes production costs hard to budget.",
 "best_for": "developers, learners and tinkerers who want a zero-setup, browser-based coding environment with AI assistance",
 "skip_if": "you need a stable, cost-predictable production environment — the expiring-credit model makes AI-heavy usage hard to budget",
 "honest_knock": "The subscription price is fixed; the paid Agent work is not. Everyday building can run in Free Mode at no extra cost, within an allowance that resets every five hours on Core and Pro and a daily cap on Starter, but anything past it is billed by effort, and only Pro's unused credits roll over. Replit asks before each paid request starts and lets you set a budget, so set one before long sessions. Great for learning and prototyping; watch the meter for production work.",
 "pricing": {
  "status": "public",
  "entry_price": "$18",
  "entry_price_terms": "a month, billed annually ($20 billed monthly)",
  "from_price_usd_month": 18.0,
  "plans": [
   {
    "name": "Starter",
    "price": "Free",
    "includes": "daily Agent credits up to monthly cap; Free Mode with daily cap; no Full build; one app down after 30 days; 'Made with Replit' badge"
   },
   {
    "name": "Core",
    "price": "$20/month, or $18/month billed annually",
    "includes": "$20 toward top models; up to 30 hours chat; up to 60 projects; Free Mode, Plan mode, unlimited workspaces"
   },
   {
    "name": "Pro",
    "price": "$100/month, or $90/month billed annually",
    "includes": "$100 credits; 10 parallel agents; up to 15 collaborators; up to 50 viewers; 28-day database recovery window"
   },
   {
    "name": "Enterprise",
    "price": "quote-only",
    "includes": ""
   }
  ],
  "plans_source": "summarised from pricing.notes; every plan name and amount appears verbatim in those notes",
  "notes": "(re-verified 2026-09-26 on replit.com/pricing and docs.replit.com/billing/plans/starter-plan) The pricing page now lists Core, Pro and Enterprise. The free Starter plan is no longer shown there but still exists in Replit's documentation: daily Agent credits up to a monthly cap, Free Mode with a daily cap (the experience Replit used to call Lite build), no Full build (that needs Core or Pro), one published app that goes down after 30 days, and a 'Made with Replit' badge on it. Core is $20/month, or $18/month billed annually, and includes $20 towards the most powerful models, up to 30 hours of chat and up to 60 projects on Free Mode, Plan mode and unlimited workspaces. Pro starts at $100/month, or $90/month billed annually, with $100 of credits, 10 parallel agents, up to 15 collaborators, up to 50 viewers and a 28-day database recovery window (point-in-time restore; seven days is the standard window); a dropdown raises Pro to $225, $440, $850 or $2,050 a month ($215, $425, $825 or $2,000 billed annually) for more credits. Enterprise is quote-only. The number to watch is not the seat but the credits: Free Mode covers everyday Agent work at no extra cost within an allowance, and paid requests are priced by effort, so the monthly credit allowance is a starting balance rather than a budget. Replit asks before each paid request starts and lets you set a budget.",
  "verified_at": "2026-09-26",
  "source_url": "https://replit.com/pricing"
 },
 "free_plan": false,
 "free_plan_evidence": null,
 "cost_traps": [
  {
   "id": "usage_metered",
   "label": "Usage-metered",
   "evidence": "The free Starter plan is no longer shown there but still exists in Replit's documentation: daily Agent credits up to a monthly cap, Free Mode with a daily cap (the experience Replit used to call Lite build), no Full build (that needs Core or Pro), one published app that goes down after 30 days, and a 'Made with Replit' badge on it.",
   "verified_at": "2026-09-26",
   "source_url": "https://replit.com/pricing"
  }
 ],
 "compare_with": {
  "name": "GitHub Codespaces or a local IDE",
  "why": "other cloud dev environments"
 },
 "links": {
  "record": "https://aibuildermarketplace.com/api/v1/products/replit.json",
  "review": "https://aibuildermarketplace.com/b2b/replit-review/",
  "marketplace": "https://aibuildermarketplace.com/marketplace/replit/",
  "vendor_site": "https://replit.com"
 },
 "purchase": {
  "seller": "the vendor",
  "how": "AIBuilder Marketplace does not sell this software. Sign up, start a trial or buy on the vendor's site.",
  "handoff_url": "https://replit.com/signup?referral=dglhaket",
  "affiliate": true,
  "disclosure": "Where purchase.affiliate is true, purchase.handoff_url is an affiliate link: AIBuilder Marketplace may earn a commission at no extra cost to the buyer. Commission never changes what a record says, and products are not ranked by commission. Where it is false the link is the vendor's plain site."
 },
 "provenance": {
  "research": "hand-researched dossier, read on the vendor's own pages",
  "researched_since": "2026-07",
  "method": "https://aibuildermarketplace.com/how-we-review/",
  "license": "CC BY 4.0. Credit 'AIBuilder Marketplace' with a link to https://aibuildermarketplace.com/atlas/.",
  "note": "A rebuild is not a new measurement: pricing.verified_at is the date that matters."
 },
 "cost": {
  "status": "available",
  "engine": "https://aibuildermarketplace.com/agents/#cost",
  "rules": {
   "currency": "USD",
   "unit": "workspace",
   "axis": "users",
   "plans": [
    {
     "id": "starter",
     "name": "Starter",
     "model": "free",
     "max_units": 1,
     "evidence": "The free Starter plan is no longer shown there but still exists in Replit's documentation"
    },
    {
     "id": "core",
     "name": "Core",
     "model": "flat",
     "max_units": 1,
     "monthly": 20,
     "annual_month": 18,
     "evidence": "Core is $20/month, or $18/month billed annually"
    },
    {
     "id": "pro",
     "name": "Pro",
     "model": "flat",
     "max_units": 1,
     "monthly": 100,
     "annual_month": 90,
     "evidence": "Pro starts at $100/month, or $90/month billed annually"
    }
   ],
   "notes": [
    "Core includes $20 and Pro $100 of credits a month; paid requests are priced by effort."
   ],
   "not_computable": [
    "Usage beyond the included credits is billed on top; Replit asks before each paid request and lets you set a budget."
   ],
   "rules_verified_at": "2026-10-09"
  },
  "growth": {
   "annual": {
    "product_id": "replit",
    "currency": "USD",
    "axis": "users",
    "unit": "workspace",
    "billing": "annual",
    "rows": [
     {
      "units": 1,
      "cheapest_plan": "starter",
      "cheapest_plan_name": "Starter",
      "total_month": 0.0,
      "billed": {
       "amount": 0.0,
       "every": "month"
      },
      "ranges": [],
      "per_plan": {
       "starter": 0.0,
       "core": 18.0,
       "pro": 90.0
      }
     },
     {
      "units": 2,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 3,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 5,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 10,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 15,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 20,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 25,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 50,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 100,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     }
    ],
    "switch_points": [
     {
      "from_units": 1,
      "to_units": 2,
      "from_plan": "starter",
      "to_plan": null,
      "from_plan_name": "Starter",
      "to_plan_name": null
     }
    ],
    "conflicts": [],
    "unknowns": [
     "Usage beyond the included credits is billed on top; Replit asks before each paid request and lets you set a budget."
    ]
   },
   "monthly": {
    "product_id": "replit",
    "currency": "USD",
    "axis": "users",
    "unit": "workspace",
    "billing": "monthly",
    "rows": [
     {
      "units": 1,
      "cheapest_plan": "starter",
      "cheapest_plan_name": "Starter",
      "total_month": 0.0,
      "billed": {
       "amount": 0.0,
       "every": "month"
      },
      "ranges": [],
      "per_plan": {
       "starter": 0.0,
       "core": 20.0,
       "pro": 100.0
      }
     },
     {
      "units": 2,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 3,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 5,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 10,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 15,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 20,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 25,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 50,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     },
     {
      "units": 100,
      "cheapest_plan": null,
      "cheapest_plan_name": null,
      "total_month": null,
      "billed": null,
      "ranges": [],
      "per_plan": {
       "starter": "not_eligible",
       "core": "not_eligible",
       "pro": "not_eligible"
      }
     }
    ],
    "switch_points": [
     {
      "from_units": 1,
      "to_units": 2,
      "from_plan": "starter",
      "to_plan": null,
      "from_plan_name": "Starter",
      "to_plan_name": null
     }
    ],
    "conflicts": [],
    "unknowns": [
     "Usage beyond the included credits is billed on top; Replit asks before each paid request and lets you set a budget."
    ]
   }
  }
 },
 "unknowns": [
  "Contract terms (cancellation, data export, data location, minimum seats) are not researched as separate fields; pricing.notes mentions them only where the vendor's pricing page does."
 ],
 "task_evidence": {
  "structured_checks": [
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T01",
    "task": "Published at a public URL without logging in to the builder",
    "result": "partial_in_this_test",
    "raw_result": "partial",
    "result_after_repairs": "partial_in_this_test",
    "detail": "manual Publish click; free deployment temporary",
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T02",
    "task": "Next 14 days: Mon-Fri 07:00 and 18:30, Sat 09:00, no Sunday, 8 spots each",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T03",
    "task": "Booking with name and email lowers spots left by one, also after reload",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T04",
    "task": "Confirmation shows a unique manage link",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": "link behind a 'Manage this booking' button",
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T05",
    "task": "A full class cannot be booked: 10 simultaneous requests on an empty 8-spot class",
    "result": "failed_in_this_test",
    "raw_result": "fail",
    "result_after_repairs": "passed_in_this_test",
    "detail": "first version: 10 of 10 accepted, then GET /api/classes returned 500 and the public page showed 'No classes on the calendar yet.'; after repair 1: 8 accepted, 2 refused",
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T06",
    "task": "Same email cannot book the same class twice (also in capitals)",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T07",
    "task": "Manage link moves a booking: old class +1, new class -1",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T08",
    "task": "Manage link cancels a booking and frees the spot",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T09",
    "task": "Manage link contains a long random token, not a sequence number",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": "UUID; internal booking id is sequential but not in the link",
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T10",
    "task": "Admin page refuses access without or with a wrong password (UI and API)",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T11",
    "task": "Admin password not present in page source, JavaScript or URLs",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T12",
    "task": "Admin page lists all bookings per class, consistent with T03-T08",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T13",
    "task": "Admin can cancel a booking; spot freed, status visible",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T14",
    "task": "CSV export with exactly: class date, class time, name, email, status",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": "no protection against spreadsheet formula injection",
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T15",
    "task": "Empty name, name of only spaces and invalid email are refused (server side)",
    "result": "partial_in_this_test",
    "raw_result": "partial",
    "result_after_repairs": "passed_in_this_test",
    "detail": "first version saved a name of only spaces as empty",
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T16",
    "task": "Bookings still there after reload and after republishing",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": "republished after repair 1; all bookings present",
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T17",
    "task": "Schedule, booking and manage link usable at 390 px without sideways scrolling",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": null,
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   },
   {
    "source": "study",
    "study": {
     "slug": "one-booking-app-three-ai-builders",
     "title": "One booking app, three AI builders (hands-on test)",
     "page": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/",
     "run_date": "2026-09-26",
     "method": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/#method",
     "data": "https://aibuildermarketplace.com/research/one-booking-app-three-ai-builders/"
    },
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "plan": "Starter (free), separate new account",
    "task_id": "T18",
    "task": "Code can be exported (GitHub or zip) and data downloaded",
    "result": "passed_in_this_test",
    "raw_result": "pass",
    "result_after_repairs": "passed_in_this_test",
    "detail": "run on 26 September 2026: the project zip export held the full source and its git history, but no database contents. Outside Replit it installed and built with pnpm 10 (pnpm 12 refused) once PORT and BASE_PATH were set, and ran against our own empty Postgres: schema created, a booking accepted and counted, admin login refused with a wrong password. The admin password the agent chose is stored as a plain value in the project's .replit file and is in the git history, so it travels with every export.",
    "affiliate": "affiliate relationship",
    "in_catalog": true,
    "applies_to": "the product as it was on run_date, on the plan stated; a later version inherits nothing"
   }
  ],
  "sessions": [
   {
    "source": "session",
    "product_name": "Replit",
    "product_id": "replit",
    "run_date": "2026-09-26",
    "what": "On 26 September 2026 we built the same class-booking web app in Lovable, Replit and Emergent from one identical prompt, each on its free plan, and checked every result against 18 tests we wrote down before the first build. We changed no code: the builder only got our prompt and, where a test failed, a repair prompt in fixed words. Replit ran on a new Starter account, separate from the paid account Daan uses for his own project.",
    "findings": [
     "The Agent built a separate API and web app on PostgreSQL in 8 minutes of work by its own count, ran its own functional test and reported everything as passing. It did not publish by itself: publishing is a manual click, and on Starter the deployment is labelled temporary and will expire.",
     "Its own test booked one person at a time. When we sent ten bookings for an empty eight-spot class at the same moment, all ten were accepted, after which the class list returned an error and the public page showed 'No classes on the calendar yet.' until two bookings were cancelled.",
     "Given that exact description, the Agent added a database lock per class in two minutes; the same ten simultaneous bookings then gave exactly eight. The same repair stopped it accepting a name made only of spaces.",
     "On Starter the usage page is closed ('You must have an active subscription to view your own usage'), so you cannot see what a request cost, and the daily allowance was gone after the build and one repair."
    ],
    "not_tested": "One run on one day, on the free plan's agent mode; Core may behave differently. Not a security audit or a load test. The code export was run from the project zip: it built and ran outside Replit on our own database, and carried the admin password in plain text.",
    "report": "/research/one-booking-app-three-ai-builders/",
    "result": "reported",
    "note": "Findings as written up after the session; no pass/fail per task was scored.",
    "in_catalog": true
   }
  ]
 },
 "open_questions": [
  {
   "question_id": "replit:cancellation_terms",
   "key": "cancellation_terms",
   "question": "Can a customer cancel at any time, and what happens to an annual plan that is cancelled mid-term?",
   "status": "open"
  },
  {
   "question_id": "replit:data_export",
   "key": "data_export",
   "question": "Which data can a customer export, in which formats, on which plans?",
   "status": "open"
  },
  {
   "question_id": "replit:data_location",
   "key": "data_location",
   "question": "Where is customer data stored, and can a customer choose the region?",
   "status": "open"
  },
  {
   "question_id": "replit:pricing_gap_1",
   "key": "pricing_gap_1",
   "question": "Our price check could not put a number on this part of the cost: Usage beyond the included credits is billed on top; Replit asks before each paid request and lets you set a budget. Can you publish the price or the rule?",
   "status": "open"
  }
 ],
 "vendor_answers": [],
 "agent_channels": {
  "vendor_mcp": {
   "what": "Three tools — create_app_from_prompt, update_app_using_prompt and ask_question — letting an MCP client drive Replit Agent to build real apps.",
   "plan": "Works with a Free, Core, Pro or Enterprise account. What the underlying Agent runs cost is not specified in that documentation.",
   "status": "Beta",
   "source": "https://docs.replit.com/platforms/mcp-server",
   "checked": "2026-07-28",
   "note": "The vendor's own MCP server, from our MCP research; it works with your own account at the vendor."
  },
  "agent_checkout": {
   "status": "not_found",
   "detail": "No explicit support for purchases by AI agents on the vendor's own pages.",
   "checked_at": "2026-10-07",
   "method": "homepage, /pricing and the pricing page we cite, read as plain HTML (no JavaScript) and searched for explicit support of purchases by AI agents: Agentic Commerce Protocol, Instant Checkout, Agent Payments Protocol, buy in ChatGPT, agentic checkout"
  }
 },
 "feature_evidence": {
  "features": {
   "more_published_apps": {
    "label": "More than one published app",
    "phrases": [
     "more published apps",
     "several published apps",
     "unlimited published apps"
    ]
   },
   "remove_badge": {
    "label": "No builder badge on the app",
    "phrases": [
     "remove badge",
     "no badge",
     "remove the badge",
     "no builder badge"
    ]
   },
   "team_builders": {
    "label": "Several people building",
    "phrases": [
     "several builders",
     "collaborators",
     "team builders",
     "multiple builders"
    ]
   }
  },
  "evidence": [
   {
    "feature": "remove_badge",
    "plans": [
     "Core",
     "Pro"
    ],
    "quote": "Removing the “Made with Replit” badge from your published apps requires Core.",
    "context": "Starter plan documentation; Pro includes everything in Core.",
    "source": "https://docs.replit.com/billing/plans/starter-plan",
    "read_on": "2026-10-09"
   },
   {
    "feature": "more_published_apps",
    "plans": [
     "Core",
     "Pro"
    ],
    "quote": "Additional published apps beyond this require Core or Pro.",
    "context": "Starter gets one free published app, and 'This published link will automatically go down after 30 days.'",
    "source": "https://docs.replit.com/billing/plans/starter-plan",
    "read_on": "2026-10-09"
   },
   {
    "feature": "team_builders",
    "plans": [
     "Pro"
    ],
    "quote": "Up to 15 collaborators",
    "context": "On the Pro card of the pricing page.",
    "source": "https://replit.com/pricing",
    "read_on": "2026-10-09"
   }
  ],
  "note": "From the vendor's own pages, with plan, source and reading date. Documented by the vendor, not tested by us; our own tests are in task_evidence."
 }
}
