Lightz Camera Action Case Study Banner

A Lovable-Built Casting App That Apple Wouldn't Approve

The marketplace mostly worked, but its subscription flow and rejected iOS release blocked launch and monetization.

Lightz Camera Action
Casting & Talent Marketplace

Lightz Camera Action is a small US entertainment company. Its entertainment app is a casting and talent marketplace where actors, directors, producers, and writers each have their own paid subscription tier.

The app was built with Lovable, and most of it already worked. The part that didn't was the part that earns money: subscriptions and in-app purchases.

Apple had rejected the iOS release, and there was no in-house engineer to work out why. That's when Lightz Camera Action brought in TechAvidus.

The Core Challenge

Subscriptions and in-app purchases

The revenue-critical functionality wasn't working, and the iOS release had been rejected by Apple.

Why a Broken Subscription Flow Stopped the Whole Launch

The billing defects affected both the app's ability to earn revenue and its path through store review.

Business Challenge

Every paid feature in the entertainment app sits behind a subscription.

Purchase flow broken

Apple's review blocking release

Lightz Camera Action had no way to ship on iOS and no working revenue path on either platform. Until both problems were fixed, the launch could not go ahead at all.

Technical Challenge

Subscription and entitlement state had to stay consistent across Android, iOS, and the Supabase backend, including through renewals and plan upgrades.

The Cordova Purchase Plugin, the third-party bridge between native store billing and the hybrid app, was outdated and incompatible with current iOS requirements. It blocked iOS builds and App Store submission.

Apple had rejected the AI-built app under App Store Review Guideline 2.1 (Performance). Its requirements for subscription-gated access had to be met before approval was possible.

The code had been generated by Lovable and then edited by hand, so nobody could say for certain where the AI-generated logic and the backend rules disagreed.

What the Client Noticed First

During the rescue, the team uncovered and resolved issues beyond the ones initially reported.

Lightz Camera Action logo

"They proactively identified and solved additional bugs we hadn't noticed."

Oliver Turner · Lightz Camera Action

One Month, Two Engineers, and an App Store Approval

The team repaired the launch blockers, preserved the existing app, and delivered production builds for both platforms.

TechAvidus stabilized the existing app rather than rebuilding it. The platform underneath stayed as it was: a React front end generated with Lovable, a Supabase backend, and a Capacitor/Cordova wrapper that produces the Android and iOS builds.

1 Month
Delivery timeline
2
Engineers

The Work Covered

A structured audit of the existing codebase before any code changed

Fixes to subscription purchase validation, on the backend and in the app

An update to the outdated billing plugin that was breaking iOS builds

Subscription products set up and checked in Google Play Console and App Store Connect

The issues behind Apple's rejection resolved, followed by resubmission and approval

End-to-end testing of purchase, renewal, entitlement, and role-based access

Production releases to Google Play and the Apple App Store

The Delivery Team

Two engineers delivered it in one month in 2026: a React developer, and a Cordova and Supabase developer with deep experience reading Lovable-generated code.

React Developer

React front-end development

Cordova & Supabase Developer

Hybrid app and backend expertise

Lightz Camera Action has stayed in contact with the team since launch.

Fixing an AI-Generated App Without Rebuilding It Started With an Audit

Before changing code, the engineers reviewed the repository, dependencies, backend integration, and store billing setup.

Technical audit and application code review
Codebase Audit
Review before making changes

Understand Before Changing

Before changing anything, the team needed to know whether this codebase was worth keeping.

After an NDA and repository access, TechAvidus confirmed the source was the latest and complete, and that it was generated with Lovable.dev and later modified by hand. The review then traced how the AI generated app was put together and how it talked to Supabase. A dependency audit turned up the outdated Cordova Purchase Plugin. Checking both stores' billing setup against the server-side validation logic showed what was actually blocking production.

01

Keep the codebase. Fix the five places it was failing.

The architecture, UI, navigation, and most business modules were structurally sound. The failures sat in five areas: subscription purchase validation, role-based access enforcement, native billing plugin compatibility, store configuration, and deployment readiness. Because those problems were isolated and recoverable, a full rewrite would have added cost, delay, and delivery risk without a matching benefit.

02

Make the server the judge of who has paid.

The audit found gaps between the AI-generated front-end logic and the backend validation that should control access, mostly around subscriptions and roles. The team refactored the Supabase Edge Function so a Google Play or Apple receipt is validated server-side before any paid access is granted, then aligned the app-side code to match.

03

Update the outdated billing plugin.

The iOS build and submission failures traced back to an old version of the Cordova Purchase Plugin. Updating it restored compatibility with current iOS requirements.

