2022年の春から夏にかけて、react-admin-mlml-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 みたいな既製に寄せて、自分は本筋に時間を使う、という割り切りが要りそうだと感じた。