You know the old saying: “Happy Wife, Happy Life.”

So, my wife is currently building her business as a Professional MUA (Makeup Artist). As a husband—and a tech enthusiast—I felt a moral obligation (read: a perfect excuse to tinker) to build her a proper portfolio website.

But instead of coding everything manually from scratch, I decided this was the perfect moment to test just how capable “Vibecoding” (AI-assisted coding) really is for a real-world project.

The target was clear: The site had to be fast, SEO-ready, and run on a super minimum cost.

The Tech Stack

For the core engine, I immediately went with Astro. Why? It’s simple, ships zero JavaScript by default (mostly), and the HTML structure is fantastic for SEO. It’s the perfect fit for a portfolio site that needs to load high-res images without feeling sluggish.

For the development process (the “vibecoding” part), here is the AI agent squad I used:

  • Editor: OpenCode with Kuli Pro.
  • Network: Self-hosted CLI Proxy (essential for stability and speed).
  • The Brain: Claude Opus 4.5 Thinking (this model’s logic is honestly scary good).

It felt less like coding alone and more like directing a senior engineer who never gets tired.

The “Gotchas” & Learnings

It wouldn’t be a tech project without some hurdles. Here is what I learned along the way:

1. The R2 Asset Domain Issue

I initially used Cloudflare R2 to host the portfolio images to save bandwidth. However, images weren’t loading on certain networks. The issue: The default r2.dev URL is often blocked by government filters or ISP throttles here (likely flagged due to file sharing misuse). The fix: Mapping it to a custom subdomain is mandatory. Once I switched the bucket to a subdomain, the images loaded instantly everywhere.

2. Automating SEO with IndexNow

To avoid the hassle of manually submitting URLs to search engines, I implemented IndexNow. To make it truly “set and forget,” I set up a GitHub Action that auto-pings IndexNow every time I deploy.

3. Google Business Profile Hack

Verifying a Google Business Profile can sometimes be a pain. I discovered that using a business email (domain-based) makes the verification process much smoother and gets you verified faster compared to a generic Gmail address. Cost hack: I used Cloudflare Email Routing to handle this. It forwards to my personal inbox for free, but to Google, it looks like a legit corporate entity.

4. pSEO (Programmatic SEO)

Since I had the setup ready, I experimented by generating several pSEO pages. This helps capture specific long-tail keywords without needing to write every single page manually.

The Result

In a very short time, the site went live: byanisaputri.my.id

The most surprising part? The site was indexed incredibly fast. It’s already showing up and indexed on Perplexity. In an era where people are starting to search via AI, being indexable by LLM search engines is a huge win.

web indexed by perplexity

Verdict: Wife is happy (check). Portfolio is live (check). Vibecoding workflow with Astro + AI Agents validated (double check).

And the best part: The total cost? Just $1 for a one-year domain. Mission accomplished.