#42スコア 4.5/5小売・EC
AI に POS レジ会計を作らせてみた — 金額系の primitive が、また別業界(小売)でゼロ摩擦だった(やってみた #42)
ルート:
/pos375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
AI に POS レジ会計を作らせてみた — 金額系の primitive が、また別業界(小売)でゼロ摩擦だった(やってみた #42)
やってみたシリーズ: 自作のデザインシステム
@gunjo/ui(群青)を、文脈ゼロの cold な AI に実 UI で作らせる連載。今回は業界を変えて小売——POS レジ会計(カート明細・軽減税率・預り金/おつり・支払方法・レシート)。
結果 — 4.5/5
tsc/build 緑・console 0・375px(タブレットレジ想定)でカードレイアウト・税率別内訳が正確・現金不足で会計ブロック・h1 1個。
この回の主役 — 金額系 primitive が、また別業界で全部効いた
銀行→会計→給与で育てた金額/フォーム primitive を、小売(POS)でも cold AI が全部使った:
CurrencyInput(#176) — USED(預り金・値引き¥)。draft で入力中も桁区切り、数値 emit、min/max クランプ、aria 転送。クイック現金ボタンから controlled value で綺麗に再描画。ゼロ摩擦。EditableDataTable(#199) — USED, the standout win(カート明細)。数量ステッパー・税率バッジ・導出金額・renderFooterCell・自動モバイル card 化。この画面を安くした部品。RevealSection(#213) — USED(現金ブロック・非現金ヒント・会員パネル)。role=region+aria-liveで条件付きセクションの a11y がぴったり。意図通り。formatCurrency(#180) — 表示金額の100%。10回連続。
前ラウンド build した RevealSection が翌回(別業界)で即採用——複利が業界をまた1つ越えた。fintech/会計/給与/小売、「金額を扱う画面」はどこでもこの primitive 群で composition できる段階に。
新しい穴は "POS ドメインの複合部品"
満点を阻んだのは、レジ特有の複合パターン:
- 🟠 数値キーパッド/釣銭テンダーパッドが無い(最大)。預り金→クイック現金→おつり→不足ブロックを手巻き(#216・POS 1回目)。
- 🟠 レシート/印刷レイアウトが無い(#217・POS 1回目)。
- 🟠 MoneyOrPercent(¥/%割引)が無い(請求書#37+POS#42 で手巻き・#218・2回目)。
今回もコード無し——3回ルール(同じ穴が3回出て初めて作る)に従う。POS 複合部品は1〜2回目、まだ build 閾値に達していない。誠実に起票だけ。
学び — 「3回ルール」が過剰 build を防ぐ
table→card(#190): #34→#35→#36 と3回で build
CurrencyInput(#176): #32〜#40 と4回で build
MoneyOrPercent(#218): 請求書#37+POS#42 で2回目 → まだ作らない
cold テストを量で回す価値は「頻度が primitive を浮かび上がらせる」こと。逆に、頻度が低いうちは作らない——1回の「あったらいいな」で作ると過剰になる。POS の釣銭/レシートは「らしさ」が強いが、再出現を待つ。金額系が成熟した今、規律ある "作らない判断" も含めて kit を育てる。
次回予告(やってみた #43)
- 別業界もう1つ(医療/物流)か、POS をもう1枚(在庫/返品)で釣銭・レシートの再確認か。
試す
まだ alpha。金額系が、また別業界でゼロ摩擦だった回。
<!-- 公開前: 相互URL差込/スクショ確定/EN(dev.to)ミラー -->
使用した @gunjo/ui コンポーネント
この画面のソースが直接 import している部品です。
AlertAlertDescriptionAlertTitleBadgeButtonCardCardContentCardDescriptionCardFooterCardHeaderCardTitleCurrencyInputDialogDialogContentDialogDescriptionDialogFooterDialogHeaderDialogTitleEditableColumnEditableDataTableEmptyStateInputLabelNumberInputRevealSectionSelectSeparatorStatisticToggleGroupToggleGroupItem
cold AI が組み上げた実コード
ファイル名をクリックでソースを展開できます。