本記事は 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 時代では必須になりそうです。
今日はここまで。最後まで閲覧いただきありがとうございました。


コメント