blog

備忘録です。雑多な内容を書きます。

Yahoo! JAPAN Digital Hack Day 2022に参加しました

2022年9月18日から19日の間で開催された HackDay 2022 に参加していました。
鉄は熱いうちに・・ということで、参加した翌日ですが振り返りを書きます。

HackDay?

Yahoo! Japanが毎年やっている24時間のハッカソンで、ニコ生やYoutube Liveで毎年開催 & 配信されています。
2022年はオンライン・オフラインのハイブリッドで開催されていました。
僕自身は秋葉原でやっていたころに存在を知り、Yahoo! Japan社内でのハッカソンもいいなあと眺めていました*1

当日まで

今年こそは!と思い、会社のメンバー*2を誘ってみたところなんと4人もあつまりました!
PM(兼デザイナー兼発表) x1 , ソフトウェアエンジニア3人の構成で、Hack ID:19 HARADA という名前で初参加。

発表当日の3日前に企画会議をして技術検証、当日の直前に簡単に打ち合わせして役割分担、という感じで進めました。

ブレストはnotionでやりました
ブレストはnotionでやりました

当日

チームは全員オンライン参加にしていたため、各自の家からハッカソンに参加しました。
バーチャルオフィス上に集まり、基本的には音声をつなげっぱなしでコミュニケーションをとっていました。
普段から全員フルリモートの会社で働いているからか、特にコミュニケーション面では困らなかったです。

昼12時に開始して、深夜(ほぼ朝)に3時間ほど仮眠、翌日12時までひたすら開発&調査をしていました。

結果

こちらのアーカイブから見れます。

youtu.be

作ったものは、以下のコンセプトのものです。

移住をテーマにしていて、 "○○まで○時間で行ける場所" を探すことのできる検索サイトのようなものを作ろうとしていました。
リモートワークが浸透し始めている現在、首都圏に住まなくてもいいのでは?という課題から生まれていて、 "行きたい場所を特定しない賃貸サイト" のようなものを作ろうとしました。
例えば、週1回東京の本社に出社するので、通勤時間3時間以内で家賃が安くて便利なところに住みたい。という課題を解決しようとしました*3

利用技術は以下。

  • フロントエンド Next.js / TypeScript / Mapbox(提供技術)

  • バックエンド OpenTripPlanner / PAREA API(提供技術)

  • インフラ Vercel / GCP

学び

初参加でしたが、とにかく学びが多かったです。いろいろありますが、いくつか挙げてみます。

  • オープンデータは素晴らしい。そして、課題も多い 今回、 OpenTripePlanner (以下OTP) というオープンソースの経路探索エンジンを利用しました。今回作りたいプロダクトの核となる技術で、 ○○まで○時間で行ける場所 を探すのに利用しています。
    Mapboxの Isochrone API でも可能ですが、徒歩/自転車/車 での移動のみサポートされており、今回は飛行機を使って飛び地をサジェストしたり、新幹線だと意外と早く行ける、等の問題を解きたかったため、OTPの isochrones を利用しました*4
    GTFS という交通データを用意することで、○時間で行ける場所の土地を返してくれます。
    バスなどの一部公共交通機関はGTFS形式でファイルが公開されており、これらのデータを利用することで 一方で、オープンデータとして存在しているのは一部のデータだったり、鉄道データなどはそもそも公開されてないなどの問題があり、解きたかった問題は、今回のハッカソンでは解決できないという結果になりました。
    これらは様々ところで言われていると思いますが、実際に利用してみて、データのフォーマットがバラバラ、などの課題を改めて認識しました。
    発表当日の展示会で、福野泰介さん*5が来てくださり、いろいろ話を伺った中で印象的だったのは、「このデータがほしい、というのを自治体にもちかけてみて、プロダクトをつくってみせてみるといい」というアドバイスでした。
    もう少しこのプロダクトの実装を進めて、欲しいデータの理解を深めれば、オープンデータ推進のきっかけになることができる!? 改めて福野さんの凄さを感じました。

  • こだわりすぎないこと 時間は24時間しかない。コードの綺麗さとかバランスは大事だけど、やり遂げるのが重要だなあと強く思った。 当初の想定から一部機能を削ったりしたけど、とりあえず動くところまでは実装できたので、やり遂げることの自信がついた気がします。
    自分はもっともっと速度を出せるんじゃないか、現職も前職もスタートアップだけど、考え方を変えれば、もっと貢献できるんじゃないかと思った。

まとめ

結果は予選で終わってしまい、とにかく疲れて、発表が終わったあとはすぐに寝たい気持ちでいっぱいでしたが、終わった直後でも「また参加したい!」と思える素晴らしい体験でした。
今回はリモート参加でしたが、オフラインで他のチームが頑張っている横で開発する体験もとても良いと思うので、次回機会があればオフラインで参加したいです。
つくるのはほんとうにたのしい。

*1:社員というわけではないけど、YJ社に一瞬関わっていたことがある

*2:10月に退職するメンバーも参加してくれたので、厳密には全員同僚というわけではない!?

*3:へーしゃCTOの課題から生まれています

*4:めちゃくちゃいろんな課題が出て、オンプレのサーバーを立てようとしたり計算量が爆発したりしましたが、このあたりの話は別のチームメンバーが書いてくれるはず!??

*5:僕は舞鶴高専出身で、当時福野さんの講演を聞いた記憶があります。いまも一日一創を続けていて本当にすごい。僕がソフトウェアエンジニアを目指したきっかけになった方の一人です。