見出し画像

JPHACKS2023優勝した話-HackDay①-


マッチング

JPHACKSには個人参加者同士をマッチングしてチームにする仕組みがある
恐らく一人では何もできなかっただろうからこれはとてもありがたかった
チームメイトになったのは自宅でサーバーを持っているスーパーエンジニアM2のMottyさんと、多分同世代では群を抜いて革靴愛が強いであろうB4のTokuさん
本当に最高のチームメイト2人と出会うことができた

我々はマッチングから1週間ほどしてオンラインで顔合わせとテーマ決めのミーティングを行なった
M「皆さんの技術スタックはなんですか?私は自宅にサーバーがあってバックエンド全般できるのと、ハードができます。」
「私はハードができます。あとはBLEとかAIとか3Dとかを少々」
T「私はハード少し齧ってます。あとはVercelとかGoとかのWeb系とAWSとかわかります」
明確なフロントエンジニアがいないw
当時の記録を見直すとこりゃアプリ作成は無理だなという感じである(Mottyさんはハズレチーム引いたなと思ったらしい)
※ちなみに自分はバックエンドさっぱりなのでこの時点では二人が何言ってるか半分も理解できていなかった

まぁこういう状態から始まってお二人から色々吸収できたのが今回の一番大きい成果だったと振り返って思う

「革靴」というテーマが決まるまで

テーマ決めミーティングは続く
T
「革靴がすごい好きなんで、革靴とTechを掛け合わせてなんかやりたいんですよね」
「革靴履く上での悩みってなんかあります?」
T「シューキーパーに臭いがつくんですよ」
俺&M「えっと…シューキーパーって何ですか?」

そう、この時点で私はシューキーパーというものを全く知らなかった
後から分かったが、100均でも手に入るメジャーグッズである
だがこの時点ではそんなもの持っていないし、当然一回も入れたことがない
結婚した折に父親に「お前もいい大人なんだから革靴くらいちゃんとしたものを持ちなさい」と叱られて買った数万円のREGALの革靴だってノーメンテである
だって履かないし

そこから詳しく話を聞いていくと、
革靴を何時間も履いた後というのは往々にして靴も足もくさくなるものだが、型崩れも心配であるので、靴を脱いだら一刻も早くシューキーパーを入れたいのだけど、あんまり早く入れずぎるとシューキーパーごとくさくなる
というのが悩みの大筋であった
シューキーパーというもの自体が数万円するものもあるらしい
自分のREGALの革靴は世界で一番高い部類と思っていたが、どうやらそうではないらしいことをこのあたりで察した

なるほど靴の臭いが問題ならば話は早い
臭いというのは往々にして雑菌や微生物が原因だろうというのは想像がついた
雑菌繁殖の原因は多くは高温多湿な環境であろう
あと単純に湿度が高いとくさい(例えば生乾きの洗濯物みたいに)

「じゃあ、臭いの対策として湿気が抜けるまで待って、ちょうどいいタイミングでシューキーパー入れなさいーってLINE通知が来る、みたいなのどうですかね?」
T「なるほど!それはいけそう!」
M「あ、私ちょうどDHT22って温湿度センサーいっぱい持ってるんでこれ使ってみましょうか」
なんで持ってるんだよそんなもの、と心の中でツッコミを入れたのは言うまでも無い
まぁ持っているからこそのハッカソン個人参加かもしれないって話だけども
こう言った経緯でテーマは「革靴」に決まった
テーマと方針が決まるまで多分1時間なかったのだが、とてもワクワクしたのを覚えている

開発の骨子

顔合わせミーティングはそのまま事前開発に移行する
M
「じゃ、さっと試しにこの温湿度センサ、手持ちのESP32で動かしてみましょうか」
「あーESP32ですか、私M5StackCore2持ってるので本番これ使いますか?LCD付いてますし」
M「いいですね。それは便利かも。あ、温湿度センサ動きました」
「おー最高です。そのセンサAmazonで今すぐ注文します」
M「スポンサー企業さんが提供予定の気圧センサーって使えないですかね?」
「気圧差で高さが計測できるなら、靴を保管してる棚は何段目とかって情報取れんじゃないすかね?」
T「いいですね!企業賞狙えそう!!それやりましょうか」
体感ここまで5分

テーマがすんなり決まった我々は準備としてその場で事前開発を始めてみたものの、レギュレーションに従ってプロダクトのコア部分は事前に作れないので一旦センサーを動かしてみるところまでで開発を止めた
この時にみんなで共有していたプロダクトイメージは次のようなものであったと思う

  1. 靴の外と内側の温度と湿度を測って、内外が平衡状態になったらシューキーパー入れどきと判断してLiNEに通知する

  2. シューキーパーを入れたのちに気圧センサを取り付けて靴箱の棚に保管、何段目に保管したかをLiNEに通知する

  3. ユーザーは革靴の防臭と型崩れ防止を両方実現しつつ、どこにしまったかもわかる

