【開発秘話】Geminiと二人三脚。非エンジニアがPythonで業務アプリを完成させるまでの記録

副業を考え、自分のこれまでの社会経験が生きる道を探したとき、たどり着いた答えが「業務アプリの作成」でした。
世の中には大手メーカーのソフトが多く存在しますが、現場には「もっとこうしたい」という個別化(カスタマイズ)のニーズが必ずあると考えたからです。

しかし、私はプロのエンジニアではありません。
この記事では、私がAIパートナー「Gemini」と相談しながら、どのようにしてPythonとDjango、そしてPythonAnywhereという環境にたどり着き、実用的なシステムを作り上げたのか。
その試行錯誤と、AIとの付き合い方について記録します。

目次

  1. Kotlin、Blazorでの挫折。そしてPythonへの転換
  2. 「コードを書く」のではなく「指示を理解する」ことに徹する
  3. Geminiとの知恵比べ:バージョン問題と無限ループ
  4. 機能拡張と公開:経費精算から統合管理へ
  5. AIに仕事を奪われるか?生成AI時代の「人間の役割」

1. Kotlin、Blazorでの挫折。そしてPythonへの転換

最初から順調だったわけではありません。最初はKotlinやBlazorなど、いくつかの技術を試しては寄り道をしていました。
しかし、思うようなものができず、開発は一度頓挫しました。

時間をおいて、改めてGeminiに相談してみました。
「業務アプリを個人で、効率よく作りたい」。
そこで提案されたのが、現在の構成である「Python + Django + PythonAnywhere」でした。

不思議なもので、Geminiもしばらく時間が経つと、性格が変わったような気がすることがあります。
以前は提案してこなかった解決策を、成長した彼(彼女?)が提示してくれたおかげで、今の開発スタイルにたどり着くことができました。

2. 「コードを書く」のではなく「指示を理解する」ことに徹する

まず最初に取り掛かったのは「経費管理システム」でした。日頃の営業活動で、外出先での出費をスマホで簡単に記録したかったからです。

コピペの繰り返し、その先に見えたもの

開発フローはシンプルかつ泥臭いものです。
Geminiにやりたいことを問いかけると、作成すべきファイル名とコードが返ってきます。私はそれを、場所を間違えずにひたすらコピペします。

当然、エラーが発生します。またGeminiに問いかけ、修正コードをコピペする。
最初はチンプンカンプンだったPythonAnywhereの構造(Consoles, Files, Web, Database)も、この反復作業の中で少しずつ理解できるようになりました。

プログラミングをどこまで理解すべきか?

ここで一つの決断をしました。
「自分でも修正できるようにコードを深く理解すべきか?」
Geminiと相談して決めた私の方針は、「プログラミング(詳細な記述)はGeminiに任せ、自分はGeminiの指示を理解できるレベル(監督)に徹する」ことでした。

3. Geminiとの知恵比べ:バージョン問題と無限ループ

もちろん、AIは万能ではありません。開発中には何度も「AIとの格闘」がありました。

バージョンの壁

環境構築の際、Geminiが推奨するバージョンが、実際の最新版と違うことがよくあります。
あまりに古いバージョンを推奨されたとき、「本当にそれでいいのか?」と問い返しても、やはり古い方を推してくる。
そんな時は、「ダメだったら戻す」と覚悟を決めて、自分の判断で最新版をインストールして進めることもありました。

回答のループと「共有化する情報」

Geminiはこちらの環境をすべて記憶しているわけではありません。推測で回答してくることもあります。
長いチャットになると文脈が忘れられ、「さっき言ったのになぜ?」となることも。

これに対する私の対処法は2つです。

  • 情報の再定義: 新たな問い合わせをする際に、「共有化する情報は何か?」とこちらから確認情報を加える。
  • 外部リソースの活用: エラー解決策がループし始めたら、一度Geminiを諦める。ネット検索でヒントを探し、「こういう方法はどう?」と逆にGeminiに提案する。

4. 機能拡張と公開:経費精算から統合管理へ

動作確認を繰り返し、「経費申請」機能が完成した段階で、PythonAnywhereのHackerプラン($5/month)に申し込み、独自ドメインを取得して公開しました。

一度公開までたどり着くと、開発は加速します。
販売管理、仕入管理、在庫管理、給与・勤怠管理、そして報告書管理。
これまで自分が社会経験の中で「必要だ」と感じてきた機能を、次々と追加していきました。

5. AIに仕事を奪われるか?生成AI時代の「人間の役割」

私はChatGPTが話題になり始めた頃から有償版を使い、その後、Googleのエコシステムとの親和性からGeminiへ移行しました。
プログラミングだけでなく、市場予測、株価予測、健康相談、確定申告まで、今や私の生活にAIは欠かせません。

よく「生成AIに仕事を奪われる」と言われますが、私はそうは思いません。
これまで「情報量」だけで勝負してきた業務は代替されるでしょう。しかし、これからの成否を分けるのは以下の2点です。

  • 生成AIから生み出された回答を、いかに実現するかという「行動力」
  • 生成AIをどう使うかという「想像力」

そして何より、AIがあってもなくても、人としての営みの本質は変わらない気がしています。
これからもGeminiという相棒と共に、現場の役に立つシステムを作り続けていきます。