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

205
Total Updates
139days
Days Active
1.5
Average per Day

Update Log

Complete Record by Date

Wed, Jul 29, 20261 updates

Case studyClient workMeta AdsPortfolioDiagrams

Added a delivered client project (Meta ads creative manager) to the homepage

Published a delivered client project — a tool that bulk-fetches Meta ad creatives, files them on Google Drive, and reflects the links in a spreadsheet — as a case study, with the client's permission to feature it. Rather than stopping at a homepage card, I put it on the existing 'behind the scenes' page framework at full case-study length (overview, run flow, output samples, purpose, effort, 6 implementation steps, 4 challenges, 5 takeaways, order CTA). The disclosure stays inside what was agreed in advance — functionality and engineering only — with no client name, ad account names, or real sheet data. The binding constraint was screenshots: none containing real data may be used, so all visuals are diagrams I built instead. I drew the architecture flow as SVG and rasterized it with sharp (two sizes: 1280x800 for the detail page, 1280x480 for the card, which crops to a wide strip), and built the Drive folder hierarchy and spreadsheet result as HTML figures populated entirely with dummy values. behind-data.ts gained optional flow / flowImage / artifacts fields so the sections only render for entries that define them — no impact on the four existing case studies. npm run build exit 0, static generation confirmed.

I want to feature the Meta ads project as a case study — I've already got the client's approval. / Make it as detailed as possible since it could lead somewhere. I'd like visuals too, and if not screenshots then flow diagrams or something like that.
~35 min💬 14 turns
* Estimated from git history

Thu, Jul 9, 20261 updates

Site reviewSEOsitemapAccessibilityWCAG

Weekly site review: stabilized sitemap lastmod + added focus ring to filter chips

Ran the weekly site review across SEO and a11y investigation, verified every finding against the real code with grep, and fixed three confirmed issues. (1) sitemap.ts used `new Date()` for lastmod (= build time), so 40+ URLs whose content never changed (static pages like /process, the LP gallery, pricing, behind pages, categories) had their lastmod bumped to 'today' on every deploy — an anti-pattern that trains Google to distrust the lastmod signal. Replaced it with a fixed SITE_UPDATED date, while deriving /ai-log's lastmod from the newest log entry and category/listing pages from the newest post (lastmod trust actually matters while crawl frequency is the bottleneck). (2) The post-renewal filter chip .uni-filter-chip (blog category filter, homepage project filter) had no :focus-visible, so on its dark active background the keyboard focus was hard to see (WCAG 2.4.7) — added one selector to the existing focus block for the unified brand ring. (3) The terminal caret kept blinking under prefers-reduced-motion (WCAG 2.2.2) — added animation:none in the reduced-motion group. All three are small edits to shared foundations (sitemap.ts / globals.css) that ripple across every page — high ROI. npm run build exit 0.

It's the weekly site-review day. Run SEO and a11y investigation, don't take the reports at face value — verify against the real code — then fix only the confirmed shared-foundation gaps.
~25 min💬 12 turns
* Estimated from git history

Tue, Jul 7, 20261 updates

SEORewriteLP productionSearch intentQuick Win

Strengthened the site's highest-impression article to directly answer the 'LP production time' search intent

A Search Console page×query breakdown revealed that /blog/ai-lp-creation-results — the site's highest-impression page (imp 76) — surfaces for only one disclosed query, 'lp production time' (pos 21, imp 4, CTR 0%). The article was written entirely as a 'behind-the-scenes of cutting time with AI' piece and was missing a direct answer to what that searcher actually wants: how long LP production generally takes (outsourcing / hand-coding / AI benchmarks). I added a benchmark comparison table right after the intro (agency 2–4 weeks / freelancer 1–2 weeks / hand-coding 5–7 days / AI-assisted 4–5 hours) plus a section explaining why outsourcing runs longer, so the page answers the pos-21 query head-on. I also added a matching FAQ (LP production time benchmarks) to reinforce the FAQPage structured data, and rewrote the meta description to include the general-intent phrasing comparing outsourcing / hand-coding / AI. Existing body copy was kept intact — additive only — a low-risk boost that preserves the strong title and internal links. npm run build exit 0.

GA4 is effectively zero-traffic and indexing is stalled on external factors. A Search Console page×query breakdown showed the only disclosed query is 'lp production time' at pos 21. To lift that query's ranking on the site's highest-impression article, add a benchmark section that answers the search intent head-on.
~20 min💬 9 turns
* Estimated from git history

Mon, Jul 6, 20261 updates

NewsletterLead nurturingResendCVRMonetization

Built the newsletter foundation — turned the lead magnet into the first touch of an order-nurturing flow

Instead of letting the email addresses collected via the lead magnet (LP ordering checklist) go stale, I set up a minimal recurring-delivery flow to nurture them toward an order (strategy.md backlog #17). (1) Upgraded the subscriber delivery email in /api/lead-magnet from a one-shot handout into three follow-up routes answering the real post-checklist worry ('how much / how long?') — LP gallery examples, the pricing page, and free consultation / Coconala — plus an explicit opt-in note ('about once a month; reply "unsubscribe" to stop'), in both HTML and text. (2) Added docs/newsletter-operations.md with the operating design (Resend Broadcasts, free tier 3,000/mo, list-building steps, monthly cadence, a per-issue template, a pre-send checklist, KPIs, and the next automation step). (3) Added content/newsletter/2026-07-issue-01.md as the first-issue draft doubling as a reusable template. Even while SEO inflow is bottlenecked by external factors, a collected list is an active revenue channel independent of search rankings — this wires up the funnel's last mile (list → order). npm run build exit 0.

SEO inflow is bottlenecked by external factors and traffic is near zero. The reactive levers (rewrites/internal links/pillars/pricing hub/CVR assets) have been exhausted over two weeks. As the next move, set up a minimal recurring-delivery flow (backlog #17) for the list collected via the lead magnet.
~30 min💬 12 turns
* Estimated from git history

Sun, Jul 5, 20261 updates

CVRCase StudyOrder PathSales CollateralInternal Links

Turned the behind-the-scenes case studies into sales assets — added price, timeline and an order path to each page

The /projects/[id]/behind 'behind the scenes' pages are effectively full case studies — overview, purpose, effort, tech stack, build steps, challenges and learnings — yet they had no order path at all (no route to pricing, consultation or purchase), so they never became true sales assets (the unfinished part of improvement idea #26, 'ProjectCard → richer detail page = sales collateral'). So right after the learnings section and before related projects, I added a 'Like what you see here?' order CTA. The four LP projects (storybook-lp/lp-showcase/timeline-lp/map-lp) show a price guide (¥50k–¥300k) and turnaround (1–3 weeks) as cards, while blue-unicorn (a personal fan site) shows no price and only a consultation CTA. The CTAs offer three routes: free consultation (/#contact, GA4-tracked behind_order_cta), pricing (contextual internal link to /pricing), and buy on Coconala. Behavior is driven by an optional `order` field added to behind-data.ts, with i18n added to the behind namespace for both ja/en. With SEO bottlenecked on external factors, this is a CVR asset that prevents losing prospects who land on these portfolio pages after being sent from Coconala/LINE/DM. npm run build exit 0.

Run the autonomous operations loop
* Estimated from git history