今見ると、開発の骨子の原形が3割くらいしか残っていない
初回の要件定義がいかに難しいか示す良い例だな

いつから気圧センサーが提供されると錯覚していた?

さて我々はHackDayを迎える
HackDayは2日間開催、初日は開発と中間発表があって20時完全撤収、2日目は15時には開発を一旦終了して各チーム持ち時間90秒の発表会という流れであった

参加会場は神戸会場でオフライン参加、つまりチームメイトと初対面である
会場のKITTO神戸は図書館と一体になったイベントスペースで、JPHACKS開催会場は2階
1階ではKANPAI灘という日本酒のイベントが同日開催されていた

KITTO1階の様子

日本酒のことはとても気になったが、まぁそれは置いておくとして、大事なのはHackDayのお話である

会場について我々はいきなりつまずくことになる
なんと気圧センサーの提供は無いとのこと
事情はよくわからないが当日キャンセルらしい
愛染もびっくりである
まぁこういう試練もあるのがハッカソンってことでね

さてどうしよう…
事前に決めていた3つの機能のうち1つは実現不可能になってしまった
いきなりつまずいたので緊急会議である(緊急ゆえに発言者の記憶がない)
「コレ、ファンつけたら乾くの早くなったりするんですかね?」
「あー面白いかも」
「でもモータードライバ必要ですね…今から日本橋に買いに行きますか?」
ここで思い出したのだが、Arduino用のモータードライバをたまたま持ってきていたことだった
Hack Day前日の荷造りのときに要らんかもと思いながらツールボックスになんとなく突っ込んでいた
やっぱりこう言うのがハッカソン個人参加の醍醐味かもしれない

と言うわけで我々は初日の昼食ついでに100均に向かい、適当なハンディファンを購入した
比較的簡単にファンを入手できたのは多分幸運だった
10月と言うのになんかクソ暑かった気候のおかげかもしれない

購入したハンディファンを分解して、手持ちのモータードライバに接続できるようにした
雑に分解してしまったために、ファンのリード線がとても短くなってしまったが、これは手持ちのカシメ機でリード線を作成し何とかなった
カシメ機は非常に便利なのでツールボックスに常備することをおすすめする

ハンディファンからもぎ取ったファン部

中間発表

そんな紆余曲折はあったものの、我々のチームは目指す方向性が結構すぐ決まったこともあって、リカバリーも含め開発は順調に進んだと思う
まずはとにかくデバイスを動くようにして仮説の検証が必要だった
そのために温湿度センサを外気用、右靴用、左靴用の3台準備して色々データを取ってみようということになった
試したかったことは次のとおりである

  • そもそも靴をしばらく履いて脱いだ直後の靴内と外気の間に温湿度の差異はあるか

  • 自然乾燥の場合、靴を履いた時間に応じて必要な乾燥時間は変わるのか

  • ファンを取り付けると自然乾燥の時に比べて乾燥時間は短縮できるのか

M5Stack Core2での温湿度センサの3台駆動とモータードライバーによるファン制御が自分の担当で、デバイスのドキュメントやサンプルコードが充実していたこともあり、比較的あっさりと動いてくれた

モータードライバーで回転するファン
温湿度センサ3つとファンを制御する

その後、M5StackCore2からWi-Fi経由でデータを取得して保存する部分をMottyさんが作ってくれたあたりで1日目のHackDayは終わりを迎え中間発表という形になった

中間発表は各チームにマイクが回り、それぞれが何を目指しているかを簡単に紹介するという形で行われる
我がチームはTokuさんが熱いピッチを披露してくれ、参加者や審査員の興味を惹いてくれた

そんな中、隣で開発をしていた男女コンビチームがこんな発表をしていた
「開発したセンサーを入れる箱を、今日5時間かけて3Dプリンタで作って来たんですが、寸法ミスってセンサーが入りませんでした」
「マジピンチでどうしよっかなって感じです」
これを聴き逃さ無かったMottyさんが
「言ってくれたら手回しドリル貸すのに…」
と呟いていた
どうやらチームメイトは手回しドリルを常備しているらしい
ただ、我々のような大学のすみっコで生息しているような人種がハッカソンに男女コンビで参加しているキラキラしたチームに話かけられるわけがなかった

この記事が気に入ったらサポートをしてみませんか?