Prodify

Take your Lovable app to AWS.

Open source·Apache-2.0

Convert your project

Upload a .zip of your Lovable project. Prodify inspects it, runs the build if one is needed, and generates a CloudFormation template that hosts it on S3 and CloudFront, in an AWS account you control.

Drop your .zip here

or click to browse

Generates a CloudFormation template

…templates generated

How it works

01

Connect GitHub

Enable GitHub integration in Lovable.

02

Export

Download the repository as a ZIP from GitHub (Code → Download ZIP).

03

Convert

Upload the ZIP above. Prodify inspects the project and writes a template.

04

Deploy

Launch the stack in your AWS account. Your app is live at the SiteURL output.

A real migration

Mario's Nostalgia Bites is an unmodified Lovable export, a TanStack Start site for a fictional Italian restaurant, converted with Prodify and served from S3 and CloudFront. Compare the source with the result.

What gets generated

One CloudFormation template you can read before you deploy it. Every resource lands in your account, and the YAML is yours to keep, diff, or fold into your own infrastructure repo.

Deployed in your AWS account

Resources
AWS::S3::Bucket Private, all public access blocked
AWS::CloudFront::Distribution HTTPS by default. 403 and 404 fall back to index.html so client-side routes resolve
AWS::CloudFront::OriginAccessControl SigV4 origin signing
AWS::S3::BucketPolicy Scoped to that one distribution
AWS::IAM::Role Deployer role scoped to the bucket and its logs
AWS::Lambda::Function ContentDeployer, a container image pulled from Refaktr's registry in your region
Custom::ContentDeployer Uploads your built assets during stack creation
Outputs
SiteURL Your site. The custom domain if you set one, otherwise the CloudFront URL
CloudFrontURL The CloudFront URL, which works without a custom domain
CloudFrontDomainName Point a DNS CNAME or Route 53 alias here for a custom domain
DistributionId The CloudFront distribution ID
S3BucketName Bucket holding the built site

What it handles, and what it doesn't

Prodify v1 deploys the frontend. Your app keeps talking to its existing backend, and the generated stack is a starting point you should read before deploying.

Supported: Lovable exports with a build script, Vite + React or TanStack StartRuns bun run build, falling back to npm. For TanStack Start it enables prerendering in its build copy so a static site is produced.
Supported: Prebuilt dist/, build/, or .output/public/ foldersUploaded as-is.
Supported: Plain static HTML, CSS, and JavaScript
Not supported: Databases, auth, storage, and server functionsStay where they are. The app keeps calling them.
Not supported: Environment variables and secretsNot migrated.
Not supported: Custom domains and certificatesNot configured.
Not supported: Builds that need credentials or private registries, or take over 10 minutesBuild locally and upload the output folder.

How it converts your project

The upload and template generation run in Refaktr's AWS account, and nothing there is kept longer than 24 hours. The build runs in yours: the stack's ContentDeployer function pulls Prodify's container image from Refaktr's ECR, fetches your source, runs bun or npm, and uploads the output to your bucket.

Prodify AWS architecture