AI DEV LOG · BY ORUNI

AI Dev Log

Every update to this site is AI-generated. Prompts, time spent, and token counts fully disclosed.

Hey, Oruni here. I write up every change SHOW makes to the site — prompt, turns, screenshots, all of it. Tap any card to peek behind the curtain.

Summary

AI Operations by the Numbers

128
Total Updates
47days
Days Active
2.7
Average per Day

Update Log

Complete Record by Date

Tue, Apr 28, 20261 updates

CVRcomparison-tableCV-funneli18n

Added 3-column 'DIY / Coconala avg. / SHOW' comparison table on the home page

Closes improvement-ideas.md 🟥 #5. A 3-column × 7-row comparison table was placed directly under the shochikubai pricing block (#150). Rows: time-to-start, time-to-publish, design quality, SEO & schema, analytics & iteration, post-launch support, price range. The SHOW column gets a purple highlight and a Recommended ribbon to anchor the gaze, and the CTA below loops back to #pricing — completing a 3-stage funnel: compare → choose plan → contact. GA4 fires vs_comparison_cta_click. Fully i18n via messages/ja.json + en.json. Rationale: with traffic stuck near zero (≈9 PV/week, organic 0), per-visitor CV probability matters more than chasing impressions. The table reinforces the pricing block credibility and stops price-only dropouts.

Add improvement-ideas.md #5: 3-column 'DIY vs Coconala avg. vs SHOW' comparison table directly under the shochikubai pricing block. Highlight the SHOW column, route CTA back to #pricing, fire GA4 event, full i18n.
~25 min
* Estimated from git history

Mon, Apr 27, 20261 updates

rewriteSEOCTRCV-funnel

Rewrite #2 of ai-lp-creation-results: title, description, and structure overhaul

