This project is a web application that personalizes landing pages based on the content of an ad.
The goal is to improve how well a landing page matches the message of an ad, which is important for user experience and conversions.
The application takes:
- An ad (text, image, or URL)
- A landing page URL
It then:
- Extracts key information from the ad (headline, tone, call-to-action, etc.)
- Scrapes the landing page
- Modifies parts of the page (like headline and buttons)
- Generates a personalized version of the same page
The important part is that it keeps the original layout and only changes content where needed.
- Backend: FastAPI (Python)
- Frontend: React (pre-built and served as static files)
- Web Scraping: Playwright
- HTML Parsing: BeautifulSoup
- AI (optional): Gemini API
- Fallback logic: Rule-based (used when AI is unavailable)
- Deployment: Render (Docker)
- The user provides an ad and a website URL
- The backend:
- Analyzes the ad
- Loads the full website using Playwright
- Parses the HTML
- The system updates:
- Headline
- CTA buttons
- Adds a simple banner
- A modified version of the page is returned
- Works with real websites (including dynamic ones)
- Keeps original page structure intact
- Simple fallback logic if AI APIs are unavailable
- Generates a working personalized page instead of a mockup
git clone <repo>
cd AutoWebsite-Makercd backend
pip install -r requirements.txt
uvicorn main:app --reloadThe frontend is already built and stored in:
backend/static/
So no separate frontend setup is required.
The app is deployed on Render using Docker.
To avoid build issues on low-memory environments:
- The frontend is built locally
- The build files are copied into backend/static/
- The backend serves these files directly
This keeps deployment simple and reliable.
https://autowebsite-maker-1.onrender.com
- POST /analyze-ad
- POST /scrape-landing-page
- POST /generate-personalized-page
- GET /generated/{id}.html
- AI usage is optional — the system still works with fallback logic
- Some complex websites may not fully render as expected
- The project focuses more on the concept than full production readiness
MIT License