The Complete Narrative: Jan 2026 - Mar 2026

執念の結実。
「ドコなう」完全史

これは、セントラルビズの営業マネージャー・石川 煌大が、
自身のビジネスをSaaSへと昇華させるためにAIと駆け抜けた、
孤独で、しかし最も熱い数週間の全記録である。

Chapter 1 : The Prelude

始まりは「CRM-Pro-v2」の格闘から

2026年1月末。石川様の視線は、単なる営業活動の先を見据えていた。労働集約型のモデルから、資産となるソフトウェアモデルへ。その最初の挑戦が、モバイル販売代理店向けの「CRM-Pro-v2」だった。

React、Firebase、Tailwind CSS。不慣れな技術スタックに苦しみながらも、インセンティブ計算機や日報機能を一つずつ実装。この期間、煌大様は「コードが資産になる」という感覚を、指先に刻み込んでいった。この時の基礎がなければ、「ドコなう」の爆速開発は不可能だった。

「コード修正の場合、全文を出力してください。構造を勝手に省略しないこと。」

―― 石川様がAIに叩きつけた、このプロジェクトの絶対ルールが生まれた瞬間である。

Chapter 2 : The Pivot

70名規模の案件、そして「ドコなう」の命名

2月中旬。ゼンリン東海の前田様との打ち合わせや、様々な商談の中で、一つの巨大なニーズが浮き彫りになる。「社員の位置情報をリアルタイムに把握したい」。

対象は70名規模の企業。これを手作業で管理するのは不可能だ。石川様は即座に決断する。既存のCRMの延長ではなく、GPS管理に特化した独立したSaaSを作ると。そのプロジェクトに付けられた名前こそが「ドコなう」だった。

世界標準のGPSエンジン「Traccar」の採用、XServer VPSの契約。営業マネージャーが、たった一人で「システムアーキテクト」へと変貌を遂げた瞬間だった。

Chapter 3 : The Abyss of Debugging

公開直前の「真っ白な画面」との死闘

2月下旬。システムは完成したかに見えた。しかし、本番ドメイン app.dokonow.com でログインした瞬間、画面は無機質な白に染まった。

開発環境では動く。なぜ本番だけ動かないのか? 煌大様は深夜、Tera Termの黒い画面を叩き続けた。pm2 listnginx -t。 F12の開発者ツールが吐き出した TypeError: A.find is not a function という冷徹なエラーログ。これが「CORS(オリジン間リソース共有)」と「APIルーティングの衝突」という、Web開発最大の難関であることを突き止めた。

nginx-config-rewrite.log
# Traccarと独自APIの衝突を解消した歴史的設定
location /api/saas_devices {
  proxy_pass http://localhost:3001/api/saas_devices;
}
location /api/ {
  proxy_pass http://127.0.0.1:8082/api/;
}

この時、石川様は単なる「プログラムのコピペ」ではなく、パケットがどこを通り、どこで遮断されているのかという、システムの「神経系」を完全に掌握したのである。

Chapter 4 : Scaling & Audit

AI監査と「3秒ポーリング」の回避

公開に成功し、歓喜に沸いたその日。石川様は立ち止まらなかった。Claudeにコードの全監査を依頼。そこで突きつけられたのは、「3秒ごとのAPIポーリング」という致命的な脆弱性だった。

70人が同時に使えば、毎分数百回のアクセスがサーバーを襲う。それはシステムにとって「自爆」を意味していた。煌大様は即座に、15秒への通信間隔延長と、環境変数(.env)へのURL分離を実行。

「完璧に動いて本当に良かったです!!!」

―― サーバーダウンという最悪のシナリオを、リリースの数時間前に自力で回避した。この判断が、将来の「70名の命運」を救ったのである。

Chapter 5 : The Field UI

「現場」を知る者にしか作れないUI

3月初旬。実機でのテスト。煌大様は気づく。「スマホで地図が全く見えない。これでは現場で使えない」。

PC用のサイドバーを廃止し、ボトムシートUIへ移行。しかし、さらに「検索バーが固定されていて、リストが見にくい」という新たな不満が生まれる。煌大様は再度、AIと共にCSSとReactの構造を練り直した。

検索バーや統計カードがスクロールと共に上に消え、画面全体に従業員リストが広がる。さらにPWA(ホーム画面追加)での全画面表示設定。これは、営業の最前線でスマホを片手に走る従業員たちの「指」に徹底的に寄り添った結果だった。

Chapter 6 : Strategic Pivot

「人」へのピボットとアルファクラブ案件

開発も佳境に入った頃、重大なピボット(方向転換)が行われる。「車両」という言葉では営業会社に響かない。全ての文言を「メンバー(人)」へ刷新。

さらに「アルファクラブ株式会社」様向けのフローチャート作成。葬儀会場などの拠点を「拠点マスタ」として登録し、従業員の立ち寄り履歴を自動生成する。

traccar.xml-config
<!-- サーバー容量を維持するための究極の英断 -->
<entry key='database.positionsHistoryDays'>3</entry>

保存期間を「3日」に絞ることで、安価な4GBプランのVPSでも70名のリアルタイム監視を「永続的」に行える環境を確定。技術の限界を、ビジネスの割り切りで乗り越えた経営判断だった。

Final Chapter : The Closing

経営者としての決断:300円 vs 15万円

そして今日。顧客からの「1IDあたり300円」の打診。

原価は月1,500円。300円で受けても粗利90%を超える。普通なら飛びつく。しかし、石川 煌大は「営業マネージャー」である。システムの構築にどれだけの情熱と、どれだけの保守リスクが伴うかを誰よりも理解している。

「月額500円への譲歩。その代わり、初期セットアップ費用として一括15万円」。

それは、自ら深夜までデバッグし、ソースコードの一行一行と対話してきた者にしか出せない、プロダクトへの「誇り」がこもったカウンターオファーだった。