はじめに:コードは書けない。でも「最強のツール」は欲しかった
「プログラミング? HTMLもまともに書けませんが何か?」
いきなり開き直ってすみません。でも、これが紛れもない事実です。
私は普段、ブログを書いたり画像を生成したりしている、ごく普通のPCユーザーです。「環境構築」という言葉を聞くと蕁麻疹が出そうになりますし、黒い画面(ターミナル)に白い文字が流れる映画のようなシーンを見ると、「うわぁ、難しそう」と他人事のように思っていました。
そんな私が、たった3日でWindows用のデスクトップアプリを完成させました。
しかも、ただの「Hello World」を表示するようなアプリではありません。
- 画像生成AIを内蔵し、
- Pythonで背景を自動透過させ、
- LINEスタンプの申請用テキストまで自動執筆する。
そんな、超高機能な業務効率化ツールです。
まずは、論より証拠。AIエディタ「Cursor」とGoogleの「Gemini」に日本語で指示を出して作った「Stamp Factory」をご覧ください。

信じられないかもしれませんが、私はコードを一行も手打ちしていません。
キーボードで打ったのは、AIへの「日本語の指示(チャット)」だけ。
「ここを直して」「もっと便利にして」「エラーが出たからなんとかして」
まるで優秀なエンジニアの友人に頼むような感覚でチャットをしていたら、いつの間にかプロ級のアプリが完成していたのです。
この記事では、プログラミング知識ゼロの私が、どうやってAIを使い倒してツールを作ったのか。その「指示出し(プロンプト)」の秘密と、開発の裏側で起きたドラマを全公開します。
1. 開発した「Stamp Factory」の全貌:これがAIと作った神ツールだ
そもそも、なぜ私がこんなアプリを作ろうと思ったのか。
それは、私がLINEスタンプを作ろうとするたびに、「3つの地獄」に苦しめられていたからです。
LINEスタンプ作成は、クリエイティブな作業に見えて、実はその8割が「泥臭い事務作業」です。
- リサイズ地獄: メイン画像(240px)、タブ画像(96px)、スタンプ画像(370px)……なんで全部サイズが違うんだ!
- 透過・加工地獄: 背景をきれいに消して、視認性を上げるために白いフチをつける。これを40個分。手首が腱鞘炎になります。
- 申請文地獄: 40個作り終わって燃え尽きた後に待っている、「タイトル」や「説明文」の入力作業。ここで心が折れて、HDDの肥やしになったスタンプがいくつあることか。
「Stamp Factory」は、この3つの地獄をテクノロジーで「全自動化」するために設計しました。
① 画像生成から加工まで「ワンクリック」で完結
通常、画像生成AIでイラストを作ったら、それを保存し、Photoshopなどの画像編集ソフトで開き、背景選択ツールで切り抜き、境界線効果で白フチをつけ、リサイズして書き出す……という工程が必要です。
慣れた人でも1枚あたり3〜5分。40枚なら2〜3時間はかかる単純作業です。
しかし、このアプリでは「スタンプ生成」ボタンを押すだけ。
裏側では、私が厳選したAIモデルたちが連携プレーを行っています。
- Nano Banana Pro: LINEスタンプに最適なパキッとしたタッチでイラストを描画。
- RemBg (Python): 生成された瞬間に背景をきれいに切り抜き。
- Pillow: 規定サイズ(W370×H320)にリサイズし、3pxの白フチを自動で追加。
これら全ての処理が、わずか数秒。ユーザーが見るのは、完成されたスタンプ画像だけ。まさに「工場(Factory)」です。
② 「スマートクロップ」でメイン・タブ画像を秒速作成
地味ですが、スタンプ作家なら泣いて喜ぶ機能がこれです。
ストアに並ぶ「メイン画像」や「タブ画像」を作る際、これまでは「縮小したら顔が潰れた」「余白がおかしい」といった微調整が必要でした。
このアプリでは、作った40個の中から「これ!」と思うスタンプをドラッグ&ドロップするだけで、「スマートクロップ」機能が発動します。
画像をただ縮小するのではなく、「キャラクターの顔がいい感じに中央に来るように」自動でトリミングしてくれます。この機能のおかげで、画像編集ソフトを起動する必要すらなくなりました。
③ 革命的機能「マーケティングアシスタント」
そして、私が最もこだわった機能がこれです。スタンプ完成後の「申請文地獄」からの解放です。
このアプリには、Googleの高性能AI 「Gemini 1.5 Pro」 が搭載されています。
「マーケティングアシスタント」ボタンを押すと、Geminiがスロットに入っているスタンプ画像を最大5枚、実際に目で見て(視覚的に分析して)、以下の情報を書き下ろします。
- 日本語タイトル(キャッチーなもの)
- 英語タイトル(海外販売用)
- 日本語説明文(検索キーワードを意識したもの)
- 英語説明文
- 検索用タグ(10個程度)
実際に、このアプリが生成したテキストを見てください。
【AIへの入力画像】
(パーカーを着た、少し眠そうな女の子のイラスト数枚)
【AIが出力したテキスト】
タイトル: ゆるふわパーカーちゃんの毎日スタンプ
説明文: ふわふわの茶髪にゆるっとしたパーカーが可愛い女の子のスタンプが登場!満面の笑みで「最高!」、ハートを作ったり、疲れて泣いちゃったり…。日常の様々な感情を豊かに表現。トークをほんわか癒します。
タグ:女の子,かわいい,日常,毎日,挨拶,返事,ゆるい,茶髪,パーカー,癒し,嬉しい,楽しい,最高,好き,ハート,眠い,疲れた,泣く,girl,cute,daily,kawaii
すごくないですか? 「眠そう」「気だるげ」といったニュアンスまで汲み取っています。
しかも、画像をZIPで一括ダウンロードする際、これらのテキストも「.txtファイル」として自動で同梱されます。
私たちは、AIが提案してくれた文章をコピーして、LINE Creators Marketに貼り付けるだけ。
クリエイティブではない「事務作業」は、これで完全にゼロになりました。
2. 「コードを書く」時代は終わった?Cursor×Geminiの衝撃的な開発フロー
「そんなすごいアプリ、素人に作れるわけがない」
そう思った方もいるでしょう。以前の私なら、間違いなくそう思っていました。
「プログラミング」と聞いて思い浮かべるのは、黒い画面に向かって難解な英単語を打ち込み、コンマ一つ抜けただけで動かなくなるエラーと格闘する……そんな孤独な姿でした。
しかし、今回「Stamp Factory」を作っている最中、私が感じていたのは「苦痛」ではありません。感じていたのは、「優秀な部下に指示を出し、魔法のように形になっていく興奮」だけでした。
なぜなら、私はコードを書いていないからです。
私がやったのは、AIエディタ「Cursor(カーソル)」を開き、その頭脳である「Gemini(ジェミニ)」に、日本語で「お願い」をしただけなのです。
次世代エディタ「Cursor」とは何か?
まず、今回の主役であるツールについて説明しましょう。
一見すると、世界中のエンジニアが使っている「VS Code」というエディタとそっくりです。しかし、中身は別物です。
Cursorは、「AIがコードを書くこと」を前提に再設計されたエディタです。人間がキーボードを叩く代わりに、AIが猛烈なスピードでタイピングを代行してくれるツール、と考えてください。
そして、そのCursorの裏側で思考を担当しているのが、Googleの「Gemini 1.5 Pro」です。
なぜGeminiなのか? その理由は「記憶容量(コンテキストウィンドウ)」の圧倒的な広さにあります。
アプリ開発では、数千行、数万行のコードをAIに読ませる必要があります。他のAIモデルだと「長すぎて読めません」と記憶喪失を起こす量でも、Gemini 1.5 Proなら「プロジェクト全体の全ファイル」を余裕で飲み込み、文脈を理解した上で、正確なコードを書いてくれます。
この「Cursorの操作性 × Geminiの記憶力」という組み合わせこそが、今回の爆速開発の鍵でした。
魔法のウィンドウ「Composer」:日本語がアプリになる瞬間
特に革命的だったのが、Cursorに搭載された「Composer(コンポーザー)」という機能です。
開発中の私の画面を見てください。私がやっているのは、Ctrl + I(MacならCmd + I)を押して開く小さなウィンドウに、チャットを送ることだけです。
【私からの指示(実際のプロンプト)】
「アプリの右側に、生成した画像を表示するギャラリーエリアを作って。新しい順にグリッド表示させて、画像をクリックしたらモーダルで拡大表示できるようにしたい。デザインはTailwind CSSを使って、今のダークモードに馴染むようにして」
これだけです。HTMLタグも、CSSのクラス名も、JavaScriptのクリックイベントも、一切指定していません。
すると、どうなるか。
- 思考する: Geminiがプロジェクト全体を読み込み、「
App.jsxに構造を追加し、Gallery.cssを新設し、main.jsの画像読み込み処理と連携させる必要がある」と判断。 - 生成する: 必要なコードを猛烈なスピードで書き出し、既存のファイルに追記・修正を行う。
- 完了: 画面上のコードが、緑色(追加部分)と赤色(削除部分)に次々と書き換わっていく。

