ブログ一覧へ戻る

Sprint Cycle 9 完了。今回のサイクルでは、プロダクトの顔となる独自ドメイン misebanai.com の取得と全面移行を実施した。Cloudflare + Fly.io接続、全28ファイルのURL一括置換、APIリファクタリング、AI駆動開発方針の策定まで、半日で駆け抜けた記録を公開する。

Building in Public の精神で、インフラ構成からコード変更量まで、全てを透明に共有する。

1. Cycle 9 ハイライト

Cycle 9 は「基盤を固める」サイクルだった。プロダクトが外に出る準備として、ドメイン取得からインフラ接続、コードベース全体のURL移行、そしてAPIの構造改善まで一気に実行した。

28
移行ファイル数
17,829
変更行数
7
分離モジュール
9
完了サイクル

ドメイン取得・移行

APIリファクタリング

肥大化していたAPIコードベースを7つの独立モジュールに分離した。関心の分離を徹底し、各モジュールが単一責任を持つ設計に。

auth
billing
alerts
db
line
csv_export
plan_guard

このリファクタリングにより、各モジュールを独立してテスト・修正できるようになった。特に plan_guard は、Free/Starter/Pro/Enterpriseの4ティア制限を一箇所で管理する設計に統一。今後の料金プラン変更にも柔軟に対応できる。

17,829行の変更をコミット。大規模なリファクタリングだが、既存機能への影響はゼロ。テスト全通過を確認済み。

2. AI駆動開発の方針策定

Cycle 9 のもう一つの成果は、AI駆動開発の方針を明文化したことだ。ミセバンAIの開発プロセスそのものが、AIとの協働を前提とした設計になっている。

開発ツールチェーン

この3ツールの組み合わせにより、従来7-12日かかっていたスプリントサイクルを半日から1日に短縮することに成功している。Cycle 9のドメイン移行 + APIリファクタリング + 17,829行の変更が半日で完了したのは、この開発体制の成果。

AI駆動開発の原則

Development Principles

CTO向けブリーフィング資料も作成し、AI駆動開発がなぜ有効なのか、どのようなリスクがあるのかを明文化した。技術的な意思決定の透明性を担保するためのドキュメントとして機能する。

3. インフラ構成

Cycle 9 完了時点でのインフラ構成を記録する。全てのサービスが misebanai.com ドメイン配下に統一された。

Web (Frontend)

nginx on Fly.io (nrt region)
misebanai.com via Cloudflare Proxy
SSL: Cloudflare Universal SSL

API (Backend)

Rust Axum on Fly.io (nrt region)
api.misebanai.com
19 endpoints, plan_guard tier control

Database

Supabase (Postgres)
Row Level Security enabled
Edge Functions for webhooks

CI/CD

GitHub Actions
test → build → deploy
main branch protection

User Request
    |
    v
Cloudflare (CDN + WAF + SSL)
    |
    +--> misebanai.com -----> Fly.io nginx (nrt)
    |
    +--> api.misebanai.com -> Fly.io Axum  (nrt)
                                  |
                                  v
                              Supabase (Postgres)

Cloudflareをプロキシとして挟むことで、DDoS防御、CDNキャッシュ、WAF、SSL終端を無料で利用できる。Fly.ioのnrtリージョン(東京)にデプロイすることで、日本国内のユーザーに対して低レイテンシなレスポンスを実現。

4. 次のスプリント (Cycle 10)

基盤が固まった今、次はプロダクトのコア機能に着手する。Cycle 10 のスコープは以下の通り。

Cycle 10 -- Sprint Scope

YOLO推論パイプラインは、ミセバンAIの技術的なコアコンポーネント。カメラからのフレーム受信、前処理、YOLOv8nモデルによる人物検出、カウント結果のDB保存までを一気通貫で実装する。Fly.ioのshared-cpu-1x上でどこまでのスループットが出るか、実測データを取ることが最初の目標。

Supabase本番環境は、Cycle 9で議論されたステージング/本番の完全分離を実現する。シードデータを用意し、CIパイプラインからのデプロイを自動化することで、開発速度を落とさずに品質を担保する。

ドメインが決まり、インフラが整い、コードベースが整理された。あとはコア機能を作り込むだけ。Cycle 10で、ミセバンAIは「動くプロダクト」になる。

ミセバンAI -- 既存カメラがAI店長に変わる

小規模店舗のための次世代AI分析。
先着30店舗のクローズドベータ、まもなく募集開始。