2022年の春から夏にかけて、react-admin-ml と ml-creator で ML 向けのコンテンツまわりを2リポ試した。性格がだいぶ違う2つ。
react-admin-ml — CRUD 管理画面
最初 Create React App で始めて、途中で Next.js 化した。React Admin をベースに、ML パイプラインの入出力を人間が確認・修正するための CRUD UI を組んだ。
カスタムhttpclientを書いて、自前 API に React Admin を繋ぐ- 基本機能(一覧・編集)
- リファレンス(関連データ)の表示で詰まった跡がコミットに残っている
React Admin は CRUD を一気に立てられるのが強い。一方で、独自 API に繋ぐところと、リレーションの見せ方で手が止まりがちだった。
ml-creator — 見た目の調整地獄
こっちはコンテンツ表示寄りで、コミットを見ると ほぼレイアウト調整で埋まっている。横スクロール、タイトルの SVG 化、Web フォント、タブレット / PC のメディアクエリ(lg ブレークポイント 1024)、余白の詰め…。最後は 削除 で畳んでいる。
管理画面・コンテンツ系は「機能は単純なのに見た目の調整に時間が溶ける」典型で、それがそのまま残っている。
学び
ML プロジェクトでも、人間が確認・修正するための管理 UI は地味に効く。モデルの良し悪しの前に、入出力を見られる画面がないと運用が回らない。
ただし個人開発だと、本番の ML よりこの UI 側にリソースを取られがち、というのも正直なところ。CRUD は React Admin みたいな既製に寄せて、自分は本筋に時間を使う、という割り切りが要りそうだと感じた。