💡

【個人開発】Gemini × n8n × Antigravity で、サーバー代0円の「Micro-SaaS半自動製造工場」を構築した話

に公開

はじめに

個人でWebサービスやツールを作ろうとした際、コーディングそのものよりも「何を作るか(アイデア出し)」「要件をどうするか(設計)」に時間を取られてしまうことがよくあります。

開発者としては「作る」部分に集中したかったため、自宅の Mac mini (Docker) でホストしている n8nGemini API を組み合わせて、アイデア出しから要件定義までを自動化するワークフローを構築しました。
また、実装には話題の Google Antigravity を活用し、開発工数を大幅に圧縮しています。

本記事では、ランニングコストを極限まで抑えつつ、個人開発のサイクルを高速で回すためのアーキテクチャを紹介します。

全体アーキテクチャ

全体の構成図は以下の通りです。n8nをハブにして、各工程を担当するAIエージェントがNotionを更新していく仕組みです。

1. 基盤:Mac mini + Docker + n8n

自動化の心臓部となる n8n は、クラウド版ではなくセルフホスト版を使用しています。
M1 Mac mini上の Docker コンテナとして常時稼働させることで、サーバー費用を0円に抑えています。

# docker-compose.yml の例
version: '3.8'
services:
  n8n:
    image: n8nio/n8n:latest
    ports:
      - "5678:5678"
    environment:
      - GENERIC_TIMEZONE=Asia/Tokyo
    volumes:
      - ./n8n_data:/home/node/.n8n

2. n8nワークフローの構成

n8n上で4つの役割を持ったワークフローを稼働させています。
コストと精度のバランスを考慮し、モデルは高速な Gemini 2.5 Flash と、論理的思考に強い Gemini 2.5 Pro を使い分けています。

Step 1: ネタ出し (The Harvester)

  • 使用モデル: Gemini 2.5 Flash
  • 処理:
    「ブラウザ完結・単機能ツール」という条件でアイデアを出力させます。
    この際、Notionの既存データを参照し、**「既出のアイデアと被らないもの」**だけを提案させるロジックを組んでいます。

Step 2: 一次分析 (The Analyzer)

  • 使用モデル: Gemini 2.5 Flash
  • 処理:
    登録されたアイデアに対し、市場需要や競合の状況を推測し、0〜100点でスコアリングします。ここで見込みの薄いものをフィルタリングします。

Step 2.5: 技術審査 (The CTO)

ここが今回の肝となる工程です。Step 2でスコアが高くても、個人開発では手が負えない「地雷案件」が含まれている可能性があります。

  • 使用モデル: Gemini 2.5 Pro
  • 処理:
    スコア70点以上の有望株に対し、より精度の高いProモデルで「技術的な実現可能性」を審査させます。
    • 「外部有料APIが必須ではないか?」
    • 「サーバーサイド処理なしで実装可能か?」
      といった観点で厳しくチェックし、リスクが高い場合は却下します。これにより、完全0円運用の安全性を担保しています。

Step 3: 要件定義・プロンプト作成 (The PM)

  • 使用モデル: Gemini 2.5 Pro
  • 処理:
    審査を通過し、私がNotion上で手動でステータスを「Go」に変更したアイデアに対してのみ実行されます。
    「Tailwind CSSを使用」「単一ファイル構成」「広告枠の確保」といった共通の開発ルールを強制適用した上で、Antigravityにそのままコピペできる形式のプロンプトを生成します。

3. 開発と公開フロー

要件定義(プロンプト作成)まで自動化されているため、実装フェーズは非常にシンプルです。

  1. Google Antigravity:
    n8nが生成したプロンプトを、Antigravityのエージェントに貼り付けます。これでほぼ動作するコードが生成されます。
  2. Cloudflare Pages:
    生成されたコードをGitにPushし、Wranglerコマンド等でCloudflare Pagesへデプロイします。
    複数のツールを一箇所で管理するため、ディレクトリを切ってポータルサイト形式で運用しています。

まとめ

このシステムを構築したことで、「何を作ろうか」と悩む時間が減り、「出てきたアイデアの中から、どれを実装するか」を選ぶこと(意思決定) に時間を使えるようになりました。

また、アイデア出しから公開までのコスト(金銭的・時間的コスト)を下げることで、失敗を恐れずに「とりあえず作ってみる」というトライ&エラーの回数を増やせるのが最大のメリットだと感じています。


技術スタックまとめ

  • Orchestration: n8n (Docker)
  • AI API: Google Gemini 2.5 Flash / Pro
  • Database: Notion
  • Development: Google Antigravity
  • Hosting: Cloudflare Pages
  • Cost: Domain fee only

Discussion