社内ハッカソン開催しました(2018年spring)
あいさつ
こんにちは。オプトテクノロジーズ エンジニアの山口です。
市ヶ谷のオフィス近くに魚金がオープンしていい感じです。
オプトテクノロジーズでは数ヶ月おきに社内ハッカソンを開催しています。
つい先日も行われたので、この記事ではその様子をお届けします。
ちなみに前回は合宿形式でした→開発合宿 in 那須塩原
朝会
朝はチーム決めをしました。事前にメンバー間で話し合ってチームを組んでいるところもあれば、当日にチームリーダーが説明をしてメンバーを引き込んでいるところもありました。
今回の社内ハッカソンはテーマ自由。2人以上のチームで取り組みました。
当日の様子
ごろーん
発表
当日は8チームが参加しました。
各チームの取り組みをご紹介いたします。
チーム名 | テーマ |
---|---|
精神 。 自分 の 突破 ! 。 | Valueジェネレータ作る |
こころおきなくしねるチーム | スクラム雑務改善 |
DarkSideScience | 広告業界のダークサイド |
Juliaチーム | Juliaでkaggleに挑戦 |
最強のプレゼンタイマー | プレゼンタイマー |
Web Speech APIで語学アプリ開発 | Web Speech API |
チーム偽装結婚 | ? |
スマートスピーカー枠 | GoogleHome アプリ |
精神 。 自分 の 突破 ! 。
今年発表したオプトのValueに乗っかって、API から新たな文言を自動生成する仕組みを構築しました。
新しく考える工数を0に削減できるそうです。
Valueは社員が大事にしているものから決めており、
この時の草案をもとにコーパスを作成(mecabで分かち書き) keras にて LSTM で試しました。
生成したものをいくつか紹介します
- 自分を巻き込めパフォーマンスあれ
- Give自らGive&Give!!
- プロフェッショナル で チーム を 強く する 。
- 点 から 考え抜く !
ちなみにチーム名は自動生成した1つにしたようですね。
こころおきなくしねるチーム
このチームは業務で KPI の達成状況や運用の自動化に積極的に取り組んでいており、
ほとんどが日々入力するドキュメントから自動的に算出され、可視化されています。
今回はアラート発報時に機械的に記録できるものは予め記録しておき、
対応者は名前を書く程度の労力で済むような自動化をしました。
Slack から SpreadSheet へ自動取り込みされてアラート対応に専念することができます。
終始ペアプログラミングして開発していました!
DarkSideScience
筆者はこちらのチームに参加していました。
闇のビーコンタグによってサイト閲覧者の動向をサーバーへ送信、
gif として保存されます
プライバシーの観点から実現化はしませんが、
プロモーションを最適化するために行動履歴全部を見てしまおうというコンセプトです。
設計のMTGで Firebase や HTML5 の API を使ったいろいろなアイデアが出ました。
Juliaチーム
Julia を使ったことのないメンバーが kaggle に挑戦しました。
House Pricesというアメリカの家の価格の回帰問題です。
特徴量が50-80あり、駅からの近さなどから価格を予想します。
submitまで行いました。
最強のプレゼンタイマー
愛用しているウサギとカメのプレゼンタイマーを手放せない!
Qiitaスライドも使いたい!
とのことでQiitaスライド上で動くネコとネズミが追いかけっこするタイマーを作成
絵も手作りです
- リポジトリ: opt-tech/okkake-timer
- Chrome Extension WebStoreからインストールできます
Web Speech APIで語学アプリ開発
Web Speech APIの音声合成APIと音声認識APIを活用して、実用的な語学学習支援アプリを開発してみようというチームです。
音声合成でスピーカーから例文を読み上げさせ、ユーザーが音声認識でマイクから吹き込むことで発音練習できる、シンプルなWebアプリを作りました。
Webフロントエンド技術のR&Dも兼ねて、チームメンバーそれぞれに業務で使ったことのない技術スタックでSPA開発に挑戦しました。
- watiko
- snagasawa
- リポジトリ: https://github.com/snagasawa/language-study
- 利用技術: Vue.js
- 画面イメージ
- lagenorhynque
- リポジトリ: https://github.com/lagenorhynque/phoneq
- 利用技術: ClojureScript, re-frame, Duct
- 画面イメージ
チーム偽装結婚
今回のハッカソンでは2人以上でチームを組んでくださいと伝えていたため、
なんと個人プレーしたいがためにチームになっていたチームらしいです。
チーム決めの朝会で「同じテーマをしたいチームが組めれば離婚できる (※)」と申しておりました。
※ チーム名が偽装結婚なので
- Drag&Drop できる angular ディレクティブを作成
- 「資料はないのでPRをみてください」
- 後で
npm publish
する(現在公開されています) - リポジトリ: opt-tech/ng-file-binder
- プロダクトで利用している URL 判定の改良
スマートスピーカー枠
GoogleHome での開発をしました
途中からチームメンバーが退勤して1人チームになるため、
ひとりぼっちでもさみしくない機能を実装したそうです
デモでは次のように GoogleHome が会話してくれました
- 「○○さんをほめて」->「いつも尊敬しています」
- 「○○さんどう」 -> 「オプトテクノロジーズは○○さんなしでは語れません」
- 「ひとりぼっち」 -> 「大丈夫ですよ私がいますよ」
- 「つかれた」 -> 「大丈夫ですかあまり無理はなさらないでくださいね」
まとめ
発表後はよかった発表を投票し、「Web Speech APIで語学アプリ開発」が1位を獲得しました、おめでとうございます!!!
今回のハッカソンで課題の解決や、取り組んでみたかった技術にふれることができました。
株式会社オプトでは、エンジニアを随時募集しています。エントリーはこちら(新卒 / 中途)から。
※カジュアル面談ご希望の方は、補足欄に「カジュアル面談希望」とご記載ください。