Simple by design
The journey stays clear from the first description to a finished site, with focused controls and sensible defaults throughout.
A showcase of end-to-end product engineering, from generation and editing to publishing, analytics, and custom domains.
GreenLinks was built around one goal: make website creation feel simple. Every interaction—from the first description to editing and publishing—was carefully considered, with thoughtful defaults, responsive controls, and fast-loading published pages.


The journey stays clear from the first description to a finished site, with focused controls and sensible defaults throughout.
Editing, media, publishing, analytics, billing, and custom domains were shaped to feel consistent rather than bolted together.
Responsive editing, efficient delivery, and edge-cached published pages keep the experience quick for creators and visitors.
The Next.js product, backend API, and published-site delivery run as separate Cloudflare Workers.
WebSocket sessions connect the editor to two Durable Objects: WebsiteGeneration streams full pages while SectionUpdate applies targeted edits.
A multi-provider gateway streams model output; R2 stores HTML, Hyperdrive and PostgreSQL provide metadata, and the site worker serves custom domains from the edge.
Generated HTML reaches the editor immediately while processing and persistence continue in the background.
Targeted changes run through their own stateful session instead of restarting full-page generation.
Cloudflare Images and Cloudflare Stream handle direct uploads, with ThumbHash placeholders and queued CalmLens moderation.
Cloudflare Turnstile, per-user rate limiting, Cloudflare Queues, background jobs, and Sentry protect critical paths.
The Next.js product, backend API, and custom-domain site worker deploy as separate scaling boundaries.