Vibe Coding Epilogue: Building a Revenue‑Generating Website
What we learned while shipping a small SaaS with a vibe‑first workflow.
The buzz lately is all about vibe coding and revenue websites. Here’s a
short epilogue on what we learned while shipping a lightweight SaaS.
What and Why
This project didn’t start with “let’s build something,” but with “I need this and it doesn’t exist.”
In the summer of ’25, while maintaining a client site, a change in workflow broke our old process.
We used to just calculate coordinates on a large image; suddenly we had to split it into multiple images. 🤦♂️
Our options at the time
- Manually slice everything in Photoshop
- Use an online image tool
- Build the exact tool we needed
Option 1 was a non‑starter, and option 2 was too constrained by fixed ratios.
So we decided to build our own tool—I needed it anyway, and maybe ads could cover costs.
How We Built It
We built a web‑based image editor with Next.js.
For cropping, you don’t need auth or a DB, so we designed it to run entirely in the browser.
We sketched a quick prototype in Figma and moved straight into implementation (with a lot of help from Claude).
Core flow was simple:
- Upload an image
- Drag to define arbitrary regions and crop
- Export with each piece named
We kept all processing client‑side—no server compute.
The UI stayed restrained: a right‑hand toolbar, preview, and download.

Since I was the target user, I tested continuously and smoothed out rough edges as I went.
Launch
Once the MVP was ready, we bought a domain, hooked up GA, and shipped.
From idea to deployment took under a week.
In the past, design + servers + deployment could take a month.
With modern AI tooling (Claude/Codex, etc.), it moved much faster.
Growth and Monetization
There’s no paid plan—this is ad‑supported, so traffic equals revenue. We focused on the basics:
- SEO: Technical setup plus steady content work. After tutorial posts, indexing sped up and daily visitors climbed. We’re tracking keywords and iterating.
- AdSense approval: It took a few attempts, but strengthening blog/tutorial content did the trick. First revenue landed about two weeks after approval. 🎉
- Internationalization (i18n): Added multilingual support to capture overseas traffic and maintain language‑specific SEO metadata.
The graph is trending up—visitors and ad revenue both. Next step: improve UX to increase dwell time.
What We Learned
- SEO matters. Even small improvements drive noticeable traffic gains. I’ll share how we grew traffic and revenue in a separate post.
- AI is a teammate, not an autopilot. Code can turn into spaghetti when you look away. Direction still comes from people.
What’s Next
Beyond cropping, we’re exploring workflows that bundle background removal, text extraction, and AI tagging.
Shipping this small SaaS reminded us that writing, framing, and direction often matter as much as code.
If this nudges you to build something you need, that’s a win.
Have a similar idea brewing? Reach out—would love to compare notes.