Personal Journal

Epona's Tech & Life

Thoughts on Rails, Laravel, Claude AI and development tools — and life in Tokyo. Notes from the intersection of technology and everyday experience.


01Recent Entries
Astro · CloudflareFrom Astro to EmDash: A Pitfall Diary (Part 3)

After migrating from Astro to EmDash, the backend was left with two publication date fields, and scheduled publishing never worked. This post covers how to remove the redundant publication date, configure a Cron Trigger in wrangler.jsonc, and add a scheduled handler so scheduled publishing actually runs.

Sep 14, 20262 min
Astro · Claude CodeFrom Astro to EmDash: A Tale of Pitfalls (Part 2)

Continuing from the previous post: after binding a custom domain to EmDash, I nearly locked myself out of the admin panel I'd just set up. Because WebAuthn is strictly bound to the domain, my existing Passkey stopped working, and I hadn't configured any email service yet. This post documents the nail-biting escape: how I used Claude Code to set up Cloudflare Email Sending as a lifeline, tracked down the broken magic links caused by a missing siteUrl, and finally resolved the Passkey binding issue on the custom domain.

Sep 08, 20264 min
Astro · Claude CodeFrom Astro to EmDash: A Migration Story (Part 1)

I've been blogging on and off for years, trying WordPress, Jekyll, and Ghost before finally settling on Astro. Then Cloudflare announced EmDash, their WordPress competitor, and after watching it for a few months, I decided to make the move. Now, in 2026, I've handed the entire migration over to Claude Code—drop in an official docs link, and the AI analyzes the project, installs the Connector, and even sets up D1 and R2 for me. This post documents the smooth initial deployment, plus two critical gotchas you need to know at the end.

Sep 07, 20263 min
Claude Code · DebuggingWhen Claude Code Can't Find Git (But Git Works Fine in Terminal)

Claude Code's desktop app kept insisting I install Git, even though git ran perfectly in my terminal. The real culprit wasn't Xcode Command Line Tools or a broken PATH — it was a dead Homebrew symlink from 2022 sitting first in my resolution order. Here's the full debugging trail, including all the dead ends.

Jul 23, 20265 min
EssaysThe Psychology of Money: Wealth Is What You Don't See

I recently read The Psychology of Money. Here are a few points that really resonated with me, and how they connect to some decisions I made this year.

Jul 18, 20264 min
AI · BasecampWhy I Returned to Basecamp

I tried Basecamp before and quit — not because it was bad, but because I couldn't keep up with the writing it demanded. Then the agent CLI arrived, and something clicked.

May 12, 20263 min
Essays · TravelA Road Trip Through Kansai, Sleeping in My Car

At the end of April, I set out from Tokyo with a head full of worries, passing through Shizuoka, Nagoya, Kyoto's Arashiyama, the Nintendo Museum, Nara's mountain roads, Wakayama... Five days later, not a single worry remained.

Apr 26, 20266 min
AI · Claude CodeBuilding Lexio with Two Claudes: A Workflow That Actually Works

How I use Claude Projects for architecture decisions and Claude Code for implementation—keeping thinking and coding deliberately separate, with Lexio as a real-world example.

Mar 13, 20265 min
EssaysThree Months as an Engineering Manager: Learning to Manage in Unfamiliar Territory

Three months into the promotion, I took on two projects I knew nothing about. No fancy methodologies—just showing up to standups, digging through Jira, and asking people. On making priority calls amid uncertainty, and why I've stopped stressing about "reading more management books."

Feb 14, 20265 min
Basecamp · RailsInside Fizzy's Authentication Architecture: A Three-Tier Approach to Multi-Tenant SaaS

How 37signals' Fizzy structures multi-tenant authentication with an Identity → User → Account model, enabling users to belong to multiple organizations cleanly.

Jan 09, 20267 min
Page 01Next
02Topics
Claude CodeCloudflareRailsTravelEssaysAstro