誰にも見られることのない秘密の日記帳アプリをAIに作ってもらいましょう。バイブコーディングで、わずか12行の簡単な指示だけで完成させてみましょう。ローカルPCにデータを保存する際、暗号化をしっかり行うように指示します。

  • Geminiを起動して簡単な指示を与えたところ

    暗号対応の日記帳アプリを作ろう

日記帳アプリを作ってみよう

今回の日記帳アプリは、パスワードを入力すると、プログラムが開始するというものにします。プロジェクト名は、個人的な日記なので「personal_diary」としました。今回も、Gemini CLIを利用して作成してみましょう。Gemini CLIのインストールは、本連載の2回目を参考にしてください。

ターミナル(WindowsならPowerShell、macOSならターミナル)を起動して、次のコマンドを実行してフォルダを作成して、Gemini CLIを起動しましょう。

mkdir personal_diary
cd personal_diary
gemini

ここでは、下記のような指示(プロンプト)を与えてみます。

個人的な日記帳アプリを作ってください。
パスワードで日記データを暗号化してください。
PythonとFlaskを使って、Webアプリにしてください。
  • Geminiを起動して簡単な指示を与えたところ

    Geminiを起動して簡単な指示を与えたところ

日記帳アプリを実行しよう

しばらく待っているとアプリが完成しました。Pythonを使って作ってもらったので、このアプリを実行するためには、当然、Pythonがインストールされている必要があります。Pythonの公式サイトから、Pythonをインストールします。

そして、Gemini CLIは、次の画面のように、Pythonのアプリを実行するための方法も丁寧に説明してくれました。

  • アプリが完成したところ

    アプリが完成したところ

これに従って作業すれば良いのですが、面倒なら、Gemini CLIに「上記のコマンドを実行して」と依頼すればコマンドを実行してくれます。

それでも、ここで実行するコマンドは、Pythonのライブラリをインストールするコマンド「pip install -r requirements.txt」と、Pythonのプログラムを実行する「python app.py」だけです。コピー&ペーストで済むので、直接実行しても良いでしょう。

そして、実行してみると、次のような画面が表示されました。掲示板風の日記帳です。

  • 掲示板風の日記帳だった

    掲示板風の日記帳だった

また、dataフォルダに日記データが書き出される仕組みになっていますが、テキストエディタで開くと、しっかりと暗号化されているのを確認できました。

  • しっかりデータが暗号化された

    しっかりデータが暗号化された

今回、わずか三行の指示を与えただけですが、かなり良い感じの日記帳ができました。

改良しよう - ファイル数が多くても安心できる設計にしよう

ただし、長年このアプリを使う場合に不安があります。作成されたプログラムの挙動を確認すると、1日分の日記が1ファイルで保存されますが、投稿した日記を全てdataフォルダに保存していくだけの簡単な仕組みだったのです。

つまり、1000日分の日記をかけば、1000個のファイルがdataフォルダに保存されてしまいます。1つのフォルダに1000個ものファイルがあると、環境によってはフォルダの読み込みが遅くなることもあります。せめて1年ずつフォルダ分けして保存するようにして欲しいものです。

そこで、次のような追加指示を出してみます。

日記を1年ごとにフォルダ分けして、保存するようにしてください。
また、タイトルには自動で日付を入力するようにしてください。

ただし、上記の指示では、うまくこちらの意図が伝わらなかったようで、次のような追加の指示を出しました。

タイトルの日付は自分で入力できるようにしたいです。
また、起動時にすべて日記データを読むようですが、最新の30件だけ読むようにして。
あとは、年度を指定したときだけ表示する仕組みにしてください。

ここまでで、かなり理想の日記アプリに近づきました。2024というフォルダを作り、そこに日記ファイルを移動してみると、2025年、2024年と表示データを切り替えられるようになりました。

  • 1年ごとにフォルダ分けしてくれるようになった

    1年ごとにフォルダ分けしてくれるようになった

ここで、ふと日記に編集機能がないことに気付きます。1日1ファイルの形式なのですが、日記データは暗号化されているので、気軽にテキストエディタで編集できません。編集機能をリクエストしてみます。

過去の日記を編集できる機能をつけてください。

すると、日記データに編集ボタンを追加してくれました。ただし、実際に動かして見ると、プログラムにバグがあり、「不正なリクエスト」と表示されてしまいました。

そこで、下記のように指摘して、バグを直してもらいました。Webサービスの開発では、ブラウザに表示されるエラーメッセージよりも、ターミナルに表示されるWebサーバー側のエラーログの方が修正の役に立つ場合が多いからです。

「不正なリクエストです」と言われます。
ターミナルに表示されたサーバーのログは、下記のようなエラーでした
"GET /edit/2025/20251108164102021982.json.encrypted HTTP/1.1" 400

これで修正が行われて、満足のいく日記アプリが完成しました。

  • 編集機能を追加してもらった

    編集機能を追加してもらった

ここまでで、作成されたプログラムをこちらにアップロードしています。気になる方は、ダウンロードして試してみてください。

まとめ

以上、今回はGemini CLIを使って、日記帳アプリを作ってみました。プログラムの作成指示から、バグの指摘まで、すべて含めても、わずか12行書いただけでした。思い通りのオリジナルアプリが、簡単に作れるのが、バイブコーディングの良い所です。

自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。これまで50冊以上の技術書を執筆した。直近では、「大規模言語モデルを使いこなすためのプロンプトエンジニアリングの教科書(マイナビ出版)」「Pythonでつくるデスクトップアプリ(ソシム)」「実践力を身につける Pythonの教科書 第2版」「シゴトがはかどる Python自動処理の教科書(マイナビ出版)」など。