
tongari — 飲食店のDM予約をAIが24時間自動化
はじめに
tongari(トンガリ)— Instagram DM・LINE の予約対応を AI が自動化する、小規模飲食店向け予約管理 SaaS
tongari は、飲食店の Instagram DM・LINE・Web チャットに届く予約メッセージを、AI が 24 時間自動で対応するサービスです。送客手数料なし・定額制。Googleアカウントでログインして店名を入れるだけ、最短10秒で利用開始できます。正式リリースまで完全無料。
サービス概要
| 項目 | 内容 |
|---|---|
| サービス種別 | 飲食店向け AI 予約管理 SaaS |
| 主な機能 | DM 内での AI 自動予約対応、カレンダー型予約管理画面、電話予約のスクショ AI 登録 |
| 対応チャネル | Instagram DM / LINE / Web チャット |
| 料金 | 正式リリースまで完全無料(リリース後は月額 3,980 円〜を予定) |
| 送客手数料 | なし。予約が増えても追加コストゼロ |
| 導入の手軽さ | Google ログイン → 店名入力 → 最短 10 秒で AI 予約受付スタート |
| ターゲット | 小規模飲食店(個人経営のイタリアン、居酒屋、バーなど) |
| 技術スタック | Next.js 16 / Cloudflare Workers / Supabase / Anthropic Claude / Drizzle ORM |
| 開発 | 個人開発(AI 駆動開発、Claude Code 使用) |
| 公式 URL |
tongari とは —「電話つながらないな…DM 送っておこ。」その DM、見てますか?
飲食店にとって、予約の電話に出られない瞬間は日常的に発生します。
ランチのピーク中、仕込みの真っ最中、ワンオペで手が離せないとき。お客様は電話がつながらないと、Instagram の DM や LINE にメッセージを送ります。でも、忙しい店主がそれに気づくのは数時間後。そのときにはもう「別のお店にします」と送られた後——。
これは特定の店だけの問題ではありません。小規模飲食店の多くが「DM で予約を逃している」という共通の課題を抱えています。
既存の予約システムは「外部サイトに飛ばす」設計が前提です。グルメサイトの予約フォーム、予約台帳の専用 URL——。お客様にリンクを踏ませ、別のサイトで情報を入力させる。この導線の離脱率は想像以上に高い。
tongari は、この問題を根本から解決するために作りました。お客様が普段使っている DM の中で、AI がその場で予約を完結させる。 外部サイトへの誘導は一切不要です。
なぜ作ったのか — 鎌倉の飲食店を見ていて思ったこと
鎌倉で個人開発をしています。鎌倉は観光地ということもあり、周りには個人経営の飲食店をやっている友人が多くいます。彼らの日々の仕事を近くで見ていて、予約業務の大変さをずっと感じていました。
ランチ営業中に電話が鳴っても手が離せない。営業が終わってスマホを開くと、Instagram の DM に「予約できますか?」と数時間前のメッセージ。慌てて返信しても「もう別の店に行きました」——こういう光景を何度も目にしてきました。
鎌倉の飲食店は Instagram での集客が特に盛んです。料理や店の雰囲気を投稿して、それを見たお客様が来店する。この流れの中で、お客様が予約しようとする場所も自然と Instagram の DM になる。であれば、その DM の中で予約まで完結させるのが最も自然な体験だろうと考えました。
友人たちの「あと少し楽になれば、もっと料理に集中できるのに」という声に、エンジニアとして応えたい。tongari はそんな思いから生まれたサービスです。
tongari の主な機能
AI 自動予約対応 — DM で即レス、その場で予約完結
Instagram DM・LINE・Web チャットに届いたメッセージに、AI が数秒で自動応答します。人数・日時・名前・電話番号を自然な日本語でヒアリングし、空席データに基づいてリアルタイムで予約を確定。24 時間 365 日、深夜でも定休日でもピークタイムでも対応します。予約に関係のない質問は丁重にお断りし、予約受付に特化した AI です。
カレンダー管理画面 — 予約状況をひと目で把握
AI が受け付けた予約はカレンダー形式で自動反映されます。PC・スマホ両対応なので、外出先からでもスマホで確認可能。万が一の AI ミスもワンタッチで修正できます。

