GenWeb.ai is a full-stack SaaS platform that generates complete, branded websites from a single text prompt. It features Vision AI cloning, RAG-powered chat widgets, Brand Kit generation, GitHub portfolio generation, and a statistical A/B testing engine β built on the MERN stack with Razorpay payments.
π Live: gen-web-ai-one.vercel.app
- Prompt β Website β Describe your idea in one sentence. AI generates a fully branded, deployable HTML/CSS/JS website with logo, colors, copy, and all.
- Live Editor β Chat-based editor to modify any generated site. Changes stream in real-time in a live preview.
- One-Click Deploy β Publish any site to a shareable public URL instantly.
- Live Gallery β Browse all publicly deployed sites from the community.
- Enter a business description and AI generates a complete brand identity: SVG logo, color palette, typography pair, tagline, and a full branded website β all in one shot.
- Paste any website URL or upload a screenshot. AI clones the layout, color scheme, and structure into a new editable site.
- Drop a GitHub profile URL, add your name and LinkedIn bio. AI fetches your repos, detects skills from languages, and generates a premium developer portfolio β no writing required. Supports certification URLs and profile image uploads.
- Every generated site gets an embedded RAG-powered chat widget. Visitors can ask questions about the site and get accurate answers grounded in the site's content (Voyage AI embeddings + Groq LLM).
- Automatically generates a Variant B for any site section using GPT-4o. Tracks visits and clicks per variant. Calculates statistical confidence (Z-test). Nightly cron auto-declares a winner at β₯80% confidence with β₯100 visitors.
- Per-site visit and click tracking. Experiment dashboards with live CVR data.
- Credit-based system. Buy credits via Razorpay (INR). Credits never expire. Each website generation costs ~25 credits.
| Layer | Tech |
|---|---|
| Framework | React 19 + Vite |
| Styling | Tailwind CSS v4 |
| Animations | Framer Motion (motion/react) |
| State | Redux Toolkit |
| Routing | React Router v6 |
| Auth | Firebase (Google OAuth) |
| HTTP | Axios |
| Layer | Tech |
|---|---|
| Runtime | Node.js + Express 5 |
| Database | MongoDB + Mongoose |
| AI β Generation | OpenRouter (GPT-4o, Claude, Llama) |
| AI β Chat/RAG | Groq (Llama-3.3-70b) + Voyage AI (embeddings) |
| Storage | Cloudinary |
| Screenshots | Puppeteer |
| Auth | JWT (httpOnly cookies) + Firebase Admin |
| Payments | Razorpay |
| Rate Limiting | express-rate-limit |
| Security | Helmet |
| Cron | node-cron |
| Service | Platform |
|---|---|
| Frontend | Vercel |
| Backend | Railway |
| Database | MongoDB Atlas |
- Node.js v18+
- MongoDB Atlas cluster (or local MongoDB)
- API keys: OpenRouter, Groq, Voyage AI, Cloudinary, Razorpay, Firebase
git clone https://github.com/ARCHITVARMA15/GenWebAI.git
cd GenWebAIcd server
npm install
cp .env.example .env
# Fill in all values in .env
npm run devServer starts on http://localhost:5000.
PORT=5000
MONGODB_URL=mongodb+srv://<user>:<pass>@cluster.mongodb.net/mydb
JWT_SECRET=your_jwt_secret
FRONTEND_URL=http://localhost:5173 # For CORS
BACKEND_URL=http://localhost:5000 # Injected into generated site tracking scripts
# Cloudinary
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
# AI Providers
OPENROUTER_API_KEY=sk-or-v1-...
GROQ_API_KEY=gsk_...
VOYAGE_API_KEY=pa-...
# Payments
RAZORPAY_KEY_ID=rzp_test_...
RAZORPAY_KEY_SECRET=
NODE_ENV=developmentcd client/web
npm installCreate client/web/.env:
VITE_SERVER_URL=http://localhost:5000
VITE_FIREBASE_API_KEY=your_firebase_api_keynpm run devFrontend starts on http://localhost:5173.
Navigate to http://localhost:5173. Sign in with Google and start generating.
- Connect your GitHub repo to Railway.
- Set Root Directory to
server. - Set these environment variables in Railway:
- All variables from
.env.example NODE_ENV=productionFRONTEND_URL=https://your-vercel-domain.vercel.appBACKEND_URL=https://your-railway-domain.up.railway.app
- All variables from
- Railway auto-deploys on every push to
main.
- Connect your GitHub repo to Vercel.
- Set Root Directory to
client/web. - Set these environment variables in Vercel:
VITE_SERVER_URL=https://your-railway-domain.up.railway.app(must includehttps://)VITE_FIREBASE_API_KEY=your_firebase_api_key
- Vercel auto-deploys on every push to
main.
Important:
VITE_SERVER_URLmust include the fullhttps://prefix, otherwise requests will be treated as relative paths and fail with 404.
GenWebAI/
βββ client/
β βββ web/ # React + Vite frontend
β βββ src/
β β βββ pages/ # Home, Dashboard, Generate, Editor, Pricing, Gallery, Portfolio
β β βββ components/ # LoginModal, BrandKitGenerator, CloneWebsite, ShapeGrid, ...
β β βββ hooks/ # useGetCurrentUser, ...
β β βββ redux/ # userSlice, store
β β βββ config.js # serverUrl config
β βββ vercel.json # SPA rewrite rules
βββ server/ # Express backend
βββ controllers/ # auth, user, website, analytics, brand, clone, portfolio, ...
βββ routes/ # All API route definitions
βββ models/ # Mongoose schemas (User, Website, Experiment, ...)
βββ services/ # brandKitService, embeddingService, chatService, abTestingService
βββ middlewares/ # isAuth, rateLimiter
βββ jobs/ # experimentCron (nightly A/B evaluator)
βββ config/ # db, openRouter, aiModels
βββ index.js # Entry point
Proprietary. All rights reserved.