AI マイルストーン管理アプリ – day 23

30 days AI challenge

本記事は 2026/02/01 ~ 2026/03/02 の間毎日 AI アプリケーション開発(AI を搭載したアプリ開発 or AI を使用した開発)をテーマに 30 days AI challenge を行う 23 日目のブログポストです。

正直今日は “小粒アプリ” です。

何かを達成したいときゴール設定をすると思いますが、そのゴールが大きければ大きいほど、途中経過やマイルストーンの管理が重要になると思います。今回はそのマイルストーン管理アプリです。

アプリ概要

アプリとしてはシンプルで、目標や詳細をユーザーが入力し、ゴールへの進捗管理やマイルストーン設定ができます。ユーザーが手動で 1 つ 1 つマイルストーンを追加することもできますが、AI が自動で最短ルート(適当なルート)の生成を行ってくれます。

マイルストーンを 1 つクリアするたびにインセンティブを設けることもできます(といっても自分で設定して、自分で用意するご褒美です笑)。

もちろんデータベースにデータを格納しているので後から確認、修正、削除など可能です。

技術要素

技術要素も大したものはありません。

AI を使用したポイントは自動でルート(マイルストーン)を生成する箇所です。いつも通り、ユーザーインプットを AI に渡し結果を JSON で返す仕組みです。

public async Task<List<MilestoneItem>> GenerateMilestonesAsync(
    string goalTitle, string? goalDescription, string? currentStatus, DateTime deadline)
{
    // ユーザーの現状をプロンプトに動的追加
    var descPart = string.IsNullOrWhiteSpace(goalDescription) ? "" 
        : $"\n補足説明: {goalDescription}";
    var statusPart = string.IsNullOrWhiteSpace(currentStatus) ? "" 
        : $"\n現状のレベル・準備状況: {currentStatus}";

    var prompt = $@"あなたは目標達成のエキスパートコンサルタントです。
目標: {goalTitle}{descPart}{statusPart}
今日の日付: {today}
達成期限: {deadlineStr}

以下の条件を守ってください:
- ユーザーの現状レベルや準備状況が記載されている場合は、
  それを考慮して現状に合ったスタート地点・難易度・ステップを設計すること
- 各タスクにはdescriptionとして「何を・どうやるか」の詳細な手順を記載すること
- descriptionには「どのツール/サービスを使うか」「所要時間の目安」「注意点やコツ」も含めること
...
以下のJSON形式のみで回答してください:
{{""milestones"":[...]}}";

    var response = await _geminiService.GetChatResponseAsync(prompt, history);
    // ↑ GeminiService が Google.GenAI ライブラリ経由でAPIコール
}

終わりに

いわゆるタスク管理アプリでした。特に目新しい機能はありませんが、これくらいのアプリであれば AI でサクッと作れてしまいます。

AI でアプリを容易に作れてしまう時代では、ちょっとした工夫や機能はすぐに模倣が可能であり、他のアプリと少し差別化をしただけでは優位性はないですね。

AI アプリ開発でもそうですが、独自のデータを持っていることや、独自の専門性を持っているか、このあたりが AI 時代では必須になりそうです。

今日はここまで。最後まで閲覧いただきありがとうございました。

コメント

タイトルとURLをコピーしました