はじめに
私はよく忘れ物をする。忘れ物をするときは、気づくまで忘れ物をしたことに気づかない。忘れ物は家を出ていく前に気づくことができれば忘れ物にならないので、出発前に忘れ物に気づく仕組みが必要だ。また、出発時に持っていくべき物は週末と平日ではカスタム管理できると嬉しい。わざわざ玄関でスマホを開いてTodoリストを確認するのは面倒だ…ということで、買っておいたM5StickS3で「デジタル物理忘れ物Todoリスト」を作ってみた。
作ったもの
ハードウェア
メインボタンを押したら次々にアイテム名が入れ替わっていくTodoリスト。とにかくシンプルに作りたかったのでこれ以上でもこれ以下でもない。TodoリストはAWS S3にあるのでメインボタンを押せばPull型で更新も可能な状態にしてある。
ソフトウェア
GitHubを正本(最近よくAIが言う表現)として、アプリケーションの実態もTodoリストのJsonファイルも管理。GitHub ActionsでAWS S3へTodoリストをPush。デバイス側からリストのjsonファイルをS3からPullできる形とした。デバイス側からは任意のタイミングで最新リストを利用することができる。MQTTでリストを配信するような小難しい構成の採用はやめた。
開発の中で工夫したこと
実機を使った開発なので、ソフトウェアをカスタムしては実機に焼くなど、何度も冪等な作業が発生する。当たり前にコーディングエージェントに開発を任せているので、冪等性が求められる作業はスキル化しておいた。エージェント開発の効率化において、APMなど共通のエージェント・スキル基盤の管理ニーズが高まっている中、リポジトリ管理の粒度・構成管理って難しいなと感じていたが、こういったリポジトリ固有のスキルについてはリポジトリ内管理でよさそうだと、知見が得られた。
さいごに
使い始めて初日から財布の忘れ物に気づけた。Todoリスト管理、最高。インフラ・構成管理もできてるのでリストにアイテム追加しといて~も技術的には可能である。Todoリストはリストを使っていくことより、いかに負荷少なくアイテムを追加できるかが、継続的な運用において重要だと思う。この情報過多なAI時代を勝ちに抜くには、外部記憶をうまく使っていかに人間の認知負荷を減らすことができるかにかかっている。とりあえず忘れ物Todoリストから習慣化していこう。