Second rewrite of `ai-lp-creation-results` since the first rewrite (4/19) failed to lift SC pos 17.4 / CTR 0%. Title now leads with the time delta '5 days → 4 hours' for stronger CTR pull, and description sharpens specificity ('actual production time tables') with explicit reader targeting (people adopting AI in LP work / outsourcers wondering about AI quality). Body opens with a results-first lead, and adds: a summary table, a 'next reads' triad, and a consultation block routing to the new shochikubai pricing block (#pricing) before Coconala — turning the CTA into a two-step funnel that monetizes PR #150. lastmod 2026-04-26. Also marked improvement-ideas.md #4 with ✅ #150.

Rewrite #2: number-first title, add summary table + next reads + funnel to shochikubai pricing block
20 min
* Estimated from git history

Sat, Apr 25, 20261 updates

CVRpricingUXimprovement-ideas

Added three-tier (Light/Standard/Premium) pricing packages on the home page

Added a three-tier (shochikubai) pricing section to the home page right after Services. Closes improvement-ideas.md #4 (top priority). Light from ¥29,800 (3 days / simple LP), Standard from ¥118,000 (1-2 weeks / funnel design / recommended), Premium from ¥298,000 (3-4 weeks / automation + retainer). Standard carries a 'Recommended' badge and lifted card to steer default choice. Each card lists inclusions, delivery, best-for audience, and fires a GA4 pricing_plan_click event; CTAs link to #contact. Fully i18n (ja/en) with strings in messages/. The existing CoconalaShop remains as a menu-level layer below. Intent: with organic traffic near zero, narrowing visitor decisions to three bundles reduces drop-off from scattered Coconala links.

Add improvement-ideas.md #4: three-tier pricing packages block as a decision hub. Place between Services and Projects. Light/Standard/Premium, Standard as recommended, GA4 event, i18n support.
~30 min💬 10 turns

Fri, Apr 24, 20265 updates

fixPR-reviewOGa11y

Codex Review Fix: OG Font Changed to TTF, Nested Anchor Eliminated from Cards

Addressed 2 automated Codex review findings on PR #149. ①Fixed OG route (/og/blog/[slug]) passing woff2 to Satori — @vercel/og does not support WOFF2, risking 500 errors when the font fetch succeeds. Rewrote to loadGoogleFontTTF() which calls the Google Fonts CSS API v1 with a legacy User-Agent to extract a TTF URL (standard @vercel/og pattern). ②Fixed nested anchor in BlogGrid.tsx: FeaturedCard and PostCard wrapped entire cards in <Link> while TagLink (itself a <Link>) was rendered inside. Removed TagLink component and replaced in-card tags with <span>. Tag navigation is still available via BlogTagCloud. Build and type-check both pass clean.

PR #149 Codex review fixes — OG font TTF migration, nested anchor elimination in blog cards
15 min
* Estimated from git history
SEOAIOBlogSitemapOGP

SEO/AIO Full Audit: Dynamic OG, Tag/Category Archives, robots/sitemap Optimization, Share Buttons

A comprehensive site audit PR to address extremely low traffic (137PV/11users in 28 days). Identified 13 structural SEO/AIO problems and resolved: ①Dynamic OG images (/og/blog/[slug]) via next/og to improve SNS share CTR. ②Tag archives (/blog/tags/[tag]) and category archives (/blog/categories/[cat]) for long-tail SEO. ③Pagination (/blog/page/[n], 20/page) to reduce page size. ④robots.ts explicitly allows 16 AI crawlers for citation opportunities. ⑤metadata.robots adds max-image-preview:large for Google Discover. ⑥sitemap.lastmod stabilized with BUILD_TIME constant; removed contradictory /en/blog hreflang. ⑦Replaced ConditionalGA setInterval polling with CustomEvent-driven approach. ⑧Added blog share buttons (X/LINE/Hatena/Copy). ⑨Added tag cloud to blog index. ⑩Exposed RSS/llms.txt/llms-full.txt in footer.

Implement all SEO/AIO/UX improvements from site audit plan in one batch (Tasks A–M scope)
90 min💬 120 turns
UXCVR404I18n

UX: 404 Page Reworked as Rescue CTA (3 Latest Posts + LINE CTA)

Upgraded the 404 page from bare 'back home / read blog' links into a rescue surface that retains lost visitors. Refactored not-found.tsx into an async server component, pulled the 3 latest posts via getAllPosts().slice(0, 3) as cards, then appended a 'Want to automate with AI?' CTA block (LINE free consult + services list). Reused the card UI from the recent BlogRelatedPosts work (.blog-related-grid / .blog-related-card) for implementation speed and visual consistency. Added new i18n strings to both ja/en (notFound.suggestionsHeading etc.). Swapped useTranslations for getTranslations. Unlike the blog CTA which is ja-only, 404 is rendered for both locales so the en copy is provided too.

Transform 404 page into a rescue CTA surface with 3 latest posts + LINE CTA
20 min
* Estimated from git history
CVRBlogCoconalaMonetization

CVR: Added Category-Specific Service CTA Block to Blog Posts

The single existing Coconala CTA couldn't channel readers into the most relevant service for each article's category. Added BlogCategoryServices.tsx which renders 3 category-matched Coconala services as a card grid under each post, based on the article's frontmatter category (AI / Automation / Web / Side-Business / Behind-the-Scenes). Service mapping: AI→Claude Code Dev / AI Article Generator / Info Dissemination; Automation→Consulting / Web Automation / Dev; Web→Dev / Info / Consulting; Side-Business→Article Generator / Info / Consulting; Behind→Dev / Article Generator / Consulting. Each click fires GA4 event blog_category_service_click with service_id/category/slug for measurement. Ja locale only since /en is noindex. Production build verified.

Auto-display 3 category-matched Coconala services per article to lift blog-sourced CVR
25 min
* Estimated from git history
UXBlogInternal LinksSEO

UX: Replaced Blog Related-Post Links with Card Grid

Replaced the blog's end-of-article 'Related Posts' section, previously a bare bullet list of links, with a card grid. Introduced BlogRelatedPosts.tsx which renders each suggestion as a card with a category badge, publish date, title, 2-line description preview, and a 'Read more' affordance, laid out with auto-fit minmax(220px, 1fr). Hover lifts the card and swaps the border to accent; prefers-reduced-motion is respected. Existing getAutoRelatedPosts scoring (category +2, tag +1) is unchanged. Across 57 articles this thickens the internal link graph to improve dwell time and give Googlebot more paths to discover not-yet-indexed posts.

Upgrade blog related-post section to a card UI to lift internal-link CTR and dwell time
20 min
* Estimated from git history

Thu, Apr 23, 20262 updates

RenewalA11yI18nFontsUltrareview

Review Fixes: JP Fonts / Locale Leak / Contact Hover / Mascot Keyboard A11y

Bulk-fixed 4 findings from ultrareview on the renewal PR (#139). (1) Noto_Sans_JP / Kiwi_Maru were loaded with latin-only subsets, so Japanese glyphs never rendered in the new fonts — switched to next/font's preload:false pattern (CJK subsets are not publicly registered). (2) UnicornAbout / UnicornProjects / UnicornBlog imported Link from next/link directly, which caused /en visitors to silently drop to JA on internal routes like /story — swapped to Link from @/i18n/navigation. (3) UnicornContact's default 'Anyone' state set accent to var(--ink-900) and concatenated hex-alpha like ${accent}25, producing invalid CSS that silently failed both hover glow and border tint — fixed by using the raw hex #2a1f17. (4) UnicornMascot's <img onClick> had no keyboard focus / ARIA role — wrapped in a <button> with aria-label so Enter/Space activate the speak reaction. Production build verified.

Fix all 4 ultrareview findings (fonts / locale leak / hover / a11y) — no compromise
20 min
* Estimated from git history
SEOInternal LinksIndexation

SEO: Body Inline Links Added From Indexed Hubs to 3 URL-Unknown Articles

Added 3 body inline contextual links from 2 indexed hubs (ai-built-this-site pos 3.0, ai-writing-workflow pos 9.5) to 3 articles still in 'URL is unknown to Google' status (ai-agent-for-sole-proprietors, dev-portal-with-claude-code, ai-sales-email-automation). Chose body links over relatedSlugs (footer) based on the hypothesis that Googlebot weights in-body links higher (following the successful pattern from 4/21 PR #133). Each hub appears consistently in SC data with high crawl frequency. Next recrawl should promote the 3 articles from 'unknown' to 'Discovered' or beyond.

Add body inline links from indexed hubs to 3 URL-unknown articles to secure crawl paths
15 min💬 4 turns