風ぐるま乗換案内で行政課題解決賞をもらったはなし

これは Nostr アドベントカレンダー 2025 の 9 日目の記事です。

風ぐるま乗換案内のスクリーンショット

イラっとしたのよ。

去年に母が入院して、病院との行き来に区営の福祉バス「風ぐるま」を利用し始めたのだけど、すごく不便だったのね: 時刻表なんもわからん。

乗換案内の理論ってできてから還暦くらいになるはずで、それがなんで先進国を名乗る国の政令指定都市で社会実装されていないのか、ってイラっとしたのよ。

無いものは作るほかないので、作ることにしたの。


~約一年にわたる闘い~

TOC

データが無い

まずは時刻表データがどのような形式で配布されるのか調べ始めました。

GTFS という国際規格があるようです。Google が開発した形式で、世界中の交通機関がこれに対応しています。日本でも同様の規格を国土交通省が標準化しているようです。

さて、風ぐるまの時刻表データはあるのでしょうか。区に問い合わせたところ「年度末までに公開する」とのこと。

正直、自前で書くところまで覚悟していたのでこれは僥倖。おとなしく待つことにしました。

全力でプロトタイピングする

2025 年 3 月に公開されました。作りはじめましょう。

まず、私は乗換案内を作ったことがありません。しかし、不安には思いませんでした: とっくの昔に研究されつくされた分野のはずだからです。

簡単な方法としてダイクストラ法について勉強しました。ツンデレで学ぶダイクストラ法 を書いたりしました。アルゴリズムを LLM に解説してあげたら、いろいろ手直しは必要ですが、大枠はできました。

開発を開始し、一気に徹夜して 3 日目。ひとまず動くようになりました。寝ます。

フィードバックをもらう

リリースできました!これからどうしましょう?リリース後のことは全くのノープランでした。

友達に「地元の議員さんに送ってみたらどうか」と言われたので、メールを書くことにしました。議会のウェブサイトを見ると、さまざまな情報を得ることができます。初めてのことで緊張しましたが、交流したりアドバイスをもらったりすることができました。

ちょうど 『オードリー・タンが語るデジタル民主主義』 を読んだ後だったので、Code for Japan という市民技術団体の Slack に「こんなの作ったよ」と書き込んでみました。すると「こんど東京都主催でハッカソンをやるので出してみるといいよ」と言われました。

区内の風ぐるまで行ける機関を一覧する

「このバス、どこに行けるか謎すぎる」という問題を発見しました。よく考えたら風ぐるまで行ける場所を数えるくらいしか知りません。あちこちにいろんな頼れる機関があるはずなのですが、観光地とかではないので誰も一覧してくれないのです。

とりあえず目録を作ることにしました。まずはざっと OpenStreetMap から取得してみましたが、機関と座標は色々でてきたものの、ある場所やない場所がごちゃまぜで、そのままでは使えません。

手作業で修正していきます。機関ひとつひとつの存在を確かめたり、区のオープンデータと突き合わせたり、分類が妥当か確かめたりしました。最初は区内の喫茶店を独断と偏見で載せたりしてみようと思っていたのですが、追跡が大変なことに気づいてやめました。

このとき、はじめて「神保町シアター」について知りました。昔の映画をたくさんやっているようです。ウェブサイトを見てみると、前から気になっていた『Lie lie Lie』(1997 年)をやっているではないですか!すぐにチケットを取って見に行きました。このときすでに、ゴールデンウィークになっていたはずです。

おおむね妥当そうなデータをつくれたはずですが、劇場カテゴリに関しては不案内でよくわかりません。神田連雀亭と一橋講堂と AKB48 劇場が一緒くたになっています。誰か編集に参加してくれ~

写真を撮りに行く

場所データをつくったはいいものの、文字が出てくるだけでは味気ないですよね。ナショナルジオグラフィックをたまに読むのですが、写真の力強さにときどき驚かされます。

だから撮りに行くことにしました。7 月ごろでしたかね。区役所・出張所、障害福祉センター、図書館……といったいくつもの機関を巡りました。多少遠出もしましたが、なんのことはありません。風ぐるまに乗っていれば着くわけです。

昔話をしましょう。アメリカを作るのに必要な機関は図書館でした。1731 年、ベンジャミン・フランクリンはフィラデルフィア図書館会社を設立しました。1776 年の『独立宣言』の源泉がここにあります。市民には何よりも科学が必要です。だから図書館なしに市民社会はありえません。

というわけで、公共図書館の写真をコンプリートする旅に出かけることに決めました。決めたはいいものの、肝心の中央図書館が難所でした。合同庁舎のなかにあるので、中に入り込んで写真を撮る必要があったのです。すると話がややこしくなってきます。他の利用者もいますし、蔵書もあるからです。

ライセンスの問題もありました。今作っているのは、ようするに OSM を編集したデータです。すると、OSM のライセンスを受け継いで(コピーレフトといいます)公開する必要があります。広報用に公開されている写真は使えません。

交渉はしてみましたが、なんやかんやあってご破談になりました。

書き込めるようにする

お金、どうしましょう。マジでどうしましょう。最初はペイウォールも用意していたのですが、あんまりにもあんまりだったので消してしまいました。

