← rooo.pro

It didn't end with rooo.pro — the day I lined up 3 sites in one go

2026-05-05 / Vol. 2 / draft at time of publishing

Yesterday I launched rooo.pro with Claude in a day.
The next day, I started talking to Claude again — and the conversation didn't stay within rooo.pro alone.

I had other sites too.
The official site of the operating company behind the EC shop "rooo," esynet.jp, and a separate community site for mental health welfare, karaha.org.
Three sites, three worlds, all under the same operator.

Looking back at the day's work, it ended up being a day where all 3 sites got tightened up together. Why it went that way, and what I did, is below.


"karaha.org's operations are easy" — a realization

In the morning I had Claude check karaha.org's editing flow. Running fine. Deploys, 11 in a row successful.

Then Claude said something:

karaha.org has rules verbalized in CLAUDE.md, and Claude Code reads them and works in that style.
Commits log "esynet and claude" as co-authors.

I realized: yesterday I had launched rooo.pro a different way.
I'd issued a GitHub Personal Access Token (PAT), and used a Python script to push files via the API.
At launch I didn't want to use the terminal, so PAT-via-script was my workaround.

But karaha.org's flow was simpler and lighter. Plain git push. No token management.

I asked Claude:

karaha.org is easier to operate.

This decided the day's direction.
"Align all 3 sites to the karaha.org style."

Comparing the two methods showed PAT was no longer needed

Claude pulled up a comparison table. The gist:

karaha.org method (gh CLI + git push): multiple files in one commit, no PAT management, full git semantics, sustainably good
PAT + custom script method: works without terminal, near-zero initial cost, but tokens expire every 90 days, weak with multi-file changes, weak git history

The original premise of "I dislike the terminal" was no longer needed.
If Claude is your partner, terminal use is just one gh auth login at the start.

So I ran gh auth login on the spot.
From there: revoke the PAT, delete the token file, re-clone the local folder via gh repo clone.
All 3 sites now run on the same workflow.

esynet.jp v2 renewal

With the workflow aligned, I tackled another nagging item: esynet.jp's renewal.

esynet.jp is the official information site for the EC shop rooo I run. About six months ago I'd built it with rich design — Tailwind CDN + Babel for JSX + 3D rotation animations + blob gradients. But it was heavy, the text didn't catch up after images loaded, and looking at it myself I felt "this is a bit much".

I talked with Claude and decided:

Strip out all the rich animation
・Drop Tailwind / Babel / 3D / blob — plain HTML + handwritten CSS
・Consolidate 8 nav items into 5 sections: Hero / Products / About / FAQ / Contact
・Drop the "News" section, link to rooo.pro from the footer instead

Built v2 in parallel as index-v2.html, previewed it, then swapped to production.
A 40KB heavy landing became a 26KB simple static HTML.
Product images, instead of 3D rotation, came back in a clean grid.

Connecting 3 sites with lines — cross-links

Once 3 sites run on the same workflow, cross-cutting things naturally come up.

For example, cross-links.
Someone visiting esynet.jp can notice "ah, this person also writes on rooo.pro."
A rooo.pro reader can find out the operator runs karaha.org separately too.

I built the paths:

・esynet.jp footer → rooo.pro / karaha.org
・rooo.pro meta → esynet.jp / karaha.org
・karaha.org doesn't emphasize the operator's other ventures, so I only added a "privacy" link in the footer

Each site has different character, so the strength of links differ. I tuned that with Claude.

Sweeping up the "should-do but kept postponing" pile

It's easy to let "things you need but don't want to do" pile up. Today I sat down, listed them out, and worked through what could be cleared.

Privacy policy: prepared on all 3 sites (karaha.org got an extra "sensitive information" clause appropriate for mental health welfare)
Commercial law disclosure: added to esynet.jp (operator name and phone in "disclosure on request" format)
404 pages: created in each site's style
sitemap.xml + robots.txt: added to esynet.jp / rooo.pro (karaha.org already had it)
Security headers: HSTS / X-Frame-Options etc. via Cloudflare Pages _headers on all 3 sites
OGP (og:image): set existing Cloudinary images on esynet.jp and karaha.org
Google Search Console: all 3 sites were already registered, in fact. Re-submitted old sitemaps

An aside: Cloudflare Web Analytics was already running on all 3 sites automatically.
When you serve from Cloudflare Pages, this cookie-free privacy-first analytics auto-enables.
karaha.org already had 13PV / 5UU in 24 hours; rooo.pro had 4PV.
I had decided "don't look at numbers until month 2," but data was accumulating without me noticing.

Fixing karaha.org's past-dated events

Something I'd noticed during the editing-flow check.
karaha.org's home page showed "upcoming events" with dates of 2026-03-18 and 2026-04-22. Both already past as of today (2026-05-05).

Saying "upcoming" but showing past dates undermines visitor trust.
I told Claude the May 27 and June 24 cafe schedules and had it update the home cards, the events hub, the individual pages, and the sitemap.

I also took the chance to properly separate "upcoming" from "past (by year)" on the events hub. Before, future and past were mixed together inside the same "2026" group.

Verbalizing the cross-session routine

Once I'd tightened things this widely, I started worrying that a future "me" (Claude) might forget in the next session.
So I had Claude add a "cross-session routine" to all 3 sites' CLAUDE.md.

Specifically:

・When starting a new session, read CLAUDE.md first
git pull to get remote latest (I might have manually edited; prevents overwrite accidents)
・Reference related memory files
・Don't confuse the 3 sites (especially: don't bring karaha.org's tone into esynet.jp; don't bring commercial color into karaha.org)

This way, even after a gap, I can continue at the same quality.

Closing with a security note

I asked Claude "anything else I should do?" and it pointed out that 2FA wasn't enabled on my Cloudflare account.

All 3 sites' domains, DNS, Pages, Web Analytics — everything centralizes on Cloudflare.
Protected by a single password is genuinely weak.

I set up TOTP via the mobile app on the spot. Saved backup codes in the password manager. 5 minutes total.

In retrospect

Listed out, what I did today looks like a technical tightening day on the surface.
But the real protagonist was probably the fact that I "carry 3 sites alone" — re-recognized by myself.

Apply karaha.org's smooth flow to rooo.pro / esynet.jp.
Keep each site's character; align the operating tools and conventions.
From a state where everything was running in isolation in my head to 3 sites running in parallel under the same operating principle.

"Cross the limits of solo EC with structure." — that was a phrase originally on esynet.jp, and today's work was its demonstration.
Not just EC, but media and community too — a day where I rebuilt the structure for sustaining multiple things alone, with AI.

How to go from here

The 3 sites now keep their own tone in their own places, while running on the same rails.
From tomorrow, when I want to write, I open the site I want to write for and write. That's it.

rooo.pro continues as a build-in-public medium, where I keep writing about "what I did."
esynet.jp grows quietly when products are added.
karaha.org gets activity reports added after each cafe.

Among the 3 sites, rooo.pro will probably be where my raw voice comes through most.
The other two are "public faces"; rooo.pro is "my hands-on working log." That's the split.

Next post planned for the same day next week.
If I can't think of anything to write, I'll write "I couldn't think of anything to write."
In the same style as today.