Writing
Engineering Notes
Practical lessons from building and maintaining real-world Ionic, Angular, Capacitor, Cloudflare, and open-source projects.
Some articles are reviewed English editions of work originally published in Japanese on Zenn and note.
August 2026
- From Zenn
Visual Regression Testing for OSS: Mac-Independent Baselines Updated Only in CI
How an Ionic theme project uses Playwright in a fixed Linux container, maintainer-authorized screenshot updates, and separate read/write jobs to keep visual baselines reproducible and reviewable.
- From Zenn
Let Users Try This PR with npm install: Building Per-PR Beta Releases for OSS
How I built a secure per-PR npm beta release flow with GitHub Actions, OIDC trusted publishing, immutable versions, and maintainer-approved /beta commands.
- From Zenn
The Library Grew by 0.1KB, but the Angular App's Initial JavaScript Shrank by 685KB
Why replacing Ionic root imports with granular entrypoints in a provider library cut an Angular app's initial synchronous JavaScript closure by 36.5%, even though the library itself became slightly larger.
- From Zenn
Bringing iOS 26 and Material Design 3 to Ionic: Both Themes Reach v9
The iOS 26 and Material Design 3 themes for Ionic now align with Ionic 9, adding two-line list items, supporting-text layouts, iOS outline fields, visual regression testing, and a smoother migration path.
- From Zenn
A Material Design 3 Theme for Ionic Has Grown into Something Really Good
@rdlabo/ionic-theme-md3 brings Material Design 3 to Ionic while preserving its components and markup, with dark mode, transitions, incremental adoption, and iOS 26 theme compatibility.
- From Zenn
Ionic 9 Is Here! Web Standardization Takes a Big Step Forward — Five Major Changes
Ionic Framework 9 highlights five changes that matter in day-to-day app development: rich Select options, Font Icons in ion-icon, ion-img deprecation, cleaner form controls, and more accessible sheet modal handles.
- From Zenn
Capacitor App Release Best Practices: Split Live Update and Store Submission in CI
Wire Capawesome Live Update, Cloud Build, Cloud Deploy, and GitHub Actions so a version tag alone routes bug fixes over-the-air and feature or native changes through store submission.
- From note
Live Updates for Mobile Apps: Overcoming the Next Bottleneck After AI-Accelerated Development
AI can make implementation dramatically faster, but mobile delivery still stalls at store review. Live Updates can shorten that last mile when the change, policy, and native runtime all allow it.
- From Zenn
The Implementation Load Was Too Heavy—So I Shelved It. What I Learned Shipping That Feature with AI
I shipped offline sync for a business app after shelving it for years. AI expanded what developer knowledge could reach—not replace it—and guardrails made a release I could not fully trace line by line still controllable.
- From Zenn
Why You Should Write Custom ESLint Rules — Generic Rules Won't Tame AI Coding
When AI writes your code, generic ESLint rules are not enough. Custom rules turn repeated review comments into CI guardrails that enforce your project's architecture and error-handling style.
- From Zenn
I Was Doing Rich Programming — How Implementation Changes on Cloudflare Workers
Moving NestJS on EC2 to Hono on Cloudflare Workers made hidden costs visible: bundle size, 128 MB memory, subrequests, CPU time, Durable Object duration, and KV operations.
- From Zenn
Workers KV vs Cache API — Where Each Belongs
After moving from ElastiCache to Cloudflare, per-key KV billing surfaced waste. Split short-lived colo-local responses into Cache API and cross-colo artifacts into KV.