概要

  1. 結果
  2. ハッカソン概要
  3. 開発
  4. 発表時
  5. 感想

1. 結果

タイトルにもあるように今回参加したハッカソンで優勝しました。

ここ1年ほど忙しく、久しぶりのハッカソン、開発だったので成果を残すことができるか不安だったのですが、良い結果を得ることができました。

↑後ろのモニターに映ってるのが自分です。


優勝賞状

作成したサービスの内容は以下のサイトにあります

作成したサービス

今回のハッカソンでは次世代の名刺交換アプリ
PR-card
を開発しました。

ただお互いの情報(名刺)を電子的に交換するだけでなく、ARでの閲覧も採用しこれまでに存在しているサービスのとの差別化を図りました。 自分の名刺を作成する際にテキスト入力だけでなく、音声入力を採用することでこれまでにないUXをお届けします。

作成したサービス「PR-card」の内容はこちら

PR用の動画

2. ハッカソン概要

今回参加したハッカソンは
ハックツハッカソン ブラキオカップ
です。

採点基準としては単なるアイデアソンにならないよう、技術を重視した配点になってました。(大体2:8ぐらいでした。)

さらにこのハッカソンなんと
参加者に食事/宿泊施設を無料で提供となっていました!(諸事情で現地参戦できなかったんですが...)
マジですごいです。

3. 開発

3-1 アイデア出し

ハッカソンのテーマが、ハッカソンの2週間前くらいに「自分が一番のユーザーになれるもの」として発表されました。

自分たちのチームでは、1週間前までに2回ほど集まってアイデア出しをして何を開発するかを決めました。
今回は技術力重視で見られるということだったので、そこを意識しつつ、自分が使いたいと思えるものを探していきました。

まずはメンバーで技術については考えずに、「自分が欲しいと思えるような、かつぶっ飛んだアイデア」を意識してアイデア出しをしていきました。

出てきた案の中から技術的なものをピックアップして、再度自分たちが欲しいものを探していきました。

そうして技術としてはARを、欲しいものとしてオンライン上での名刺交換に着目してできたのが

今回開発したサービス「PR-card」です。

PRカード ロゴ

3-2 開発技術

開発技術を一枚にまとめると以下のようになりました。

PRカード 使用技術

メンバーの構成

開発時のメンバー構成は以下のようになりました。

  • iOS: 3人
  • バックエンド: 3人 (Golang2人、JavaScript1人)

でした。

自分がやったこと

自分はNode.jsとTypeScriptを使って、クライアントから送られてくるユーザーの情報をもとにステータスを表すグラフや文字をpng画像として生成し、クラウド上に保存する処理を実装しました。

サーバーで作成されるレーダーチャート画像サーバーで作成される文字の画像

サーバー処理のデプロイ先はGoogle Cloud PlatformのCloud Functionsを利用し、画像を保存する場所はCloud Storageを利用しました。

今回技術面で苦労したのは

  • サーバーでDOMやdocumentなどを使用できないことへの対処
  • GCPを使用すること

です。

今までほぼWEBフロントしか触ってこなかったので、同じJavaScript (今回はTypeScript) を触っていてもサーバーではDOMやdocumentを使えないことによる弊害にずいぶん苦しめられました。また、node.js特有の問題 (サーバーでのパッケージの使用) にも苦戦しました。普段パッケージに頼り切っていて、知識が浅いことが今回でよくわかりました。仮想DOMの深層は怖かったです。

また、今回使用したGCPですが、まったく触ったこともないのにハッカソンでいきなり使おうとしたので苦戦しました。ひとえにサーバー処理を実行させるにも、GCPにはたくさんの実装方法が取れてしまうのでどれを使うのがいいのか、簡単なのかを判断するのが難しかったです。(Google Cloud functionを利用したのはデプロイが簡単そうだったからです[App EngineはYAMLとかDockerとか出てきたので撤退しました])。

ただ、触ったことのない分野、技術等にたくさん触れることができ、自分のスキルが大きく向上したのが実感できたので楽しかったです。

↑今回の自分の担当技術・分野

デザイン

今回作成したサービスのロゴ作成も自分が担当しました。たくさんの没案を出してようやく自分の納得するものができたときはとても楽しかったです。(6時間くらい練ってた気がする)

4. 発表時

ハッカソンと作品発表、結果発表は現地(福岡)とオンライン(現地に集まれない人)両方で行われました。

今回自分は現地に行けなかったので、オンラインからの参加でした。

どのチームも使用技術のレベルが高く、また面白いサービスもたくさんありました(個人的にはもくもくと魔法陣が好きでした。)
正直ほかの人の使用技術のレベルの高さとか見て、自分がエンジニアを名乗っているのが恥ずかしくなりました

会場とかの熱気とかも高く盛り上がっていそうでした(オンライン参加なので実際の様子がわからない)。ぜひ今度は現地参戦したい...!

結果としては自分たちのチーム「6種の北海道チーズ牛丼」が優勝しました。(自分だけでなくチームのみんなも驚いていました。)

5. 感想

使用したことのない技術に触れ大く成長することができました。やはり短い期間で追い込まれながら開発するとインプットもアウトプットも高速で出来ていいなと思いました(いつもやれ)。

久しぶりにコーディングにも取り組み(半年ぶりくらい)、ちゃんとコーディングできるか不安だったのですが、いざやってみると楽しくて手が止まりませんでした(気が付けば朝)。

またチームでの開発もいいなと改めて実感しました。(メンバーのみんなありがとう)


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です