「第8回ツクってアソぶハッカソン」受賞者インタビュー⑤ 学生賞 コミットしちゃったズ(まーく & やぐ)さん

2025.05.30

2025年2月21日から28日にかけて「第8回ツクってアソぶハッカソン」(通称ツクアソ)が開催されました。

今回のテーマは『1年に1度だけ使いたいもの』。
難しくも考え甲斐あるテーマ。皆さん、いつも以上に楽しんで取り組んでくださいました。

今回の受賞者インタビューは特別賞、コミットしちゃったズさんです。

コミットしちゃったズさんの「サンタさんとはなそう!」は、子どもとサンタさん専用のリアルチャットアプリ。プレゼントに対するお互いの認識の齟齬を防ぐために開発されました。

プライベートチャットであるという体での認証機能、かわいらしいグラフィックなど、全体的に非常に丁寧に作られていること、また「サンタさんとのすれ違いによって起こりがちな『がっかりプレゼント』を防ぎたい」というほほえましい発想が評価されました。

制作の詳細な過程など、たくさんお話しいただきました!


コミットしちゃったズさんのプレゼンは 00:41:26 〜



コミットしちゃったズメンバー
まーくさん
やぐさん

──── 学生賞の受賞おめでとうございます。
やぐ・まーく:ありがとうございます。
──── 今回はツクアソ史上かなりの激戦でした。学生チームもたくさんあった中での受賞ということで。
まーく:ありがとうございます。歴代の参加者数を見てたんですけど、今回ものすごく多くて。賞をいただけて本当にうれしかったです。
──── では早速ですが、ツクアソにご参加いただいた経緯をお聞かせください。
まーく:やぐさんと僕はもともとハッカソンで知り合ったんです。2人ともこの4月から社会人なんですけど、できるだけ学生の間にレベルアップしたいなと思っていて、connpassでハッカソンを探していました。そのときにたまたまツクアソを見つけたというのが経緯です。
──── お2人とも4月からエンジニアですか?
まーく:そうです。2人ともウェブ系の会社で。
──── ハッカソンで知り合った仲間なんですね。
まーく:そうです。その即席チームで知り合って、気が合うなという感じで。
──── ハッカソンにはよく参加されるんですか?
まーく:僕は大好きで、いっぱい出てます(笑)。
やぐ:僕は今回で3回目のハッカソンです。
まーく:やぐさんと一緒になったのは徹夜でやるようなハッカソンだったんですけど、深夜の開発とか、修学旅行の夜のノリで開発できてすごく楽しくて。そういう雰囲気がやぐさんとはマッチしたんで、また一緒にやりたいなと思って誘いました。
──── テーマ発表があってから、どんな感じで3日間を使われましたか? アイデアはすぐに出たんでしょうか。
まーく:テーマ発表されたのが20時頃で、昼夜逆転生活をしてたやぐさんと0時ぐらいからチームミーティングを始めました。1年に1度使うアプリってなんだろうって考えて、最初は「正月」が出てきたんですよね。お正月と言えばおせちで、おせちがあったら親戚と集まって話すよね、みたいな感じでどんどん話を膨らませていって、最終的にクリスマスにたどりつきました。多分2時間ぐらいでアイデアは固まったんじゃないかな。
──── 早いですね。アイデア出しに1日かけちゃうチームもありますよ。
まーく:ハッカソンで受賞を狙うんだったら、アイデアに時間を割くべきだよねっていう話もしたんですけど、僕たちがハッカソンに出る一番の目的が「技術力を上げたい」だったので、今回はパパッと、面白い技術を使ってアプリ作りを楽しもうというスタンスでした。まあ、すんなり出たのは偶然と言えば偶然ですけど(笑)。
──── では実際の開発についてお聞きします。今回作ってくださった「サンタさんとはなそう」は、チャットを実装してると思うんですが、フレームワークは何を使用されてるんですか?
まーく:フロントはReactとTanstackの2構成でやってて、バックエンドはRailsを使って開発しようと思ってたんですけど、ちょっと開発速度が落ちそうだったんで、当日にsupabaseに切り替えてます。supabaseはテーブル設定だったりデータのストックなんかが簡単にできてすごくハッカソン向きでした。
──── 役割分担はどんな感じに?
やぐ:僕がフロントエンドで主にReact側を担当して、TanStack、今回はRouterを使ったんですけど、その環境構築とかもやって、まーくさんにはロジック側を、supabaseとの接続とかもゴリゴリ書いてもらいました。大雑把に分けると、フロントが僕、バックエンドがまーくさんでいい感じに分担を。
──── お二人って普段使ってる言語やフレームワークなどは共通してるんですか?
まーく:今回のハッカソンではウェブアプリを使ったんですけど、僕は本当はモバイルのほうが得意なんです。なので、主に使うフレームワークはFlutterですね。今回に関しては、やぐさんはReactが得意だったんで、できるだけその得意領域を生かしてほしいと思って、僕もReactを使ってアプリ開発をやってみました。
supabaseは共通して使ってて、前回一緒に出たハッカソンでも使ったんです。そこは爆速で開発しようと思って、得意なところを合わせて使いました。
──── 今回、開発にあたって詰まったところとかありました?
まーく:supabaseってDBとかデータベース操作のイメージがあるサービスだったんですけれども、それを使ってリアルタイムチャットをどう実装すればいいのかが最初わからなくて。いろいろ、Qiitaとかで調べまくってたらちょうどいい記事を見つけて実装できたんですけど、その記事が見つかるまでが大変でした。
やぐ:僕は2つあって、1つ目が、Reactでグローバルに値を保持する方法ですね。useContext使えば保持できるんですけど、それとTanStackRouterの管理方法を混ぜるためにどうすればいいのか全然わかんなくて詰まりました。でもuseContext使っても、今の配置から全部変えることになっちゃうんで結局断念したんですけど…。
2つ目は、僕が認証について全く詳しくなかったおかげでつまずきまくって、全部まーくさんに助けてもらいました(笑)。
──── 今回のツクアソへの参加は、技術学習が目的だったということでした。新しく習得したスキルや知識はありましたか?
まーく:実は、ツクアソが始まる前に開発環境を揃えておきたいなと思って、2週間ぐらい前から活動してたんです。最初はRails使って開発しようと思ってたってお話をさっきしたんですが、それももしかしたら就職先でRailsを使うかもしれないから触っておきたいっていうのがあったんですね。残念ながらうまくなじめなくて結局supabaseになりましたけども。
でもまだ1週間ぐらい余裕があったんで、サーバーサイドレンダリングをReactとExpressで、Next.jsを使わずにやろうっていう挑戦はしてみました。それ自体はできたんですけどまた別の要素が出てきてしまって、ツクアソでは使うことなくって感じでしたけど、挑戦自体ができたので満足してます。
やぐ:僕は、Dockerのコマンドの簡単な意味がわかったことと、Dockerのフォルダを圧縮する方法がわかったっていうのが学びでしたね。あとは、Reactの新しいAPIをふんだんに使って、いい感じにコード量を減らせたことかな。そのほかにも、CORSがどういうものなのか知れたとか、Vercelでビルドするときにコマンドを細かく設定しないとエラーになってデプロイできないことがわかったとか、数えきれないくらいの量の学びがありました。
──── この3日間でたくさんコードが書けたんですね。
まーく:そうですね。やっぱりコード書いて実際にデプロイしてみて、練習環境だと見えなかったところも実際に自分の目で確かめることができたんで、たくさん学習できて本当によかったと思いました。
──── 他の参加チームの作品で印象に残ってるものはありますか?
まーく:ネットワークの速度でお年玉の金額が決まるやつ(ねっとわーく専攻 「Packet Gift」)ですね。どうやったら通信速度っていうモチーフに面白い要素を加えることができるんだろうって思いました。技術と面白要素を組み合わせられるその発想力が僕にはないものなので、印象に残ってます。
やぐ:僕は実家に帰ってお母さんに怒られるやつですね(チームKTN「ZIKKAN」)。音声認識を取り入れててすごく面白かった。
まーく:あれはプレゼンの見せ方的にもよかったよね。嫌なお母さんの演じ方が(笑)。
──── ツクアソ、楽しんでいただけましたか?
まーく:普段の生活の中では、なかなかチームでアプリを開発する機会はないので、みんなで目標に向かって深夜テンションで開発する経験がすごく楽しかったです。
やぐ:僕も同じく。ものすごく楽しかったし、めちゃめちゃ成長できました。
──── 4月からおふたりとも社会人ということですけど、忙しくなっても深夜テンションで開発する気持ち、忘れずにいてくださいね。次回のツクアソは8月の下旬を予定しています。お忙しいかもしれないんですけど、ぜひご参加ください。
まーく:ぜひ。こういう面白い体験は、やっぱりハッカソンじゃないとできないので、またやぐさんと一緒に参加したいです。
やぐ:ぜひ次回もやりましょう。
──── お待ちしてますね。本日はありがとうございました!