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
…templates generated
How it works
Export
Download the repository as a ZIP from GitHub (Code → Download ZIP).
Convert
Upload the ZIP above. Prodify inspects the project and writes a template.
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