How a Subscription Purchase Works in the App Today

With those fixes in place, every subscription purchase follows the same path on both platforms:

01

Choose a Plan

A user picks a paid plan for their role inside the app.

02

Native Purchase

The native store purchase flow runs: Google Play Billing on Android, Apple StoreKit on iOS, both bridged into the hybrid app by the Cordova Purchase Plugin.

03

Validate Receipt

The purchase receipt goes to a Supabase Edge Function, which validates it server-side.

04

Grant Entitlement

Only after validation does the backend grant or update the user's subscription entitlement.

05

Unlock Features

The user's role and plan then decide which dashboard modules and features they see.

Because access is decided in one place on the server, an actor on the same plan gets the same features on Android and iOS, and renewals and upgrades update that same record.

Existing Application Architecture

The rest of the system is the app Lightz Camera Action already had: the Lovable-generated React front end, wrapped by Capacitor/Cordova into native builds, with Supabase (Postgres) for data, Supabase Auth for email and password sign-in, and GitHub for version control.

React + Lovable Capacitor / Cordova Supabase Postgres Supabase Auth GitHub

The Stack Behind the Lightz Camera Action App

TechAvidus stabilized the existing React and Supabase app, wrapped for Android and iOS with Capacitor and Cordova.

Original Build Tool
Lovable (Lovable.dev)
Front End & Version Control
React, GitHub
Mobile Wrapper
Capacitor / Cordova (Android + iOS)
Backend Logic
Supabase Edge Functions
Database
Supabase (Postgres)
Authentication
Supabase Auth (email/password)
In-App Purchases
Cordova Purchase Plugin (cordova-plugin-purchase), Google Play Billing, Apple StoreKit
Store Consoles
Google Play Console, App Store Connect
Store Review Policies
Apple App Store Review Guidelines (Guideline 2.1, Performance), Google Play Developer Policy

What Actors, Directors, Producers, and Writers Use in the App

Most of the marketplace below was already generated and working when TechAvidus started. The audit confirmed it could be kept, and the team carried it into production intact. The engineering work went into the subscription layer.

Four Roles. One Marketplace.

A dedicated experience for every role

Each of the four roles gets its own home screen, quick actions, and navigation. Role-based access enforcement was one of the five problem areas the audit found, so the team verified that every role sees only the modules and calls to action meant for it. A director lands on casting tools; an actor lands on jobs and auditions.

Lightz Camera Action Case Study Banner
Discovery & Collaboration

Casting, talent discovery, and the script marketplace

This is the two-sided core of the app. Directors and producers create casting projects, discover talent, and review applications. Actors apply and submit auditions, and writers put scripts in front of the people who might produce them. Application status is tracked from submission onward.

Talent Discovery Casting Applications Script Marketplace
Engineering Focus

Subscriptions and in-app purchases

Tiered plans for each role gate access to premium features. This module was broken, and it's where Apple's review stopped. Users can now buy, renew, and upgrade a plan on Android or iOS and get the same access on either.

Messaging, notifications, and the schedule planner

Users message each other across roles. Notifications cover saves, shares, new followers, callbacks, and application status, and each type can be switched on or off. Callbacks and casting events land in a schedule planner.

Where Google Play, Apple, and Supabase Had to Agree

A paid plan has to mean the same thing in two separate store billing systems and one backend.

01

Google Play Billing

Android subscription purchases and renewals

02

Apple StoreKit

iOS subscription purchases and renewals

03

Cordova Purchase Plugin

Bridges both native billing systems into the Capacitor/Cordova app. Updated to fix the iOS incompatibility.

04

Supabase Edge Functions

Server-side receipt validation and entitlement updates

The Synchronization Challenge

The hard part was keeping entitlement state in sync across both stores and the backend through renewals and upgrades. On top of that, a plugin-level incompatibility stopped iOS builds before Apple would review anything.

Renewals Plan upgrades Entitlement consistency

From End-to-End Testing to Live on Both Stores

Before any production build went out, the team tested the full subscription lifecycle end to end.

1

Testing

Validate subscription purchase, renewal, entitlements, and role-based access end to end.

2

Release

Build and submit one production release to each store via Capacitor/Cordova.

3

Review

The app was resubmitted to Apple and approved.

4

Status

Live on both app stores.

Available on Both Stores

Lightz Camera Action

What the Rescue Delivered

The result was a working subscription experience, a resolved App Store rejection, and a launch on both platforms.

Cross-platform

Product Capability

Paid subscriptions work on both platforms: users can buy, renew, and upgrade a plan on Android or iOS, and the backend grants the same access either way.

Validated

Technical Outcome

