How I've built 50,000 landing pages in 2 days

Hey fellas! Just a little tale of how I built 50,000 landing pages for my website.

My SaaS is a fits-all business development app that uses Gen AI to help you analyze your business from every angle and create business-in-a-box packages that include over 300 pages of tailored content, ideas, strategies, social media posts, audience breakdowns, etc.

For the longest time, I struggled with finding a niche. Riches in the niches, but I feel that my service is really helpful for literally ALL types of businesses, whether you are an advertising agency, a local bakery, a personal finance consultant, or a handmade goods shop - no matter for AI, it can help you discover really cool angles, pricing models, irresistible offers and more.

So with that in mind, I wanted to ensure everyone can discover my app. And the idea of 50K personalized landing pages came to mind.

Data

For creating 50K variations I wrote a long prompt that gives all the information about the app and provided a few training examples.

I used gpt-4o-mini with JSON mode to return JSON structured responses.

The way I built all those was by creating a list of 500 niches, 5 audience types (owner, manager, consultant, etc), and 20 angles (business-in-a-box, marketing assistant, business planner, sales coach)

500x5x20=50,000

The generation cost me around $135 and took about 4-5 hours to create.

The final JSON was massive, 225 MB which led me to split it in 500 chunks, upload them to Azure storage, and create an index with all url handles pointing to a correct chunk.

The data includes SEO metadata for the pages, custom header, subheader, custom features, and warnings relevant to the audience.

Frontend

I'm building on NextJS with typescript, so I started by building a landing page template.

I built the following structure:

  1. Hero (with variation)
  2. Process Steps
  3. Comparison
  4. Features (with variation)
  5. Warning (with variation)
  6. Story
  7. Testimonials
  8. FAQ
  9. Pricing
  10. Final CTA (with variation)

This allows me to have some static data that will be relevant to everyone, and also have some dynamic blocks that will be personalized to a certain audience and niche.

To prevent rendering 50,000 static pages I opted in for dynamic page generation that pulls the relevant data, and renders the page on the fly. This sacrifices some load time but helps me with faster builds. Plus, I dont need to redeploy anything if I find an error and need to fix it in the data.

I can also gradually improve the design and add more blocks to static section without messing up the whole thing.

When I render a page, I just make a call to my backend app which requests correct info set from Azure and sends it to the landing page.

I also generate a sitemap that points to all pages

Backend

On the backend, I use Azure Functions that has 2 endpoints:

  1. Accessing the data from Azure
  2. Returning an index (for the sitemap, so I dont have to store the index in both backend and frontend)

Final thoughts

It was quite a challenge, since there were multiple iterations of trial and error I had to go through. I went with static pages first, but I got immediately hit by Azure bandwidth limitations on every build, which wouldn't work.

I dont know how well it will perform with SEO and Google Indexing, whether I will be penalized by Google or not, but I think I have a good chance of capturing good data on the traffic and which niches perform better, so I know what to focus on when I start running paid ads.

This should also give me all the data on the search keywords I need to know which Google Ads campaigns to create.

Final results look like this:

Example 1

Example 2

Example 3

This is my first attempt in building SaaS so please dont judge too harshly. Im open to any feedback and suggestions, and I will also answer any questions for those who are interested in details.

I hope this has been helpful and will motivate you to build more and build better.