ところで、ユーザーがバス停に注釈付けしたり、アプリにフィードバックを送ったりする機能が欲しいと思っていました。Pol.is という、誰でも設問を追加できる、分析機能付きのアンケートアプリ(ウィキサーベイといいます)を参考に作ってみようとは思っていたのですが……おや。

この機能を Nostr で実装して、「私は Nostr クライアントです」って OpenSats(アメリカのオープンソース支援団体。Nostr 採用ソフトにも力を入れている)に提出し、助成金をもらえばいいのでは?

というわけで、風ぐるま乗換案内は Nostr クライアントになりました。

受賞

なんやかんやあって都知事杯に提出したら賞をくれました。やったね。

……。

すいません、余裕こきました。本当はめちゃくちゃ緊張しましたし、周りが呼ばれるなか「頼む」と祈っていました。やっぱり一年近くやってるプロジェクトだし、すごく大変だったので……

関係者の皆様、本当にありがとうございました。これからも精進してまいります。

今後の展望

場所データは、だいたい 200 件くらいの機関を整理したことになるらしいですね。独自形式のデータになってしまったので、そのうち GeoJSON あたりに整形しようと考えています。継続的なメンテナンスが課題ですね。

OpenSats にも応募しなければなりません。たいへん。

というわけで Code for Chiyoda を立ち上げました。千代田区に住んでいなくても全く問題ありません。近いうちに準備会の告知をすると思います。今でもメッセージくれれば Github の Organization に招待します。来てね~


ここまで読んでくれてありがとう。よければでいいのだが、フィードバックがほしい。 BlueskyFediverse から返信するとウェブサイト内にも反映される。健闘を祈る。

関連項目


バックリンク

ネットワーク

site_graph 20221213-individual-site 個人サイト 20230115-book-info-sharing-app 書籍情報共有アプリ 20230609-lightning-talk-distributed-sns-nostr-world ライトニングトーク「分散型 SNS Nostr の世界」 20230722-lightning-talk-various-distributed-sns-variance-sns-meeting-to-invitation ライトニングトーク「いろいろな分散型 SNS / 分散 SNS 集会へのいざない」 20230911-misskey-client Misskey クライアント 20231111-see-lightning-talk-bluesky-atprotocol ライトニングトーク「Bluesky / ATProtocol をながめる」 20240325-engineer-meeting-hackathon-nos-hagaki エンジニア集会ハッカソン「NosHagaki」 20240702-about-computer-science-meeting-nawashiro-hackathon-deliverable コンピュータサイエンス集会「Nawashiro のハッカソン成果物について」 20240708-read-variance-sns-meeting-nostr-and-atproto-by-shreyan-jain 分散 SNS 集会『「Nostr and ATProto」by Shreyan Jain を読む』 20240908-engineer-meeting-png-hackathon-udon-zettelkasten-system エンジニア集会 × PNG ハッカソン「Udon Zettelkasten System」 20241209-book-reading-memo-index 📚感想 - インデックス 20250706-audrey-tan-on-digital-democracy デジタルでおおまかな合意をめざす民主主義 - 読書メモ 20241209-book-reading-memo-index->20250706-audrey-tan-on-digital-democracy 20241209-develop-index 🔧技術 - インデックス 20250418-dijkstras-algorithm-learn-in-tsunndere ツンデレで学ぶダイクストラ法 20241209-develop-index->20250418-dijkstras-algorithm-learn-in-tsunndere 20250428-kazaguruma-transit 風ぐるま乗換案内をつくった 20251208-the-story-of-how-the-windmill-transfer-guide-won-the-administrative-problem-solving-award 風ぐるま乗換案内で行政課題解決賞をもらったはなし 20251208-the-story-of-how-the-windmill-transfer-guide-won-the-administrative-problem-solving-award->20250418-dijkstras-algorithm-learn-in-tsunndere 20251208-the-story-of-how-the-windmill-transfer-guide-won-the-administrative-problem-solving-award->20250428-kazaguruma-transit 20251208-the-story-of-how-the-windmill-transfer-guide-won-the-administrative-problem-solving-award->20250706-audrey-tan-on-digital-democracy 20260108-the-future-of-the-kazaguruma-transit-guide-and-new-years-greetings 風ぐるま乗換案内のこれからと、年始の挨拶 20260108-the-future-of-the-kazaguruma-transit-guide-and-new-years-greetings->20250428-kazaguruma-transit projects-index 🏆Projects projects-index->20221213-individual-site projects-index->20230115-book-info-sharing-app projects-index->20230609-lightning-talk-distributed-sns-nostr-world projects-index->20230722-lightning-talk-various-distributed-sns-variance-sns-meeting-to-invitation projects-index->20230911-misskey-client projects-index->20231111-see-lightning-talk-bluesky-atprotocol projects-index->20240325-engineer-meeting-hackathon-nos-hagaki projects-index->20240702-about-computer-science-meeting-nawashiro-hackathon-deliverable projects-index->20240708-read-variance-sns-meeting-nostr-and-atproto-by-shreyan-jain projects-index->20240908-engineer-meeting-png-hackathon-udon-zettelkasten-system projects-index->20250428-kazaguruma-transit projects-index->20251208-the-story-of-how-the-windmill-transfer-guide-won-the-administrative-problem-solving-award