No paid access without a validated receipt: Google Play and Apple purchases are checked server-side in a Supabase Edge Function before entitlement is granted.

iOS builds and App Store submissions work again, after the outdated Cordova Purchase Plugin was updated for current iOS requirements.

Delivery Evidence

Apple App Store approval secured after a rejection under Guideline 2.1 (Performance), following the plugin update, the validation fix, and reconfigured store products.

Live on Google Play and the Apple App Store, with purchase, renewal, entitlement, and role-based access validated end to end before release.

One month from first audit to Apple approval and live releases, delivered by two engineers.

In the Client's Words

Oliver shares how the team helped prepare the Lovable-built app for release.

Lightz Camera Action logo

"We needed help finalizing an iOS app built with Capacitor in Lovable before releasing it on the Apple Store. They proactively identified and solved additional bugs we hadn't noticed. Their speed was excellent, and we wrapped up everything in just one month. They really know how to make a Lovable-built app production-ready."

Oliver Turner · Lightz Camera Action

What This Means for Your AI-Built App

If you need to fix an AI-generated app without rebuilding it, here's what this project shows TechAvidus can do.

Make the stabilize-or-rebuild call from evidence.

The repository audit isolated Lightz Camera Action's failures to five recoverable areas before any code changed, so keeping the app was a decision backed by findings. That audit is where Lovable App Rescue work begins.

Fix billing across two stores and a backend at once.

Subscription access now holds across Google Play, Apple, and Supabase through renewals and upgrades. That's a cross-platform correctness problem, and a single-stack bug fix wouldn't have covered it.

Get through App Store review by fixing the cause, not after a resubmission and a hope.

Apple approved the app once the plugin, validation logic, and store setup were fixed. If your AI-built app is stuck at review, Vibe Coding Rescue starts with finding out why.

Know how a role-based marketplace app works from the inside.

The team has worked hands-on with a live casting marketplace's per-role plans, dashboards, and store rules, which carries over whether you're fixing a similar app or planning one.

Frequently Asked Questions

For Lightz Camera Action, it took one month. That covered the full sequence: the repository audit, the subscription validation and plugin fixes, store product setup in Google Play Console and App Store Connect, end-to-end testing, Apple approval, and live releases on both stores. Two engineers did the work. A month was possible here because the audit showed the problems were confined to five areas; an app with failures spread across the whole codebase would take longer.

Mostly how contained the broken areas are. Here, the failures sat in five specific places rather than across the whole system, which kept the work tight. Other factors: how many app stores need their own native billing integration (Android and iOS doubles the billing surface), whether a third-party plugin needs updating or replacing, and how much end-to-end testing the fix needs before resubmission. Subscription and payment logic needs more of it than a cosmetic fix does.

No. A rejection often traces to specific, fixable problems, not a flaw in the whole app. Lightz Camera Action's app was rejected under Guideline 2.1 (Performance). Apple approved it after three targeted fixes: an updated Cordova Purchase Plugin, corrected subscription validation in the Supabase backend, and reconfigured store products. The UI, navigation, and marketplace features stayed as they were. Audit first, then decide whether a rebuild is needed.

Because Lovable generates working UI and structure quickly, but it won't diagnose a cross-platform billing integration or work through a specific Apple rejection. Lightz Camera Action's blockers sat in native store billing, a third-party plugin's iOS compatibility, and server-side receipt validation in Supabase. Fixing them took engineers who could read the generated code and work directly inside Apple's and Google's billing and review requirements.

Yes. Lightz Camera Action's Lovable-built React app is live on both stores. Capacitor/Cordova wraps it into native Android and iOS builds, and paid plans run through each store's own billing: Apple StoreKit on iOS and Google Play Billing on Android, bridged into the app by the Cordova Purchase Plugin. The release work included setting up subscription products in App Store Connect and Google Play Console and getting the app through Apple's review.

Yes. This project gave the team hands-on, production-level knowledge of a role-based casting marketplace: separate dashboards for actors, directors, producers, and writers, a casting and script marketplace, and subscription tiers per role sold through both app stores. That carries over to fixing a similar app or planning one. If yours is already built on Lovable, the work starts with an audit, the same way it did here.

Relevant Case Studies

Why Founders Choose TechAvidus to
Stabilize Their AI-Generated Codebase

105+ Team Members | 11+ Years in Software & AI Engineering | 92% Client Satisfaction Rate
Top Rated Plus on Upwork (4.8/5) Google (4.7/5) Highly Rated On Clutch & GoodFirms

Stuck at App Store Review?

Got an AI-generated app stuck at App Store review, or a subscription flow that won't validate? Let's find out exactly what's broken, and fix it without starting over.

Explore Lovable App Rescue