Idea to Live in 5 Minutes
You have an idea. You want people to see it. The gap between "I built this" and "here's the link" shouldn't take days. For me, it rarely takes more than five minutes.
This is the exact workflow I follow. Every time. Including for this portfolio you're reading from right now.
Build It First
I use vibe coding tools: Claude Code and Cursor. For most ideas, I'm building a pure frontend application. No heavy server, no custom API layer.
The stack I reach for by default:
- Next.js as the framework
- Tailwind CSS for styling
- Framer Motion for animations and transitions between sections
If the project needs data storage, I don't reach for a custom backend. Free-tier cloud databases handle the job fine. Supabase and Upstash both let you connect directly from the frontend, which keeps the architecture simple and the deployment friction near zero.
The rule I follow: if there's no heavy backend logic, don't build a backend.
Ship It
Once the app is where I want it, I move fast through the deployment steps.
Git first. Even a local repo with a few meaningful commits is fine. No need for a clean history, just something that captures what changed and why.
Push to GitHub. Create the repo, connect the remote, push. Thirty seconds.
Deploy on Vercel. Create an account, connect GitHub, give it access to the repo (specific repo or all, your call), select Next.js as the framework, hit deploy. It builds and publishes. You get a .vercel.app URL immediately. Hosting is free.
From that point on, every push to the repo triggers a redeploy. CI/CD with zero configuration. You don't set anything up, it's just there.
Configure the Details
Two things worth setting up right after the first deploy.
Environment variables. If you're connecting to an external database or any service that needs a secret key, go to your project settings in Vercel: Settings > Environment Variables. Add the variable name and value there. Do not put secrets in the repo.
Analytics. Vercel has a built-in analytics feature. Enabling it lets Vercel's agent open a pull request adding the necessary packages. Review it, approve it, merge it. The app redeploys with analytics wired up. You get traffic data with no extra service to manage.
Add a Custom Domain
The .vercel.app URL works fine. But if you want a real domain, the process is straightforward.
Buy one from GoDaddy, Namecheap, or directly from Vercel (they sell domains too). Domains are typically rented annually.
After that, go to your project's Domains section in Vercel and add your domain. Vercel gives you the DNS records you need to add on your registrar's side. Once those propagate, your app is live on your own domain.
The propagation can take anywhere from a few minutes to a few hours depending on the registrar. Once it's done, your Vercel SSL certificate is also provisioned automatically.
What You End Up With
| What | How |
|---|---|
| Deployed app | Vercel (free tier) |
| CI/CD pipeline | Automatic on every push |
| Custom domain | Registrar + Vercel DNS config |
| Traffic analytics | Vercel Analytics |
| Database (if needed) | Supabase / Upstash free tier |
No server to manage. No Dockerfile. No Nginx config. No billing alert set at $5 to avoid surprises.
If you want to go further, look into SEO configuration and submitting your site to Google Search Console. That's how you start showing up in search results, but that's a separate conversation.
Wrapping Up
The whole point of this workflow is to remove the distance between having an idea and having a link to share. The infrastructure cost is zero, the setup time is minutes, and the result is production-grade: custom domain, HTTPS, CI/CD, analytics.
I've used this exact stack for side projects, client demos, and this portfolio. It doesn't get more complicated than this until you actually need it to.
Start there. Complicate later.
Have questions or ran into something I didn't cover? Feel free to reach out.