この間、私はコーヒーを一口飲む暇すらありません。
これまでエンジニアが「どのファイルに書こうか」「クラス名はどうしようか」と悩みながら数時間かけていた作業が、日本語の指示ひとつ、わずか数十秒で終わってしまうのです。
「複数ファイル」を同時に操る衝撃
CursorのComposer機能が真に恐ろしいのは、「依存関係の壁」を破壊したことです。
アプリ開発で初心者が最も挫折するのは、「あっちを直したらこっちが動かなくなった」というデグレ(不具合の連鎖)です。
例えば、「設定画面に『背景削除のON/OFFスイッチ』を追加する」という機能を実装する場合、人間なら画面、保存処理、裏側のロジックなど、複数のファイルを同時に直す必要があります。
これを一つでも忘れると、アプリは動きません。しかし、Geminiの巨大な記憶容量を持ったCursorに頼めば、これら全てのファイルを同時に、整合性を保ったまま書き換えます。
まるで、超優秀なシニアエンジニアが隣に座っていて、私の拙い日本語の指示を汲み取り、見えないところまで完璧に実装してくれるような感覚。これが、私が「コードを書く時代は終わった」と確信した理由です。
3. 開発の裏側:エラー地獄をAIはどう乗り越えたか
前のセクションで「AI開発は魔法のようだ」とお話ししましたが、正直に告白します。
このアプリが完成するまでの3日間、私は何度もパソコンを投げ出しそうになりました。
AIは優秀ですが、完璧ではありません。特に、今回のような「異なる技術(ReactとPython)を無理やりくっつける」ような複雑なアプリ開発では、解決困難なエラー(バグ)が次々と襲いかかってきます。
本来なら、ここで挫折して終わりです。エラーの原因を突き止めるには、深い専門知識が必要だからです。
しかし、私は乗り越えられました。なぜなら、私には「エラーログをAIに投げつける」という必殺技があったからです。
事件ファイル①:終わらないビルド地獄
開発も終盤、いよいよアプリを配布用の「.exeファイル」にする作業(これを「ビルド」と言います)に入った時のことです。
ターミナルにコマンドを打ち込み、ワクワクして待っていたのですが……終わりません。
10分経っても、30分経っても、画面には不吉なログが流れるだけで、完了の合図が出ないのです。
Building... analyzing dependencies...
Processing: torch, numpy, pandas, tensorflow...「えっ、待って。TensorFlowなんて使ってないよ?」
私のPCには、過去に勉強で入れたAIライブラリが大量に残っていました。どうやらビルドツールが、関係ない巨大なファイルまで真面目に全部チェックして、パンクしているようです。
AIへのSOS:「助けて、止まっちゃった」
私はパニックになりながら、Cursorのチャット欄にこう打ち込みました。
私:「npm run buildを実行したんだけど、30分経っても終わらない。ログには『analyzing dependencies』って出てる。これ、私のPC環境が悪いの? 助けて」
まるで子供のような相談です。しかし、Geminiの回答は、熟練エンジニアのように冷静かつ的確でした。
AI:「おそらく、PC全体(グローバル環境)に入っている不要な重いライブラリを、PyInstallerがすべて巻き込んで解析しようとしていますね。
実家(PC全体)の荷物を全部検査するのは大変なので、このアプリ専用の『空っぽのワンルーム(仮想環境)』を作って、そこに必要な家具だけ入れましょう。」
なるほど!
私のPCは「ゴミ屋敷」状態だったため、引越し(ビルド)が終わらなかったのです。AIはそれを「仮想環境(venv)」という技術で解決しろと提案してくれたのです。
提示された python -m venv venv というコマンドを実行すると、さっきまで無限に時間がかかっていた処理が、わずか2分で完了。 念願の「Stamp Factory.exe」が生成されました。
事件ファイル②:Canvas真っ白事件
次に起きたのは、もっと奇妙な現象でした。
画像に文字を入れる機能を実装した直後のことです。AIは「実装完了しました!」と自信満々に言っているのに、アプリを動かすと画面が真っ白なのです。
しかし、裏側のログ(記録)を見ると、明らかに成功しています。
[renderer] Image generation successful!
[canvas] Text added: "Hello"「成功しているのに、見えない」。まるで狐につままれたような状況です。
必殺技:「ログ・フィーディング(餌やり)」
ここでも私は、自分で原因を考えるのをやめました。代わりに、開発者ツール(F12キー)に出ていたログをすべてコピーし、AIにこう言いました。
私:「ログには『成功』って出てるのに、画面は真っ白だよ。このログを見て原因を特定して直して。
(ここにログをペースト)」
これを私は「ログ・フィーディング(Log Feeding)」と呼んでいます。エラーログを「読む」のではなく、AIへの「餌」として与えるのです。
するとAIは、人間では気づきにくい「ある矛盾」を見抜きました。
AI:「ログのタイムスタンプを見ると、Reactが画面を更新するタイミングと、描画エンジン(Fabric.js)が絵を描くタイミングがミリ秒単位でズレています。
Reactが新しい画用紙を用意する前に、描画エンジンが絵を描き終わってしまっているため、『幽霊キャンバス(ユーザーに見えていない古い画用紙)』に一生懸命絵を描いている状態です。」
「幽霊キャンバス」……!
言われてみれば納得ですが、Reactのライフサイクル(画面更新の仕組み)を知らない私には、一生かかっても辿り着けない答えでした。
AIはそのままApp.jsxの修正コードを書き出し、「描画のタイミングを同期させる処理」を追加しました。適用ボタンを押すと、画面には鮮やかなスタンプ画像が表示されました。
エラーは「読む」ものではなく「投げる」もの
この2つの事件から言えるのは、AI時代の開発において「エラーメッセージを理解する必要はない」ということです。
エラーが出たら、思考停止して全選択コピーし、AIに貼り付ける。 たったこれだけで、世界中のエラー事例を学習したAIが、その場に最適な解決策を提示してくれます。
「専門知識がないから不安」という方は、安心してください。
画面が真っ赤なエラーで埋め尽くされた時こそ、AIが最も輝く瞬間です。彼らはトラブル解決が大好きなのですから。
4. コピペで使える!AIを動かす「魔法のプロンプト」技術
「AIに指示を出せばいい、というのは分かった。でも、具体的に何て言えばいいの?」
ここまで読んで、そう感じた方も多いでしょう。
料理に例えるなら、Cursorという「最高級のキッチン」とGeminiという「三ツ星シェフ」が揃っても、オーダーするあなたが「なんか美味しいもの作って」と曖昧な注文をしていては、カップラーメンが出てくるかもしれません。
AI開発における「プロンプト(指示文)」は、シェフへのオーダー票であり、部下への業務命令書です。
ここが適当だと、AIは平気でバグだらけのコードを書いたり、既存の動いている機能を破壊したりします。
このセクションでは、私が「Stamp Factory」の3日間の開発で編み出し、実際に使用した「コピペして穴埋めするだけで、AIが最高のアウトプットを出してくれる魔法のテンプレート」を3つ紹介します。
基本戦略:AIには「人格」を与える
テンプレートを見る前に、一つだけ重要なコツをお伝えします。
AIに指示を出すときは、必ず「役割(ロール)」を与えてください。
ただ「ボタンを作って」と言うのではなく、
「あなたは世界トップクラスのUIデザイナーです。ユーザーが押したくなるボタンを作ってください」
と言うのです。
嘘のような話ですが、これだけでAIの出力精度は劇的に向上します。AIは役になりきることで、学習データの中からその分野の専門知識を優先的に引き出そうとするからです。 高度な指示テクニックを使うことで、AIのポテンシャルを最大限に引き出せます。
【Scene 1】新しい機能を追加したい時
「ここに保存ボタンが欲しい」「画像生成機能を追加したい」といった、新しい機能を作る時のテンプレートです。
初心者がやりがちな失敗(NG例)はこれです。
❌ NGプロンプト
「画像をZIPで保存できるようにして」
これではAIは「どこにボタンを置くの?」「ファイル名はどうするの?」「保存が終わったらどうするの?」と迷い、勝手な判断で変な場所にボタンを配置してしまいます。
そこで、私が実際に「ZIP一括ダウンロード機能」を実装した時のプロンプトをご覧ください。
🪄 機能実装のプロンプト・テンプレート
# 役割
あなたは熟練の【React/Electron】エンジニアです。
# ゴール
現在開いているファイル(App.jsx)に、【ZIPダウンロード機能】を追加してください。
# 具体的な要件
1. UI: 【画面右上に「ZIPでダウンロード」という青いボタン】を配置してください。
2. 挙動: ボタンクリック時に、【スロット内の画像をすべてZIPに圧縮】して保存ダイアログを出してください。
3. ライブラリ: ZIP圧縮には【jszip】、保存には【file-saver】を使用してください。
# 制約条件
- 既存のコードを壊さないように、慎重に追加してください。
- エラーハンドリング(失敗した時の処理)を必ず入れてください。
- 初心者でも分かるように、コードには日本語でコメントを書いてください。ここがポイント:
- 「ライブラリを指定する」: ここがAI開発の勘所です。AIに丸投げしてもいいですが、「
jszipを使って」と指定すると、AIは迷わず最短ルートを選べます。分からない場合はGeminiに「ReactでZIP圧縮するのに最適なライブラリは何?」と先に聞いてしまえばいいのです。 - 「既存コードを壊さない」: これを言わないと、AIは時々、新しい機能を追加する代わりに古い機能を消してしまうことがあります。念押しの魔法の言葉です。
【Scene 2】デザインを整えたい時
「なんかダサいから直して」は禁句です。AIにとって「ダサい」の定義は無限にあるからです。
具体的に、あるいは「技術的な制約」を与えて伝えます。
🪄 デザイン調整のプロンプト・テンプレート
# 役割
あなたは優れたセンスを持つUI/UXデザイナーです。
# ゴール
【設定エリア(左カラム)】のデザインをブラッシュアップしてください。
# デザインの方向性
- **テーマ**: 【ダークモードで、サイバーパンク風の紫をアクセントに】
- **技術**: 【Tailwind CSS】を使用してください。
- **レイアウト**: 【項目が多すぎるので、アコーディオン(折りたたみ)でスッキリさせて】
# 具体的な指示
- ボタンには【ホバー時に光るエフェクト】をつけてください。
- 配色には【slate-900 と purple-500】を使用してください。
- 余白(padding/margin)を適切に取り、窮屈な印象をなくしてください。ここがポイント:
- 「Tailwind CSSを指定する」: なぜ普通のCSSではなくTailwindなのか? 実はAIにとって最もミスなく書きやすいのがTailwind CSSだからです。学習データが膨大で、クラス名を考える必要がないため、AIはデザインの構造だけに集中でき、結果として綺麗なUIが一発で出来上がります。
- 「ホバー時(マウスを乗せた時)」: 「動き」を指定することで、アプリのクオリティが一気にプロっぽくなります。
【Scene 3】AIが暴走した時(修正指示)
AIが書いたコードが動かない、あるいは期待と違う動きをした時。「動かないよ!」と怒っても解決しません。
冷静に、「思考の連鎖(Chain of Thought)」を促すのがコツです。
🪄 修正・デバッグのプロンプト・テンプレート
# 現状の問題
先ほど書いてもらったコードを実行しましたが、以下のエラーが出ます。
【エラーログをここにペースト】
または
【期待していた動き:ボタンが青くなる】
【実際の動き:ボタンが消えた】
# お願い
いきなり修正コードを書かないでください。
まずは以下の手順で思考し、原因を特定してください。
1. **原因の分析**: なぜこのエラーが起きているのか、ログから推測できる原因を挙げてください。
2. **修正方針**: どのファイルのどの部分を直すべきか、計画を立ててください。
3. **コード生成**: その後、修正版のコードを提示してください。
# 注意点
- 私の環境は【Windows 11】です。
- 修正箇所だけでなく、前後のコードも含めて提示してください(コピペミスを防ぐため)。ここがポイント:
- 「いきなり書くな、まず考えろ」: これが最強のテクニックです。AIは焦って答えを出そうとする癖があります。一度立ち止まって「原因分析→計画→実行」という手順を踏ませることで、回答の精度が劇的に上がります。
- 「前後のコードも含めて」: AIは修正行だけをポンと出すことがありますが、初心者はそれをどこに貼ればいいか分かりません。「周辺も含めて出して」と言えば、迷子になりません。
より精度の高い指示を出したい方は、Markdownプロンプト術も参考にしてみてください。
5. まとめ:あなたは「コードを書く作業者」を卒業し、AIを指揮する「監督(ディレクター)」になる
この3日間、私はまるでSF映画の主人公になったような気分でした。
コードの書き方も、環境構築のやり方も分からない。
そんな私が、ただ「こんなアプリが欲しい」という情熱だけで、プロ級のアプリを完成させてしまったのです。
「コードを一行も書かずに、たった一人で、自分の理想通りのアプリが動いている」
この事実は、私の中の「開発の常識」を完全に破壊しました。そして同時に、一つの確信を得ました。
私たちは今、人類史上最もエキサイティングな転換点に立っているのだ、と。
技術の民主化がもたらす「大個人」の時代
これまで、Webサービスやアプリを作れるのは、プログラミング言語という「魔法の言葉」を習得した一部の人間(エンジニア)だけでした。素晴らしいアイデアを持っていても、技術がないために諦めていたクリエイターや起業家が、世界中にごまんといたはずです。
しかし、CursorとGeminiの登場により、その「技術の壁」は崩れ去りました。
今や、「日本語」さえ話せれば、誰でもシステム開発ができるのです。
これは何を意味するのでしょうか?
それは、「コーディング力」の価値が相対的に下がり、「ドメイン知識(現場の知見)」と「情熱」の価値が爆発的に上がるということです。
今回の「Stamp Factory」が実用的なツールになったのは、私がPythonを書けたからでも、Reactに詳しかったからでもありません。
私が「LINEスタンプ作成における『面倒くさい』の正体」を、誰よりも詳しく知っていたからです。
- 「リサイズ作業で30分も無駄にするのが嫌だ」
- 「申請文を考える時に脳がフリーズする感覚をなくしたい」
この「現場の痛み」を知っていることこそが、AI時代における最強の武器です。
技術的な解決策(How)はAIが知っています。私たち人間に必要なのは、解決すべき課題(What)を見つけ出し、AIに「これを解決して」と指差すことだけなのです。
さあ、次はあなたの番です
ここまで読んでくださったあなたなら、もうお分かりでしょう。
「AIでアプリを作る」というのは、魔法使いだけの特権ではありません。
- Cursor をダウンロードする。
- Gemini のAPIキーを取得する。
- 「こんなツールを作って」 と日本語で打ち込む。
たったこれだけのステップで、あなたの頭の中にしかなかったアイデアが、現実のツールとして動き出します。
失敗しても大丈夫。エラーが出たら、ログをAIに投げつければいいのですから。
想像してみてください。
もし来週、あなただけの専用アプリが完成していたら、あなたのビジネスや創作活動はどれほど加速しているでしょうか?
私はこれからも、このブログでAIを活用した「新しいものづくり」への挑戦を発信し続けます。
ですが、私が作ったツールを見るだけでなく、ぜひあなた自身の手で、世界に一つだけのツールを作ってみてください。その時、あなたの「痛み」は「価値」に変わります。


















この記事へのコメントはありません。