この記事は、2026年3月に福岡エンジニアカフェの「AIミリしら」LTイベントで発表した内容をもとにしています。
はじめに
こんにちは。天汐香弓と申します。肩書は 「50代ノーコード腐女子」 です。
プログラミングスクールには通っておらず、コードはHTMLとCSS、JavaScriptの基礎がようやく終わったくらい。それでも今日は「AIを使って実際にリリースまでやり切る」ことについて話します。
この記事で伝えたいことは一つです。
コードが書けなくても、AIと正しく向き合えば、アイデアをリリースまで持っていける。
自己紹介:50代ノーコード腐女子の開発実績
「ノーコード腐女子」と名乗っていますが、活動の幅は案外広いです。
| カテゴリ | 内容 |
|---|---|
| 開発 | AI動画生成ツール「Easy V-Studio」画像補助ツール「BrushMosaicPro」を開発・販売 |
| 教育 | 小学教諭向け時間割作成補助BOT、ルーブリック評価GPT、おたより多言語翻訳アプリなどを企業に有償譲渡 |
| 企業コラボ | 音声配信アプリ「ピカピカ」でショートアニメを脚本・制作・声優手配まで一元プロデュース |
| 自社企画 | 「月刊AI男子」シリーズの他AI画集などをBOOTH・DLsite・Kindleで販売。個展開催 |
これら全部、AIとの対話だけで積み上げてきました。 そのコアにいるのが今回の主役「Antigravity」(エージェント型AI開発ツール)です。
私のAIリレー術:3つのAIを使い分ける
「AIに丸投げしているだけでしょ?」と思われがちですが、そうではありません。私はAIを目的別にリレーして使っています。
Antigravity(司令塔)→ Gemini(解説者)→ Kimi K2.5(突破役)
🏗 Antigravity:実装の司令塔
Antigravityを選んでいる最大の理由は、ツールとの連携機能です。コードエディタやホスティング環境と統合的に動かせる設計で、これが開発スピードに直結しています。
そして最初から「より良い方法があれば提案してほしい」と伝えています。すると:
- 「この構造の方がスケールしますよ」
- 「この設計だと後で詰まる可能性があります」
と返してきます。命令ではなく、並走して設計を考えてくれる感覚があります。
📖 Gemini:学びの解説者
Antigravityが「この処理ではこういうことをしています」と返してきたとき、正直わからないことがあります。そのときはGeminiに「これどういう意味ですか?」と投げます。
Geminiは解説が丁寧で、初学者にとって学びのテキストとして機能してくれます。実装しながら理解を深める、という使い方です。
🔧 Kimi K2.5:行き詰まりの突破役
AntigravityもGeminiも堂々巡りになるような問題に直面したとき、Kimi K2.5を使います。コーディングタスクへのフォーカスとエラーへの直線的なアプローチが突破口になることが多いです。
実例①:CORSエラーをKimiが一発解決した話
問題
「Easy V-Studio」のリリース直前、アプリが真っ白で動かない問題が発生しました。F12を開くとエラーが出ているのはわかる。でも意味がわからない。
Access to script at 'file:///C:/assets/index-Bxup5_Zb.js' from origin 'null'
has been blocked by CORS policy: Cross origin requests are only supported
for protocol schemes: chrome, chrome-extension...
これをそのままコピーしてKimiに投げました。
KimiのAI回答
このエラーは、Viteでビルドされたアプリケーションを**ローカルファイルシステム(file://プロトコル)**で直接開こうとした際に発生する典型的なCORSエラーです。
問題の原因:
index.html内のパスが絶対パス(/assets/...)になっており、file://プロトコルでのアクセスがブラウザのCORSポリシーにブロックされていた。
解決策(方法1:相対パスに変更 — 推奨・最も簡単):
<!-- 変更前 -->
<script type="module" crossorigin src="/assets/index-Bxup5_Zb.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CfymQkEB.css">
<!-- 変更後 -->
<script type="module" crossorigin src="./assets/index-Bxup5_Zb.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-CfymQkEB.css">
変更点は /assets/ → ./assets/ のたった一文字です。
さらにKimiは用途別の推奨方法を表で整理して提示してくれました:
| 用途 | 推奨方法 |
|---|---|
| すぐに動作確認したい | 方法1(相対パスに手動変更) |
| 本番用に再ビルド | 方法3(Vite設定変更→再ビルド) |
| 開発・テスト | 方法2(ローカルサーバー起動) |
なぜGeminiではなくKimiだったか
同じエラーをGeminiに投げると「環境変数を確認してください」「依存関係を再インストールしてください」と、原因から離れた方向に進んでしまうことがありました。
Kimiはエラーの根本原因にまっすぐ向かう傾向があります。これがAIを使い分ける実際のメリットです。
ポイント: エラー解決は「同じプロンプトを複数のAIに投げ比べる」ことで突破口が見つかることがある。症状に合ったAIを選ぶのも技術です。
実例②:個展当日に1時間でスライドショーをリリース
背景
2月にAI個展を開催した際、パソコン画面の展示がリンク集のポータルページだったため、来場者の足が止まらない状況でした。
爆速開発の流れ
午後、その場でAntigravityに要件を投げました。
- 要件整理:「30秒ごとに切り替わるスライドショーを作りたい」
- Firebaseへのデプロイを試みる → その日は枠がなく、翌日まで割り振り不可
- AntigravityがSupabaseへの切り替えを提案
- ストレージ上限5MBで設定し直して公開
開発時間:トータル約1時間。
スライドショーを流し始めたら来場者が画面に足を止めてくれるようになりました。
後日気づいたことですが、横長・縦長どちらの画像にも対応しているので、モニターがあればそのままデジタルサイネージになります。 これは当日のリリースがあったからこそ気づけた発見でした。
https://storage.googleapis.com/digital-signage-488401/index.html
:::note
ポイント: 計画通りにいかないとき(Firebase枠が埋まっていたとき)、Antigravityが代替案を即座に提案してくれる。これが「並走感」です。
:::
実例③:「癒しをあなたに」とFirebaseの落とし穴
アプリの概要
全女性を癒すことを目指した聴く動画Webアプリ「癒しをあなたに」。アナウンサーの穴田さんの声による癒やし系ショート動画をランダム再生・ループ再生します。
朝の1分の癒しに、夜に化粧を落としながら流しっぱなしにする——そういう使い方を想定しています。
バックエンドの壁
開発当初、動画をどこに置くかという問題で詰まっていました。
- YouTubeを外部ソースとして使う案 → 規約上アウトで頓挫
- エンジニアカフェで知見を得てSupabaseを知る
- Antigravityでバックエンド接続に慣れてきたこともあり、Supabaseで構築して一気に完成
リリース直前のFirebase問題
このアプリとLTスライドは両方Firebaseにデプロイしていました。そこで予想外の問題が発生します。
問題の構造:
プレゼン用 Firebase Hosting
└── SPA用 rewrite 設定(全パスを index.html にリダイレクト)
↓
スライド内の外部リンク(癒しをあなたに)をクリック
↓
プレゼン側のFirebaseがリクエストを横取りしてしまう 🚨
Geminiではこの問題を特定できませんでした。
KimiにFirebaseのコードを見せたところ:
「SPA rewriteとマルチサイト構成の競合です」
と即座に特定し、修正できました。
この経験から得たこと
この問題は実際にデプロイしてみないと絶対に直面しない種類のものです。
リリースの段階まで自分でたどり着けるようになったから直面できた問題であり、そこをAIと一緒に乗り越えられたことが純粋に嬉しかったです。
https://healing-for-you.web.app/
デプロイができるようになったことは、私にとって本当に大きな一歩でした。
まとめ:非テック民がAI開発で学んだ3つのこと
1. AIに設計の「提案」を求める
丸投げではなく「より良い方法があれば教えて」と最初に伝えることで、AIは命令を聞く道具から共同設計者になります。
2. AIをリレーで使う
| AI | 役割 | 強い場面 |
|---|---|---|
| Antigravity | 司令塔・実装 | 要件定義から実装まで一貫して並走 |
| Gemini | 解説者・学習 | 処理の意味を理解したいとき |
| Kimi K2.5 | 突破役 | エラー解決、詰まったとき |
一つのAIに固執せず、症状に合わせて切り替えることでエラーに強くなります。
3. デプロイまでやりきる
作って終わりではなく、リリースまで行くことで初めて直面できる問題があります。CORSもFirebaseのrewrite競合も、デプロイしたから気づけた問題でした。それを経験することで、次の開発がさらに速くなります。
おわりに
コードが書けなくても、AIと正しく向き合えば、アイデアをリリースまで持っていける時代になっています。
「AIを使えばすぐ作れる」という話はよく聞きますが、私が言いたいのは少し違って——エラーと向き合い、デプロイして、直面して、AIと解決する。その繰り返しの中に本当の学びがあるということです。
もちろん、AIが完璧だとは思っていません。
それは11月に福岡EDDに参加をして身をもって知ったことで、これがきっかけでPython講座やjs講座などに参加するきっかけになったのは間違いのない事実です。
以上が私の発表です。
約一年間、エンジニアカフェで多彩なイベントと暖かいコミュニティに育てていただきました。月末で福岡を離れることになりましたが、ここで学んだことは本当に宝物です。ありがとうございました。