0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

韓国人エンジニアの東京・終電検索アプリ開発記 ① 〜なぜ作ったのか〜

0
Last updated at Posted at 2026-05-22

こんにちは。韓国でバックエンドエンジニアをしています。

少し前に、東京の終電を検索できるサイト(https://shuden.tokyo) を作りました。作っている間にいろいろあったので、シリーズ
で書いてみようと思います。1回目は「そもそも、なんで作ったの?」という話です。

きっかけは東京旅行でした

何年か前、東京に旅行で行ったときのことです。夜の便だったので、宿に着いた頃にはもう遅い時間。しかも費用をケチって、渋谷
や新宿からだいぶ離れたエリアに宿を取っていたので、バックパックを背負って、Google
マップだけを頼りにしばらく迷いました。

旅行中、ずっと同じところが地味に不便でした。夜に出歩くたびに「そろそろ帰らないとマズいかな?」とソワソワするんです。Google マップを開けば「今出れば何時に着く」みたいなのは出る。でも、知りたいのはそこじゃないんですよね。

僕が知りたかったのは、これです。「自分、あと何時まで遊べるんだ?」

終電って、その夜の門限みたいなものじゃないですか。なのに、その門限が何時なのかをパッと見せてくれるものが、意外と無かっ
たんです。だったら終電の時刻だけスッと教えてくれるものがあればいいな、と思いました。

ちょうど、公開データがありました

あとで調べたら、東京には ODPT という公共交通のオープンデータがあったんです。これを見て「あ、これなら作れるかも」と。

スタックは普通に Java と Spring にしました。一番慣れているので。新しい言語を勉強する時間を使うより、終電の経路計算とか
サーバー運用のほうに頭を使いたかったんです。(僕は SRE
まわりに興味があって、何を作るにも「ちゃんと動くか」より「落ちないか」を気にするタイプです。)

コードは Claude Code をかなり使いました。これは正直に書いておくべきかなと。とはいえ AI
が書いたコードをそのまま置いたわけではなくて、直して、壊れるところを塞いで、遅いところに手を入れるのが僕の仕事でした。
結局「落ちたら自分の責任」ですからね。

ほとんど初めてで、ちょっと緊張しました

AWS にサーバーを立てるのも、Cloudflare
をつなぐのも、ドメインを買うのも、全部初めて。ドメインの支払いボタンを押すとき、なぜか指がためらいました。

でも一番ドキドキしたのは別のことです。日本にいる誰かが、僕のサイトに初めて入ってくる瞬間。それが本当に来るのかな、と思
っていました。🌏

簡単ではなさそうでした

始める前から、引っかかることがいくつかありました。

まず僕は韓国に住んでいます。東京で実際に乗ってみて「あ、ここ間違ってる」と気づくことができません。それから、いざ公開し
てみるとボットのトラフィックが想像以上で。本物の人間と変なリクエストを見分けるのもひと仕事でした。何より、僕は日本語も
話せないし日本の地下鉄もよく知りません。だから結果が出ても「これで合ってるのか?」を自分の勘では確信できなかったんです。

こういうのをどう乗り越えたかが、このシリーズで書きたいことです。

これから書く予定のもの

  • 終電をどう計算したか(JR データが無くて苦労した話も)
  • ボットだらけのトラフィックから本物の人を選り分けた話
  • 2GB 1台で耐えるコスト・性能の話

実際に作ったサイトはこちらです → https://shuden.tokyo

つたないですが、よろしくお願いします。フィードバックはいつでも歓迎です。間違いなどあれば、気軽に教えていただけると嬉し
いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?