It was 2 AM.
I couldn't sleep.I'd been watching Z-Image-Turbo blow up on Reddit — a new 6B parameter model from Alibaba that generates images in just 8 inference steps with accurate bilingual text rendering.I tried the Hugging Face Space. Queue was always packed.
So I made a public bet on Reddit:
"I'm building a free website for this in 48 hours. Livestream the whole thing. Roast me forever if I fail."
24 hours later, it shipped.Here's exactly how I built it.
The Tech StackFrontend:
Next.js (deployed on Vercel)
Domain: Cloudflare
Storage: Cloudflare R2
Auth: Google Auth + Email Auth
Database: PostgreSQL (Neon)
ORM: Prisma
Realtime: Upstash
GPU Server: RunPod + FastAPI + ComfyUI
Nothing fancy. Just tools that work and ship fast.
Hour by Hour Breakdown
T+0:
Get the Model RunningFirst priority — make sure the model actually works.Spun up a GPU server on RunPod, installed ComfyUI, loaded Z-Image-Turbo. Not optimized, but functional.
T+1.5h:
DomainBought z-image.vip on Cloudflare. $10.Don't overthink domain names. Just pick something and move.
T+2h: Scaffold the ProjectDeployed a Next.js project to Vercel. We had templates ready, so this was quick.But honestly, with Claude Code or Cursor, anyone can do this now. The barrier to shipping has never been lower.
T+4h: StylingGrabbed a theme from tweakcn.com — Tailwind CSS + shadcn/ui.Went with the Claude color scheme. Copy the CSS, paste into globals.css. Done.
T+5h: Logo & CursorGenerated a logo with Seadream 4.0.Then I got distracted making custom cursor SVGs for light/dark mode. Small detail, but makes the site feel different.
T+8h: Landing PageBuilt the full landing page:
Navbar
Hero section
Features
Pricing
Testimonials
CTA
Footer
Still using placeholder images at this point.
T+9h: First DeploySite is live. Bugs everywhere. Main feature not working.But I was falling asleep at my keyboard. Took a nap.
T+11h: The Hard PartThe complete image generation flow:User submits prompt
↓
Next.js API receives request
↓
Task queued to RunPod GPU
↓
ComfyUI generates image
↓
Callback to backend
↓
Upstash realtime pushes result to frontend
↓
User sees imageThis loop is where the magic happens. Getting all the pieces to talk to each other took the most time.
T+12h: Bug Fixes
Fixed mobile layout (waterfall wasn't scrolling)
Added anonymous login (someone in comments asked for it)
Wired up realtime status updates
T+24h: DoneSite is live: https://z-image.vip
Running on a single 4090. If traffic picks up, I'll add more machines.What I Learned1. Public accountability works.When you tell the internet you might fail publicly, you ship faster.2. AI coding tools are insane.I was running multiple projects simultaneously. Without Claude Code, I'd be cooked.3. Ship before it's perfect.The site had bugs. Images were placeholders. But it worked. That's what matters.4. Pick boring tech.Next.js, PostgreSQL, Cloudflare. Nothing experimental. When you're racing the clock, use what you know.
What's Next
More LoRA support
Community gallery
Open-sourcing the project
Try ItSite: https://z-image.vip
Original Reddit thread: reddit
No login required for basic use.Built on caffeine and public accountability.
If you're building something in public, I'd love to hear about it in the comments.
Top comments (0)