AI SNS アプリと 30 days AI challenge まとめ – day 30 最終日

30 days AI challenge

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

今日でチャレンジ最終日ですが、いつも通り 1 日 1 アプリの今日の分から説明します。
今日は AI SNS アプリを作りました(実はほかにもアイデアがありましたが後述します)。

アプリ概要

SNS アプリ

過去にも SNS アプリを作ってみたいと思っていたので、AI 開発でどんなものができるかと作ってみました。
まずはユーザー登録画面とログイン画面です。通常外部サービスで認証周りは実装するほうがセキュリティ面としても安全ですが、今回は自前実装です。

ユーザーの新規登録後にコミュニティを作成でき、そのコミュニティー内で自由に SNS の設定や仕様を作ることができるアプリにしました。

管理者の設定次第でいろいろなコミュニティ活動を行うことができます。イベントを作成したり、メンバーの紹介機能があったり、様々な機能に対応しています。

コミュニティー管理者であれば自由に機能を追加/削除することができ、また AI に自然言語で追加したい機能を伝えると、その機能の提案と実装を行ってくれます。ここで自由度が大きく広がります。

コミュニティーはグローバルに一意な ID とパスワードで管理されており、他のユーザーはコミュニティーに参加申請を出し、管理者が承認することでコミュニティーに参加が可能になります。

アプリとしてはシンプルな SNS アプリでした。

その他アプリ

実は 30 日目のアプリは集大成として AI に完全に丸投げしてアイデア自体も AI に考えてもらおうと思っていました。
一応そのアプリを作ったのですが、その内容が過去のアプリの焼き回しに近いものや謎のダンジョンアドベンチャーアプリでした。

以下完全に AI に任せて生成されたアプリ 1 – AI Life Compass
ニュースや今日のトピック、今日やるべきことなどを AI 生成してくれたり、AI に自然言語でいろいろ尋ねることで分析やアドバイスをくれるようなアプリでした。

以下完全に AI に任せて生成されたアプリ 2 – AI ダンジョンクロニクル

風来のシレンのようなダンジョン探索アプリです。


この様子を見て、クリエイティブというと大げさですが、新規のアイデア出しは AI の苦手な分野であるということや、AI が生成したものをそのまま呼び出す/実装することの懸念というものは実感しました。

技術要素

SNS アプリの技術要素としては以下の通りです。

データは SQL Server で管理し、パラメータ化クエリをバックエンドで発行しています。

要素技術/手法
フレームワークBlazor Server (.NET 9) @rendermode InteractiveServer
DBSQL Server + Microsoft.Data.SqlClient(生SQL、パラメータ化クエリ)
認証独自実装(SHA-256 + ソルト)、[AllowAnonymous] でフレームワーク認証バイパス
権限管理ロールベース(admin/member)+ 承認フロー(pending/approved)
データ格納リレーショナル + DataJson(NVARCHAR(MAX)) による柔型JSON格納
AIGoogle Gemini API でコミュニティモジュール構成を自動提案
テンプレート6種のプリセット構成をメモリ内定義 → 一括DB挿入
UI設計enum ベースの状態管理SPA、CSSはコンポーネント内 <style> 直書き

ユーザー登録や認証は外部サービスを使わずに自前実装です。本番環境では外部サービスで認証を持たせたほうが安全ですが、今回は local なので自前にしています。パスワードの管理として、ソルト付き SHA-256 ハッシュでパスワードを格納しています。

private static string HashPassword(string password)
{
    var bytes = SHA256.HashData(Encoding.UTF8.GetBytes(password + "ここに Salt"));
    return Convert.ToBase64String(bytes);
}

ログイン時はハッシュ照合後にユーザーオブジェクトを返却するようにしています。

var hash = reader.GetString(3);
if (!VerifyPassword(password, hash))
    return (false, "パスワードが正しくありません。", null);

var user = new SnsUser { Id = reader.GetInt32(0), ... };
return (true, "ログインしました!", user);

振り返り

30 days AI challenge と題し、30 日間毎日 AI 開発 / AI アプリの作成を行い、ついに今日 30 日達成することができました。

作成したアプリ一覧は以下の通りです。振り返るといろいろなアプリを作りました。。

  1. 今日の献立を考えてくれる AI アプリ – day1
  2. お散歩ルートアプリ – day2
  3. ランダムニュース記事 AI アプリ – day3
  4. AI 乗車位置ナビゲーター – day4
  5. 家系図/人間関係データベース – day5
  6. Crowdy 混雑予想 AI アプリ – day6
  7. 天気予報から服装を提案してくれる AI アプリ – day7
  8. 駅構内から目的地へのルート検索 lostation – day8
  9. 自由にルールを追加できる AI 将棋アプリ – day 9
  10. AI お食事コンシェルジュ – day 10
  11. AI で開発した InBrowser – day 11
  12. 飲んだお酒を記録する AI アプリ – day 12
  13. AI 単語帳アプリ – day 13
  14. AI 予定生成カレンダーアプリ – day 14
  15. 人の情報を登録、AI が分析してアドバイスをくれる AI アプリ – day 15
  16. Microsoft ドキュメントの更新差分を検出してくれるアプリ – day 16
  17. AI 疑似 SSMS アプリ – day 17
  18. AI タイムゾーン時計アプリ – day 18
  19. 引っ越しタスク管理 AI アプリ – day 19
  20. AI ニュースキュレーションアプリ – day 20
  21. AI 言語学習アプリ – day 21
  22. AI アイデア出しアプリ – day 22
  23. AI マイルストーン管理アプリ – day 23
  24. 財務諸表 EDINET DB 検索 AI アプリ – day 24
  25. PostgreSQL ソース解析 AI アプリ – day 25
  26. 教養学び AI アプリ – day 26
  27. Shockwave アプリ – day 27
  28. データベース設計学習 AI アプリ – day 28
  29. 日本語 Microsoft Learn revise AI アプリ – day 29

中には “それは ChatGPT や Copilot でよくないか?” と思えるアプリもありますが、それはアプリにするまでもない?ということを考えるきっかけにもなり、AI の得意な分野、苦手な分野、AI にする必要がある分野無い分野などの気づきもありました。

ほとんどが自己満アプリではありますが、社内/外の方から “このアプリは使いたい” とお声がけいただいたアプリもいくつかあり、とても嬉しかったです。

上記の中からブラッシュアップしたアプリを publish する予定です。ご期待ください。

AI アプリ開発を通じて、プロンプトの書き方や AI にできることなどを学べたことは大きいですが、それに加えて “アイデア出し” を毎日行うことの大変さも改めて実感しました。ぼんやりとアイデア自体はありますがそれを細かくアプリや機能にまで落とし込む、言語化する、ということがなかなか難しく、このチャレンジの中では毎日のアイデア出しが一番大変でした。

終わりに

ここまで 30 days AI challenge にお付き合いいただきありがとうございました!

このチャレンジは内容よりも “30 日間毎日休まず続ける” ということに重きを置いていますので、30 日間継続したことが一番意味がありました。
AI 学習だけでなく、モチベーションやきっかけづくりなど、自分の中でもいつもとはちがった刺激がありました。

是非皆さんも 30 days チャレンジを実施してみてください。何かのきっかけになってくれると思います。

以上 30 days AI challenge でした。今後もアプリの公開に関してやその後のアプリ開発、データベース技術関連の記事をブログにする予定です。
また別の記事でお会いしましょう。ありがとうございました!

コメント

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