<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[badii.studio]]></title><description><![CDATA[Guides on launching Lovable, Bolt and Replit apps: Supabase RLS, Stripe webhooks, auth emails and custom domains. By Badii Boutar.]]></description><link>https://badii-studio.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ae3302f4deae639dc758184/ef2473cc-99d8-4182-8609-c7567e65cd51.png</url><title>badii.studio</title><link>https://badii-studio.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 12:37:13 GMT</lastBuildDate><atom:link href="https://badii-studio.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Who can fix my Lovable app before launch?]]></title><description><![CDATA[I can, and so can a certified Lovable partner, a freelancer or an agency. Small bugs you can often fix yourself with prompts. I am a senior full-stack…]]></description><link>https://badii-studio.hashnode.dev/who-can-fix-my-lovable-app-before-launch</link><guid isPermaLink="true">https://badii-studio.hashnode.dev/who-can-fix-my-lovable-app-before-launch</guid><category><![CDATA[lovable]]></category><category><![CDATA[supabase]]></category><category><![CDATA[Security]]></category><dc:creator><![CDATA[Badii Boutar]]></dc:creator><pubDate>Thu, 05 Nov 2026 13:08:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae3302f4deae639dc758184/8778ec24-edcc-4aa9-8c38-8f90fb5ba2a9.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I can, and so can a certified Lovable partner, a freelancer or an agency. Small bugs you can often fix yourself with prompts. I am a senior full-stack engineer who reviews, fixes and launches Lovable apps, at published prices starting with a $995 Tech Check.</p>
<blockquote>
<p>A scan finished in March 2025 checked the homepages of 1,645 Lovable sites and found 303 exposed endpoints across 170 of them, about 10.3% (CVE-2025-48757).</p>
<p>Source: <a href="https://mattpalmer.io/posts/statement-on-CVE-2025-48757/">Matt Palmer</a>, 29 May 2025</p>
</blockquote>
<h2>What usually breaks in a Lovable app</h2>
<p>Lovable writes a React front end and gives it a backend: its built-in Cloud, or a Supabase project you connect yourself. The front end usually talks to the database directly, so the access rules on each table are what stop one user from reading another user’s data.</p>
<ul>
<li>Row-level security off, or rules that let any logged-in user read every row.</li>
<li>Stripe payments that work in test mode but never update the database in production.</li>
<li>Password reset and magic links that point to localhost or the preview URL.</li>
<li>A secret key in the front-end code or the GitHub repo. Supabase’s secret key skips every row-level security rule.</li>
<li>No tested way back. Reverting a version in Lovable restores your code, not your database data.</li>
<li>No separate test database. A Git branch does not give you one, so a test can touch real users’ data.</li>
</ul>
<p><img src="https://badii.studio/images/lovable-sites-exposed-endpoints-scan.png" alt="Grid of 100 squares with about 10 highlighted: 170 of 1,645 Lovable sites, about 10.3%, had exposed endpoints in a scan finished in March 2025. The scan covered homepages only." /></p>
<p><em>The scan is from March 2025 and covered homepages only, not logged-in pages. Its author works at Replit, a competitor. Lovable has added security scans since, so treat this as a sign of the risk, not a current rate.</em></p>
<h2>Who can fix it</h2>
<p>It depends on what a mistake would cost you. If the app holds user data or takes payments, have a senior engineer read it before launch. If it is one small bug and a mistake is cheap, the cheaper routes are fine.</p>
<ul>
<li>You, with prompts. Good for layout, copy and small bugs. Lovable scans your database rules every time you publish, and its docs say these tools “do not replace a thorough security review”.</li>
<li>A Fiverr gig. Good for one small bug you can describe in a sentence. On 29 Oct 2026, gigs for “lovable app fix” had a median starting price of $35, before Fiverr’s buyer fee.</li>
<li>An Upwork freelancer. Upwork lists $16 to $35 an hour for full-stack developers and $51 to $75 for React developers. Ask to see row-level security work they have done, not just React.</li>
<li>A certified Lovable partner. Lovable lists Experts and Solution Partners in its own directory. Prices are not published, so you agree them with the partner.</li>
<li>An agency. Good for a big app and a team of several people. Relux, for example, publishes a $3,000 rescue audit, then fixes from $10,000 up to about $40,000.</li>
<li>Me. One senior engineer, fixed published prices, and you talk to the person doing the work. The details are below.</li>
</ul>
<p><img src="https://badii.studio/images/lovable-app-fix-cost-by-route.png" alt="Range chart of Lovable fix prices, October 2026, on a log scale: Lovable Pro $25 a month, Fiverr gigs $5 to $750 with a $35 median, Upwork fixed budgets $5 to $4,000 with a $500 median, badii.studio Tech Check $995, Relux audit $3,000, Relux fixes $10,000 to $40,000." /></p>
<p><em>Prices were read on 29 Oct 2026, and the Relux prices again on 5 Nov 2026. These routes buy different amounts of work, so a higher price usually means a bigger scope. The full breakdown is at badii.studio/cost-to-fix-lovable-app.</em></p>
<h2>Six checks you can do today</h2>
<ul>
<li>Database rules. In Supabase, open Advisors, then Security Advisor. An error saying RLS is disabled on a public table means anyone with your project URL can read, edit and delete that data. On Lovable Cloud, read the results of the security scan.</li>
<li>Two test users. Log in as one user, open the browser network tab, and find a request for that user’s data. If changing the user id in it returns another user’s rows, your rules are too open.</li>
<li>A real payment. Pay once in live mode, then refund it. The plan in your app should change, and Stripe should show the delivery as successful under Workbench, Webhooks, Event deliveries.</li>
<li>Password reset. Send yourself a reset email from the live app. The link has to open your live domain, not localhost or a preview URL.</li>
<li>Secret keys. Search the repo and the site’s loaded JavaScript for sb_secret_, service_role and sk_live_. You want zero hits. If you find one, replace the key, because deleting the line does not make it safe.</li>
<li>A way back. Find out where your database backup is before you need it. Lovable Cloud keeps daily backups for about 14 days, Supabase backs up paid plans daily, and on the Supabase Free plan you export your own.</li>
</ul>
<p><img src="https://badii.studio/images/lovable-app-launch-checklist.png" alt="Checklist of six checks before launching a Lovable app: database rules, two test users, a real payment, password reset, secret keys, and a way back." /></p>
<p><em>The same six checks on one page, for your team or your next launch.</em></p>
<h2>What I do</h2>
<p>I connect to your GitHub repo and your backend with read-only access, read the code and the access rules by hand, and test the flows that matter: sign-up, payment, reset, and data access between users. You keep building in Lovable. I fix in the same repo, and Lovable’s GitHub sync works both ways, so my changes show up in your project.</p>
<h2>How it works</h2>
<ul>
<li>Free teardown: a 5 to 10 min recording of what a stranger can see and break in your live Lovable app.</li>
<li>Tech Check, $995, one time: I read the code and the backend and send findings ranked by risk and a written plan in 5 business days.</li>
<li>Builder seat, $4,995 a month: the issues fixed one request at a time, then the app taken live. Pause or cancel anytime.</li>
</ul>
<h2>Sources</h2>
<ul>
<li><a href="https://mattpalmer.io/posts/statement-on-CVE-2025-48757/">Matt Palmer, Statement on CVE-2025-48757</a>, 29 May 2025</li>
<li><a href="https://docs.lovable.dev/integrations/cloud">Lovable docs, Built-in backend</a>, read 5 Nov 2026</li>
<li><a href="https://docs.lovable.dev/features/security">Lovable docs, Security</a>, read 5 Nov 2026</li>
<li><a href="https://docs.lovable.dev/features/projects/history">Lovable docs, Version history</a>, read 5 Nov 2026</li>
<li><a href="https://docs.lovable.dev/features/database-backups">Lovable docs, Database backups</a>, read 5 Nov 2026</li>
<li><a href="https://docs.lovable.dev/integrations/git-integration">Lovable docs, GitHub integration</a>, read 5 Nov 2026</li>
<li><a href="https://lovable-partner-directory.lovable.app/">Lovable partner directory</a>, read 5 Nov 2026</li>
<li><a href="https://supabase.com/docs/guides/database/database-advisors">Supabase docs, Database advisors</a>, read 5 Nov 2026</li>
<li><a href="https://supabase.com/docs/guides/api/api-keys">Supabase docs, API keys</a>, read 5 Nov 2026</li>
<li><a href="https://supabase.com/docs/guides/auth/redirect-urls">Supabase docs, Redirect URLs</a>, read 5 Nov 2026</li>
<li><a href="https://supabase.com/docs/guides/platform/backups">Supabase docs, Database backups</a>, read 5 Nov 2026</li>
<li><a href="https://docs.stripe.com/webhooks">Stripe docs, Receive Stripe events in your webhook endpoint</a>, read 3 Nov 2026</li>
<li><a href="https://www.upwork.com/resources/upwork-hourly-rates">Upwork, Hourly Rates by Skill and Experience</a>, 12 May 2026</li>
<li><a href="https://www.upwork.com/nx/search/jobs/?q=lovable&amp;sort=recency">Upwork job search for “Lovable”, 100 most recent posts</a>, read 29 Oct 2026</li>
<li><a href="https://www.fiverr.com/search/gigs?query=lovable%20app%20fix">Fiverr search for “lovable app fix”, first page</a>, read 29 Oct 2026</li>
<li><a href="https://lovable.dev/pricing">Lovable pricing</a>, read 29 Oct 2026</li>
<li><a href="https://relux.works/en/vibe-code-rescue/">Relux, Vibe-Code Rescue</a>, read 5 Nov 2026</li>
</ul>
<hr />
<p><em>First published on <a href="https://badii.studio/lovable">badii.studio</a>. I review and fix apps built with Lovable, Bolt and other AI tools before launch. If yours has a bug like this, <a href="https://badii.studio/audit">book a Tech Check</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Why isn’t my Stripe webhook updating Supabase?]]></title><description><![CDATA[Paid in Stripe but your app still shows the free plan? The usual causes and the fix for Stripe webhooks with Supabase.]]></description><link>https://badii-studio.hashnode.dev/why-isn-t-my-stripe-webhook-updating-supabase</link><guid isPermaLink="true">https://badii-studio.hashnode.dev/why-isn-t-my-stripe-webhook-updating-supabase</guid><category><![CDATA[supabase]]></category><category><![CDATA[webhooks]]></category><category><![CDATA[webdev]]></category><category><![CDATA[stripe]]></category><dc:creator><![CDATA[Badii Boutar]]></dc:creator><pubDate>Tue, 03 Nov 2026 12:31:59 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae3302f4deae639dc758184/bd9060e5-69c8-45c2-8601-6d33674d3b8f.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Usually because the webhook points to the wrong URL, fails its signature check, or is blocked by database rules when it writes.</p>
<blockquote>
<p>In live mode, Stripe retries a failed webhook for up to three days. Signature checks need the raw request body, so parsing it first makes every event fail.</p>
<p>Source: <a href="https://docs.stripe.com/webhooks">Stripe docs, Webhooks</a>, read 3 Nov 2026</p>
</blockquote>
<h2>The usual causes</h2>
<ul>
<li>The endpoint is registered in a sandbox or test mode only, or still points to a preview URL.</li>
<li>The signing secret in your environment is from a different endpoint or mode, so every event fails verification.</li>
<li>The handler parses the body as JSON before verifying it. Stripe signs the raw body, so the check fails.</li>
<li>The handler is a Supabase Edge Function with JWT verification left on, the default. Stripe sends no Supabase token, so every call gets a 401. Set verify_jwt = false for that function, or deploy it with --no-verify-jwt, and rely on the Stripe signature check instead.</li>
<li>In an Edge Function, the code reads the body with req.json() or calls constructEvent. Read it with await req.text() and verify it with constructEventAsync and Stripe.createSubtleCryptoProvider(), as in the Supabase example.</li>
<li>The handler writes with the anon key, and row-level security blocks the write.</li>
<li>The table is new and has no grants. Since 30 October 2026, Supabase no longer grants new tables to the API roles, so the write fails with a 42501 permission denied error, even with the service_role key.</li>
<li>The function times out or returns an error, and nothing logs it.</li>
<li>The app listens for the wrong event, for example checkout.session.completed but not invoice.paid for renewals.</li>
</ul>
<h2>How a reliable setup looks</h2>
<ul>
<li>One endpoint per environment, each with its own signing secret.</li>
<li>Signature verified on the raw body before anything else.</li>
<li>Writes done server-side with a key that never reaches the browser.</li>
<li>Each event ID stored, so a retried event is not processed twice.</li>
<li>A 2xx response only after the event is safely stored, with slow work moved to a queue so Stripe does not time out.</li>
<li>A way to compare Stripe and your database, and fix any that disagree.</li>
</ul>
<h2>Where to look first</h2>
<p>In the Stripe dashboard, open Workbench, then Webhooks, pick your endpoint and open Event deliveries. Click a failed delivery to see its HTTP status code. A 400 usually means a signature problem, a 401 or 403 an auth problem, a 404 a wrong URL, and a 500 an error in your handler.</p>
<p>In a sandbox, Stripe retries a failed event only three times over a few hours, so a broken test endpoint goes quiet fast. You can resend an event from the dashboard for up to 15 days.</p>
<h2>Sources</h2>
<ul>
<li><a href="https://docs.stripe.com/webhooks">Stripe docs, Receive Stripe events in your webhook endpoint</a>, read 3 Nov 2026</li>
<li><a href="https://supabase.com/docs/guides/functions/function-configuration">Supabase docs, Function configuration</a>, read 3 Nov 2026</li>
<li><a href="https://github.com/supabase/supabase/blob/master/examples/edge-functions/supabase/functions/stripe-webhooks/index.ts">Supabase example, Stripe webhooks Edge Function</a>, read 3 Nov 2026</li>
<li><a href="https://supabase.com/changelog/45329-breaking-change-tables-not-exposed-to-data-and-graphql-api-automatically">Supabase changelog, Tables not exposed to Data and GraphQL API automatically</a>, read 3 Nov 2026</li>
</ul>
<hr />
<p><em>First published on <a href="https://badii.studio/stripe-webhook-not-updating-supabase">badii.studio</a>. I review and fix apps built with Lovable, Bolt and other AI tools before launch. If yours has a bug like this, <a href="https://badii.studio/audit">book a Tech Check</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[How much does it cost to fix a Lovable app?]]></title><description><![CDATA[Anywhere from about $35 to $40,000, depending on who does the work and how much of the app needs it. A single bug fix on Fiverr starts around $35, Upwork…]]></description><link>https://badii-studio.hashnode.dev/how-much-does-it-cost-to-fix-a-lovable-app</link><guid isPermaLink="true">https://badii-studio.hashnode.dev/how-much-does-it-cost-to-fix-a-lovable-app</guid><category><![CDATA[Web Development]]></category><category><![CDATA[startup]]></category><category><![CDATA[Security]]></category><category><![CDATA[lovable]]></category><dc:creator><![CDATA[Badii Boutar]]></dc:creator><pubDate>Thu, 29 Oct 2026 12:10:44 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae3302f4deae639dc758184/d13ed8a5-4142-4e1b-a764-4ee75e78102a.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Anywhere from about $35 to $40,000, depending on who does the work and how much of the app needs it. A single bug fix on Fiverr starts around $35, Upwork lists full-stack and React developers at $16 to $75 an hour, and agencies that publish rescue prices charge a few thousand dollars for an audit and $10,000 to $40,000 for a full rescue.</p>
<blockquote>
<p>Upwork lists typical rates of $16 to $35 an hour for full-stack developers, $51 to $75 for React developers and $60 to $120 for penetration testers.</p>
<p>Source: <a href="https://www.upwork.com/resources/upwork-hourly-rates">Upwork, Hourly Rates by Skill and Experience</a>, 12 May 2026</p>
</blockquote>
<h2>Prices by route, October 2026</h2>
<ul>
<li><strong>Doing it yourself:</strong> <a href="https://lovable.dev/pricing">Lovable Pro</a> is $25 a month for 100 credits, and Business is $50. You can top up credits when you run out. The real cost is your time, and the chance that a prompt hides the symptom and leaves the cause.</li>
<li><strong>Fiverr:</strong> on 29 Oct 2026, the first page of results for "lovable app fix" showed 52 gigs. Starting prices ran from $5 to $750, and the median was $35. That price is the smallest package, and Fiverr adds a buyer service fee at checkout.</li>
<li><strong>Upwork freelancers:</strong> Upwork's own rate guide lists $16 to $35 an hour for full-stack developers, $51 to $75 for React developers, $40 to $90 for cybersecurity developers and $60 to $120 for penetration testers.</li>
<li><strong>What Upwork clients offer:</strong> I read the 100 most recent Upwork job posts matching "Lovable", posted over about two weeks up to 29 Oct 2026. The 35 fixed-price posts had a median budget of $500, from $5 up to $4,000. Half of the hourly posts capped the rate at $30 or less.</li>
<li><strong>Agencies, hourly:</strong> a <a href="https://litslink.com/blog/top-vibe-coding-cleanup-service-companies-in-the-us">LITSLINK list</a> of ten US companies that clean up vibe-coded apps puts their rates between $25 and $99 an hour.</li>
<li><strong>Agencies, fixed packages:</strong> <a href="https://relux.works/en/vibe-code-rescue/">Relux</a> publishes a $3,000 rescue audit (1 week), a stabilization sprint from $10,000 (2 to 3 weeks) and a full rework at $15,000 to $40,000. <a href="https://rockingtech.co.uk/blog/what-it-actually-costs-to-fix-a-vibe-coded-mvp">Rocking Tech</a> in the UK charges £1,950 for a code health review, and cites market prices from £5,000 for light stabilisation and £15,000 to £40,000 for a backend rebuild.</li>
</ul>
<h2>Why the numbers are so far apart</h2>
<p>The cheap end and the expensive end are buying different things. A $35 gig fixes one bug you can describe in a sentence, like a button that does nothing or a form that won't submit. An agency audit reads the whole codebase, the database rules and the payment flow, then writes up what it found. The hourly rate matters less than the number of hours, and nobody knows that number until someone has looked at the code.</p>
<p>The Upwork budgets show the same gap. $500 buys about 14 hours at $35 an hour, or 4 to 8 hours at a security tester's rate. That covers one or two contained fixes. It rarely covers a review of the whole app. One Lovable and Supabase security review posted at $1,500 had more than 50 proposals three days later. Getting offers is easy. Telling which of those 50 people will actually check your database rules is the hard part.</p>
<h2>What usually needs fixing</h2>
<p>Security comes up most often, and the public scans show why.</p>
<ul>
<li>In May 2025, <a href="https://mattpalmer.io/posts/statement-on-CVE-2025-48757/">a scan of 1,645 Lovable projects</a> found exposed Supabase endpoints in 170 of them, about 10.3% (CVE-2025-48757).</li>
<li>In October 2025, <a href="https://escape.tech/blog/methodology-how-we-discovered-vulnerabilities-apps-built-with-vibe-coding/">Escape scanned more than 5,600 public apps</a> built on vibe-coding platforms, most of them on Lovable. It found more than 2,000 vulnerabilities, over 400 exposed secrets and 175 cases of exposed personal data.</li>
<li><a href="https://www.veracode.com/press-release/ai-generated-code-poses-major-security-risks-in-nearly-half-of-all-development-tasks-veracode-research-reveals/">Veracode tested more than 100 AI models</a> on 80 coding tasks in 2025. When there was a safe and an unsafe way to write the code, the models picked the unsafe one 45% of the time.</li>
</ul>
<h2>What makes one app cost more than another</h2>
<ul>
<li><strong>Payments.</strong> Every plan, product and webhook is one more flow to test from start to finish.</li>
<li><strong>User roles.</strong> An app with admins, teams and customers needs a database rule for every table and every role.</li>
<li><strong>How much code the AI wrote.</strong> Long prompting sessions often leave duplicate components and dead code that someone has to read before changing anything.</li>
<li><strong>No staging copy.</strong> Without a place to test, every fix goes straight to real users, so it has to be slower and more careful.</li>
<li><strong>Fix or finish.</strong> Fixing what exists costs less than fixing it and also building the features that were never finished.</li>
</ul>
<h2>Hourly or fixed price?</h2>
<p>With an hourly contract, you carry the risk. If the job takes twice as long, you pay twice as much. With a fixed price, the developer carries it, which is why fixed quotes usually come after an audit or a call. Either way, get the scope in writing: which issues, what counts as done, and what happens if more turns up.</p>
<h2>How to keep the bill down</h2>
<ul>
<li>Write down every bug you already know about, with the steps to see it. Paying someone to rediscover them is wasted money.</li>
<li>Fix security before features. A data leak costs more than a late feature.</li>
<li>Give read-only access first. Never send production keys, the Supabase service_role key or an admin password in a chat message.</li>
<li>Set up a second Supabase project for testing, so fixes are checked away from real users.</li>
<li>Agree how you will both work on the repo, so your next Lovable prompt doesn't undo a fix.</li>
</ul>
<h2>Where my prices sit</h2>
<p>I sell this work, so here are my numbers next to the ones above. A Tech Check is $995, one time, and takes 5 business days. If it doesn't find at least 5 concrete, actionable issues, it's free. The fixes are done on the Builder seat, $4,995 a month: a flat monthly price, one request at a time, pause or cancel anytime. One blocker is one request. A bigger fix is split into requests, and how many months it takes depends on your app. The Tech Check fee is credited to your first month if you start a seat within 14 days.</p>
<p>The Tech Check costs more than the $500 median fixed budget in the Upwork posts above, and less than the $3,000 Relux rescue audit or Rocking Tech's £1,950 code health review. One month on the Builder seat costs more than most of those Upwork budgets and is under the agency stabilization sprint that starts at $10,000. Even two months, $9,990, is just under it. Which one fits depends on how much of your app needs work, and an audit from anyone is the cheapest way to find out.</p>
<hr />
<p><em>First published on</em> <a href="https://badii.studio/cost-to-fix-lovable-app"><em>badii.studio</em></a><em>. I review and fix apps built with Lovable, Bolt and other AI tools before launch.</em></p>
]]></content:encoded></item></channel></rss>