隙あらば自動化のことを考えます
自分の「めんどくさい」を解決するためにアプリやツールの開発を行い、オープンソースとしてGitHubで公開しています。
WebアプリからGradleプラグインまで、必要であればどのようなものでも作っています。
そのため、メインであるKotlin以外のプログラミング言語でもモダンな言語であれば大抵扱えます。
生年月日から自分の年齢を毎回数えるのがめんどくさかったため、それを計算するWebアプリを開発したり、Kotlin Multiplatform(KMP)で開発したWebアプリをprograssive web app (PWA) としてビルドするためのファイルを用意したりコマンドの実行をアプリ毎に行うのがめんどくさかったため、それをビルドプロセスに組み込むGradleプラグインを開発したり、自分のアプリで毎回同じコードを書くのがめんどくさかったので自分用のUIコンポーネントをまとめたKMPライブラリを開発したりしてきました。
また、Dependabotによる依存ライブラリの自動アップデートも導入しており、合計18のアプリやツールが自動でメンテナンスされるようにしています。
マイナーアップデートや不具合修正であれば自動テストをパスしたものは完全に自動で適用されるようにしていて、メジャーアップデートについては自分で確認してから適用する運用にしています。
これまでに作ったもの抜粋
・how-old-am-i
生年月日から年齢を計算するWebアプリ(Kotlin)
・ComposePWA
KMP製WebアプリをPWAとしてビルドできるようにするGradleプラグイン(Kotlin)
・my-composables
自分用のUIコンポーネントをまとめたKMPライブラリ(Kotlin)
・input-source-handler
US配列キーボードでの入力切り替えを快適にするためのMacアプリ(Swift)
・claude-gh-admission-hook
GitHubへのアクセス制限を厳格化するClaude Codeフック(Rust)
・assert-no-unexpected-changes
AIが書いたコードが望まぬファイルの削除や変更を行っていないか検証するためのGitHub Action(YAML + Docker + Bash)
・uncompressed-cd-ripper
FLAC Uncompressedでリッピングするリッピングソフト(TypeScript React + Rust)
・html2pdf
HTMLをPDFに変換するツール(TypeScript)
・ngx-mat-little-diva-theme
Angular Materialのテーマ(SCSS)
・dotfilesのdeployスクリプト(Python)