Koji Wakamiya

About

I'm Koji Wakamiya, koji-1009 on GitHub. I build apps for Android, iOS and the web with Flutter, contribute to the Flutter framework and engine, and maintain 24 packages on pub.dev.

Contributions to Flutter

As of September 2026, 23 of my pull requests have been merged into flutter/flutter, 6 into flutter/packages and 3 into flutter/website. Six of them have been featured in Notable Commits, the lists of highlighted changes that the Flutter team publishes (2024, 2025, 2026).

Font fallback on iOS

Bold Japanese text on iOS was rendered at the regular weight, an issue open since 2023 (#132475). I traced it to font fallback in the Skia text stack, which always returned the weight-400 face of Hiragino Sans, confirmed that Chinese, Korean, Arabic and Hindi text had the same problem, and proposed a fix in the engine (#179350). That pull request brought in the Skia team, who fixed it in Skia; the fix rolled into Flutter nine days later, and I confirmed it on the master branch.

Text input on the web

Typing Japanese on Flutter Web broke composition and selection in several ways. I fixed the composing offsets, synced more text styles to the DOM input so that the IME and selection line up, and fixed how fallback fonts are loaded (#161593, #180436, #166212).

Keyboard and autofill on iOS

I fixed the keyboard flickering when focus moves between text fields, cleaned up autofill contexts along with the view lifecycle, and made autocorrect follow autofillHints (#182661, #173598, #165637).

Images and memory

Image codecs are now disposed right after their frames are created, and I followed up with the same fix across the framework, the engine and the tests (#159945). I also added useLogicalPixels to ResizeImage and reportErrors to ImageStreamListener (#184549, #180327).

Other work

Smaller framework changes include scrollCacheExtent on PageView, lifting the destination limit in NavigationRail, and extension-type support in go_router_builder (#180411, #152972, flutter/packages#9458).

Contributions across the ecosystem

Outside Flutter itself, my larger contributions move widely used packages onto new platform APIs: dart:js_interop and package:web in place of dart:html, WebAssembly, and Swift Package Manager.

Packages I maintain

I publish 24 packages on pub.dev under the koji-1009.com publisher, including:

Maintained forks

Widgets and platform

  • paging_view: paged lists, in the spirit of Android Jetpack’s Paging 3
  • viewfinder: a photo viewer
  • platform_image_converter: image format conversion using native APIs on iOS, macOS, Android and the web
  • qr_scanner_view: a live camera QR and barcode scanner
  • yomu: a QR code and barcode reader in pure Dart, with no dependencies

Tools

  • shutter: renders a project’s widget previews to PNG and diffs two runs into before-and-after images
  • dartrics: code-quality metrics and unused public API detection for Dart, with the same tool for Kotlin and Java (ktrics) and Rust (cargo-rustics)
  • dapper: a Markdown and YAML formatter, inspired by Prettier
  • setup-flutter: sets up the Flutter SDK in GitHub Actions

Web

  • Crumple Zone Architecture: an architecture for web applications that trusts the browser and is designed around failure modes; this blog is built on it
  • astronoha (source): searches Japanese parliamentary speeches from the Meiji era to today, in the Imperial Diet and the National Diet, through the National Diet Library APIs (Japanese UI)

Community

Talks at FlutterKaigi (in Japanese)

Elsewhere

GitHub · X (@D_R_1009) · Speaker Deck (Japanese) · Zenn (Japanese) · blog.dr1009.com (Japanese)