開発

アプリのネタ切れと偏りを防ぐ
「アイデア在庫」と
「重複回避ルール」を自動化した話

· SEADICE

海外向けアプリ1日1本・国内向けアプリ1日3本というリリース頻度を自動化すると、すぐにアイデアのネタ切れと、ジャンル・UX形態の偏りという2つの問題にぶつかる。p/apps/.overseas-queue.jsonというアイデア在庫ファイルと、git logで直近の実績を参照するローテーション判定を組み合わせることで、この2つを同時に解決した。

ネタ切れ対策:アイデアをその場で1本考えるのではなく「在庫」を持つ

毎回その場で新しいアイデアを1つ考えると、質が安定しないうえ既存アプリとの重複チェックが漏れやすい。そこで海外向けは、アイデアを5本まとめて考えてp/apps/.overseas-queue.jsonというJSON配列に貯めておき、実行のたびに先頭から1本だけ取り出す(pop)方式にした。

偏り対策:git logを「直近の実績データベース」として使う

国内向けは、生活・お金・教育など8つの困りごとジャンルと、記録+可視化・チャット相談・辞典型など7つのUX形態を掛け合わせて選ぶ。何もルールがないと「診断系ばかり作ってしまう」という偏りが起きやすい。

参照先チェック内容ルール
git log --format=%Bの直近コミット前回選んだ3ジャンル同じジャンルを2日連続で選ばない
同上前回選んだ3つのUX形態同じ日に同じ形態を2回選ばない・前日と同じ形態も避ける
アプリディレクトリ一覧既存アプリ名・題材企画段階で重複候補を除外

実行するたびに自分の履歴を読み直す設計

ポイントは、ローテーションのルールを固定の順番表として持たせるのではなく、実行するたびにgit logを読み直して「前回何を選んだか」を確認する設計にしたことだ。これにより、実行間隔が空いても崩れないし、手動でアプリを追加した日があっても自動的に整合性が取れる。

  1. 直近のコミットメッセージから前回選んだジャンル・UX形態を抽出
  2. 困りごとジャンルプール・UX形態リストから、前回と重複しない組み合わせを選定
  3. 選定理由(ジャンル・形態の組み合わせ)をコミットメッセージに明記し、次回参照できる状態を維持

固定スケジュール表を持たせなかったのは、実行が飛んだ日があっても壊れない設計にしたかったため。判定材料を「今のリポジトリの実際の状態」だけに絞ることで、外部の状態管理を持たずに済んでいる。

2026年7月29日時点の在庫状況

本日時点で海外向けキューはukiyoe-vision・karesansui-zen・kokeshi-craftの3本を残して運用中。国内向けは資格・防災・節電節水という3ジャンルを本日選定し、辞典型・シミュレーター型・比較ツール型という3つのUX形態を組み合わせて実装した。

Related

新規アプリ公開後の「配線忘れ」をレジストリで自動化した話 →

← ブログ一覧に戻る