1.9 KiB
1.9 KiB
Web On The Fly
Flask app that streams AI-generated fake websites via Server-Sent Events (SSE). Each visit generates a unique, realistic-looking website on the fly.
How it works
- Visit
/→ you see a loading page with a spinner and live character counter - The client opens an SSE connection to
/stream - The server calls an LLM (OpenAI-compatible API) to generate a complete HTML page
- Chunks are base64-encoded and streamed back via SSE
- Client buffers chunks in-memory, then replaces the document when generation is done
Each page is randomized: different site type (fake store, wiki, blog, forum, etc.), theme, and mood.
Local dev with Podman
Build:
podman build -t localhost/web-on-the-fly:latest -f Containerfile .
Run (requires .env with OPENAI_API_KEY):
podman run --env-file .env -p 5000:5000 localhost/web-on-the-fly:latest
Environment variables
Loaded from .env via python-dotenv:
| Variable | Required | Default | Description |
|---|---|---|---|
OPENAI_API_KEY |
Yes | — | API key for the LLM provider |
OPENAI_API_URL |
No | https://api.openai.com/v1/chat/completions |
OpenAI-compatible endpoint |
MODEL |
No | gpt-4o-mini |
Model name to use |
Site types
Generated pages can be any of:
- fake_store — online stores with products, prices, reviews
- fake_homepage — personal portfolios, artist sites, food blogs
- fake_social — social media profiles, Reddit threads, dating app pages
- fake_wiki — Wikipedia-style articles about fictional topics
- fake_forum — retro forums with threads and discussions
- fake_blog — tech blogs, lifestyle blogs, horror story blogs
- fake_news — local news, sports, celebrity gossip
- fake_app — SaaS dashboards, mobile app landing pages
- fake_other — fake email inboxes, search results, 404 pages, etc.