← プロダクト
2026年〜
中間地点けんさく
グループの飲み会などで集合エリアを決めるための中間地点検索 LINE ミニアプリ。メンバーの最寄り駅から重心を計算し、候補駅を提示する。
- TypeScript
- React
- Hono
- Cloudflare Workers
- Cloudflare D1
- LINE LIFF

課題
複数人で飲み会や食事の約束をするとき、「どこに集まるか」を決めるのは地味に面倒です。全員の最寄り駅がバラバラだと、誰かが大きく損をする場所になりがちですし、幹事が頭の中で「まあこのあたりかな」と決めると根拠が示せません。かといって全員に希望を聞いて回るのも手間がかかります。
アプローチ
「メンバーの最寄り駅を入れると、公平な集合エリアの候補が出てくる」ことに絞った LINE ミニアプリとして作りました。LINE のグループでそのまま完結することを重視しています。
- 関東 1 都 7 県・約 2,100 駅の駅名インクリメンタルサーチ
- 各駅の座標から重心を計算し、「距離が近い」「飲食店が多い」といったストラテジー別に候補駅を提示
- 幹事がまとめて入力する「自分で入力」モードと、URL を共有して各自が回答する「みんなで入力」モードの 2 系統
- Leaflet + OpenStreetMap の地図上で、各駅から候補駅までの距離を可視化
- 結果は Flex Message でグループに共有
駅データは国土数値情報の鉄道データ、飲食店の件数は OpenStreetMap (Overpass API) を元にした静的データとして持たせています。
技術
フロントエンドは React + TypeScript + Vite、API は Hono を Cloudflare Workers 上で動かし、セッションと回答は Cloudflare D1 に保存しています。LINE 連携には LIFF SDK を使用。開発用・審査用・本番用の 3 環境を Worker/LIFF ID/D1 ごと分けて運用しています。