スクショ AI 登録 — 電話予約の二重管理をなくす
電話で受けた予約の手書きメモを、スマホでスクショ・撮影するだけ。AI が文字を読み取り、予約台帳に自動登録します。DM 予約と電話予約を一つの台帳で一元管理できるので、手入力の手間とダブルブッキングのリスクをなくせます。
ユーザーの声
金曜の夜は電話と予約サイトの通知が鳴り止まず、ダブルブッキングの恐怖と戦っていました。導入してから電話対応が激減し、完全にストレスが消えました。
— イタリアン / オーナーシェフ
深夜にインスタで見つけてDMしてくるお客さんが多いのに、朝まで返せなかった。今はAIが即レスしてくれるので、朝起きたら予約が入ってます。
— バー / 店長
ランチのピーク中に電話取れなくて逃してた予約が、DMで自動で入るようになった。しかも設定が10秒で終わったのが衝撃でした。
— 和食居酒屋 / オーナー
開発者として特にこだわったこと
DX(Developer Experience)ならぬ「店舗オーナー体験」には徹底的にこだわりました。飲食店のオーナーは忙しい人たちなので、やりたいことへの導線をとにかく短くすることを最優先に設計しています。ログインから予約確認まで、余計な画面遷移やローディングを挟まない。
もう一つこだわったのがスピードです。Cloudflare Workers のエッジ配信を活かして、管理画面は体感でほぼ一瞬で表示されます。既存の予約システムを触ったことがある方なら、画面遷移のたびに数秒待たされるストレスを知っていると思います。tongari はそこが圧倒的に違うので、日常的に使うツールとして「触っていて気持ちがいい」と感じてもらえるはずです。
従来の予約システムとの比較
| 比較項目 | 大手グルメサイト | 高機能予約台帳 | 無料予約システム | tongari |
|---|---|---|---|---|
| 予約導線 | 外部サイト | 外部サイト | 外部サイト | DM 内で完結 |
| AI 自動対応 | なし | なし | なし | 24 時間即レス |
| 月額 | 数万円〜 | 1〜3 万円 | 無料 | 3,980 円〜 |
| 隠れたコスト | 送客手数料 1 人 200 円〜 | 決済手数料 3〜5% | 決済手数料 3.24%〜 | なし |
| 導入 | 数週間 | 数週間 | 即日 | 10 秒 |
| 予約の一元管理 | サイト内のみ | 高額な連携が必要 | サービス内のみ | スクショで AI 登録 |
tongari の設計思想は「お客様をどこにも飛ばさない」こと。DM の中だけで予約が完結するため、導線の離脱が構造的に発生しません。
料金
| 対象 | 料金 |
|---|---|
| テストユーザー(現在) | 完全無料 |
| 正式リリース後(予定) | 月額 3,980 円〜 |
| 送客手数料 | なし(何件予約が入っても追加コストゼロ) |
| 初期費用 | なし |
現在はテスト期間として、実際にご利用いただける店舗様に無料で提供しています。テスト期間終了後に自動で課金されることはありません。
技術スタック
tongari は Next.js 16 (App Router) を Cloudflare Workers 上で動かしています。opennextjs-cloudflare を使って Next.js を Workers にデプロイし、DB 接続は Cloudflare Hyperdrive 経由で Supabase (PostgreSQL) に接続。ORM は Drizzle を使っています。
AI エンジンには Anthropic Claude を採用しました。予約受付に特化したプロンプト設計で、空席確認・予約確定までを会話の中で完結させています。
チャネル抽象化レイヤーを設けているのが設計上のポイントで、Instagram DM・LINE・Web チャットのどのチャネルから来ても、同じ AI エンジンが対応します。
| レイヤー | 技術 |
|---|---|
| フレームワーク | Next.js 16 (App Router) |
| ホスティング | Cloudflare Workers(opennextjs-cloudflare) |
| データベース | Supabase (PostgreSQL) + Drizzle ORM |
| DB 接続 | Cloudflare Hyperdrive(コネクションプーリング) |
| AI エンジン | Anthropic Claude |
| 決済 | Stripe |
| メール | Resend |
| UI | Tailwind CSS v4 + shadcn/ui |
| 監視 | Sentry |
| AI Coding | Claude Code |
開発は全て Claude Code を使った AI 駆動開発で進めています。設計・実装・テスト・デバッグの大部分を AI との対話で行っており、個人開発でもプロダクション品質を維持できている実感があります。
開発で一番ハマったところ — Cloudflare Hyperdrive と DB 接続
技術的に一番苦戦したのが、Cloudflare Workers 上での DB 接続です。
Workers はリクエストごとにランタイムが独立しているのですが、Hyperdrive がリクエスト間で接続を閉じる一方、postgres ライブラリ側がそれに気づかず、接続を使い回そうとしてハングする問題にぶつかりました。ローカルでは動くのに本番だけ固まる、という厄介なバグです。
結論として、Workers 環境ではリクエストごとに新しい DB クライアントを作る必要がありました。「毎回作るのはパフォーマンス的に大丈夫なのか?」と思いますが、Hyperdrive がプロキシ側でコネクションプーリングしてくれるので問題ありません。
実際のコードはこうなっています:
ポイントは3つです:
prepare: falseが必須。Hyperdrive 経由では prepared statement が使えないWeakMap<ExecutionContext, DB>で同一リクエスト内の再利用はしつつ、リクエスト間では必ず新規作成- Supabase の Supavisor pooler(
pooler.supabase.com:6543)は使わない。Hyperdrive と二重プーリングになってクエリが失敗する
Cloudflare Workers + Supabase + Drizzle の構成はまだ情報が少ないので、同じ構成で開発する方の参考になれば幸いです。
設計の判断 — なぜ「DM の中で完結」にこだわったのか
既存の予約システムは、どれも「外部サイトに飛ばす」設計です。お客様が DM で「明日19時、4名いけますか?」と聞いてきたとき、「こちらの URL から予約してください」と返す。
でも実際の飲食店のお客様は、Instagram の投稿を見てそのまま DM を送ってくる人たちです。わざわざ別のサイトを開いて、住所やメールアドレスを入力して、確認画面を経て予約する——その導線に耐えられる人はそう多くない。
だから tongari は「DM から一歩も出ない」設計にしました。お客様は普段通り DM でメッセージを送るだけ。AI が会話の中で必要な情報を聞き出し、その場で予約を確定する。お客様にとっては「DM で店に聞いたら予約が取れた」という自然な体験になります。
よくある質問(FAQ)
Q. AI が変な返事をしたり、予約ミスをしませんか?
tongari の AI は「予約受付」に特化してチューニングされています。予約に関係のない世間話は丁重にお断りし、空席データに基づいてのみ予約を確定します。万が一の場合も管理画面からワンタッチで修正可能です。
Q. 既存の予約システムと併用できますか?
はい。既存システムを使い続けながら、DM 経由の予約だけを tongari に任せる運用が可能です。
Q. なぜ無料で提供しているのですか?
テスト期間として、実際に店舗でご利用いただきフィードバックをいただける方に無料で提供しています。テスト期間終了後に自動課金されることはありません。
Q. Instagram・LINE 以外にも対応していますか?
Instagram DM、LINE に加えて、店舗専用の Web チャット画面にも対応しています。URL をお客様に共有するだけでブラウザから予約できます。
Q. LINE で予約する場合、お客様は友だち追加が必要ですか?
はい、LINE の仕様上、初回は友だち追加が必要です。ただし店舗にとっては、予約が入るたびに顧客リスト(友だち)が自動で増えるメリットがあります。
Q. 導入に専門知識は必要ですか?
不要です。Google アカウントでログインして店名を入力するだけ。営業時間や席数は後から設定できます。
リンク
- tongari 公式サイト
- 管理画面
- 開発者 X (Twitter):
- GitHub:
