Launch your landing page with automated CI/CD, CloudFront CDN, and HTTPS. No need for vercel or any other hosting provider than your own AWS account.
Perfect for MicroSaaS founders who ship fast. GitHub Actions handles everything.
Enter your domain name to generate the project name
Certificate must cover both domain.com and www.domain.com
Follow these steps in AWS Certificate Manager (ACM).
Paste the ARN from the certificate you just created
Download and run the project locally. (2 Minutes).
Set up your AWS infrastructure. (5 Minutes).
Before deploying the CloudFormation stack, make sure your ACM certificate status is Issued (not Pending validation).
โฑ๏ธ This can take up to 30 minutes after completing DNS validation.
In CloudFormation console:
assets/cloudformation.yaml
from your local folder
Configure your domain to use CloudFront. (2 Minutes).
CloudFrontDomainName
value (e.g.,
d1234abcd.cloudfront.net).
At your DNS provider (Cloudflare, GoDaddy, Namecheap, etc.):
CNAME
pointing to your CloudFront domain
ALIAS
or
ANAME
if supported, or a flattened CNAME (Cloudflare
supports this)
Note: www.example.com automatically redirects to example.com via CloudFront.
ALIAS
or
ANAME
if supported, or a flattened CNAME (Cloudflare
supports this)
Note: Only the apex domain is configured (no www redirect).
Connect GitHub Actions to AWS. (2 Minutes).
Go to GitHub โ your repo โ Settings โ Secrets and variables โ Actions โ Variables tab . Add these 3 variables:
AWS_ROLE_ARN
โ
GitHubRoleARN from stack outputs
S3_BUCKET
โ
SiteBucketName from stack outputs
CLOUDFRONT_ID
โ
CloudFrontId from stack outputs
Replace all
DoNotSubmit
instances with your actual content:
src/main.js
๐ค AI Assistant Prompt (Copy & Paste):
Find all instances of "DoNotSubmit" (case-insensitive)
in my codebase and help me replace them. I have files
with: - index.html: meta tags with title, description,
og:title, og:description, og:site_name, og:url, twitter
tags - replace "DoNotSubmit" with appropriate values -
package.json: package name
"donotsubmit_enter_your_project_name" - replace with a
valid npm package name - src/main.js: comments
containing "DoNotSubmit" - remove these comments -
src/toDelete.js: delete this entire file (it's template
code that's no longer needed) Also, update src/main.js
to remove any imports from "./toDelete" after deleting
that file. Generate a script or step-by-step
instructions to replace all instances
appropriately.
๐ก Manual Method (VS Code / Any Editor):
Use Ctrl+H (or Cmd+H on Mac), enable regex, and search:
(?i)DoNotSubmit
Replace with your actual title/name/description as needed in each context.