ユーモア満載!社内ハッカソン『Dream of Development』(通称DOD)」レポート

2023年8月1日(火)、アルサーガパートナーズでは第1回『Dream of Development』という社内ハッカソンイベントを開催いたしました。

このイベントは、従来の社内ハッカソンとは異なり、特定のテーマや制作物についての規定がなく、自由な発想で参加者がプロジェクトを進めることができるものとなっています。さらに、Divisionや職域の制約もなく、誰でも参加が可能というルールを設けました。

この新しい取り組みに対する社内の反応は非常に高く、多くの参加者が積極的に参加しました。今回のハッカソンの様子と成果をレポートとしてご紹介いたします!

DODを開催した背景

イベント発案者 フロントエンドエンジニア田上さんより

この業界に足を踏み入れた頃、みなさんは誰しも開発という行為に夢を重ねていたはずです。今回の『Dream of Development』には、私たちが今や日常的に取り組んでいる「開発(Develop)」という行為を改めて見つめ直し、あの頃の夢をもう一度見よう、という意味が込められています。

そしてハッカソンは、その名の通り、ハックとマラソンを組み合わせたものです。マラソンのように持久力を鍛えるだけでなく、何よりもハックという行為は「楽しいから」行うものです。楽しみながら成長できることが、このイベントで最も重要な目標だと考えています。

期限以外の制限はなく、何を作ってもよいです。1ヶ月後に何を成し遂げることができるかは、皆さんのアイデアと努力の成果であると言えます。我々の「アイデア」と「スキル」を共有し、連携して新たな高みを目指しましょう。共に切磋琢磨し、テックと仕事の楽しさを再発見しましょう!

ハッカソン概要

【ルール】

・チーム単位で開発を行う

・審査期間に動作確認できる状態であればOK

・使用技術は自由

・開発期間は1ヶ月。審査期間は1週間

・当イベントに関する開発は基本的に業務外

・審査期間終了後、お披露目会を行う。スライドを用意して各チームで10分以内のプレゼンを行う

【審査概要】

##ユーザビリティ: 1-5点 

– 利便性。使いやすさや審査員への配慮、404画面やリダイレクト画面などの細やかさ

##オリジナリティ: 1-5点 

– 唯一性。アイデアが面白かったり唯一無二であること

##クオリティ(完成度): 1-5点

– 制作物としての総合的な品質。デザインやアニメーションも含む

##アルサーガビリティ: 1-5点 

– アルサーガらしさ。アルサーガの社風や文化を表現できるかどうか

##投票:1-5点

– 発表日当日に審査委員以外のみなさまに投票していただき、加算される票

上記を合わせて25点満点で評価します。優勝チームにはささやかなプレゼントもご用意しています!

お披露目

1組目:深瀬さんチーム

ARKitでバーチャル泰明さん(代表)と戦ってみた

チームではなく個人開発だったため参加基準には満たないものの、ぜひ発表したいということで参加されました。

▲VR&ARを使ったシューティングゲーム

Point!

・100円ショップのVR&ARゴーグルを使用:安価なVR&ARゴーグルを利用し、手で空間を触って操作できるUXを再現。

・AR空間上の発表スライドを共有:AR空間内に発表スライドを配置し、ゴーグルから1人称視点で閲覧可能。

・iPhoneを3台使用:3台のiPhoneを使用し、P2P通信で連携させて1つのアプリとして機能。

・ARアプリとiPhoneの組み合わせ:ゴーグルに1台目のiPhoneを取り付け、2台目のiPhoneをAR空間内のピストルに関連付けて、ハンズフリーの状態でリモコンとして操作可能な体験型UXを再現。

・iPhoneでAR空間を撮影:3台目のiPhoneを使用し、AR空間内の様子を客観的に撮影。「深瀬と泰明さんがビームで撃ち合っている」というシュールな光景を捉える。

使用技術

Swift / ARKit / P2P通信

■挑戦した点

今回は主に2点、面白い挑戦をしました。

・AR空間で自分が遊んでいる姿を客観的に見る

通常、ARアプリやゲームを楽しむ際には、画面越しにしか見ることができません。しかし、私はP2P通信を使用し、個々の仮想コンテンツの「座標と向き」「移動」「出現や消滅」などの情報を別の端末にリアルタイムで送信し、それを受け取った端末で同じ状況を再現するという方法を試みました。手間はかかりましたが、シュールな面白さに満足しました(笑)。

・空間上の仮想コンテンツを手で操作している感覚を擬似的に再現

リモコンの座標や加速度、ジャイロを活用して、仮想コンテンツに手を触れているかのような感覚を醸し出すことを目指しました。具体的には、リモコンを移動させて空中のボタンに触れたかのようなエフェクトと音声を再生し、ゲームを開始するイベントをトリガーさせました。また、シューティングゲームにおいて、実際のピストルの照準を使って狙いを定めるというマニアックな要素を取り入れました。

2組目:「レボリューション・マインド」チーム

■効率的にタスクを管理できる『Milestone』

プロジェクトで経験したタスク管理の難しさから、タスクをマイルストーンに紐付けることで効率的なタスク管理ができるアプリの開発に挑戦しました。

■Point!

・三段階のマイルストーンが作成できる

・それぞれ紐づいたマイルストーンを作成可能

■チーム構成

アプリ:1名 サーバーサイド:3名

■使用技術

フロント:React/TypeScript

ライブラリ:ChakraUI

バックエンド:PHP/Laravel、MySQL

■困難だった点・挑戦した点

Reactに初めて挑戦しました。

タスク分けが困難で、PMって大変だなと思いました。

■今後の展望

今後開発したい主な内容は以下です。

・モバイルアプリにしたい

・カレンダー機能つけたい

・五段階くらいまでマイルストーン設定できるようにしたい

・タスク属性を追加したい

■審査員のコメント一部

「入社からわずかのメンバーのみのチームで自主共同開発に挑戦して、途中までとはいえ形にしたのはとても素敵です。おそらく目標としていたところまでは作りきれなかったのだと思います。いくつかPRも拝見しましたが、設計面なども含めて妥協なく、作りたかったものが完成したらどうなるんだろう、ぜひ見てみたいな、と思いました!」

「サラッとviteとReact使ってAPIベースで環境立てるのがスタンダードな時代に・・・。おおむねちゃんと動いていると思います。環境構築フェチの僕としては、一発で環境が立ち上がるまであと少しなので、頑張って欲しいなと思いました!」

3組目:SwiftMetalチーム

■アプリ『Symphonic Swift Metal』

「インタラクティブアートを創造したい」というアイデアから、GPU性能を最大限に引き出して美しいパーティクルエフェクトを作り、メンバー全員共通の音楽趣味と技術を組み合わせて『音楽とMetalを融合させる』というコンセプトのアプリが『Symphonic Swift Metal』です。

▲実演の様子

Point!

・GPUの性能を最大限引き出すMetalを使用したこと

・音とグラフィックを融合させたプロダクトを作成

■チーム構成

アプリ:4名

■使用技術

Swift / UIKit / Metal / AudioKit

■苦労した点

・Metalの実装が難しかった

XCodeで使えるAppleのフレームワークではあるが、普段書いているコードとはほとんど別物でした。グラフィックの描画も難しかったです。

・GPUプログラミングなのでSwift側から引数が渡せない

この問題を解決するために、バッファメモリ経由で値のやりとりをする工夫をしました。また、型も共有するためにはBridgingHeaderを実装し、Objective-Cで記述する必要がありました。

・特殊なツールを使わないとログを出力することができない

期日に間に合わないと見込んだため、ログ無しで実装しました。

■工夫した点

アプリの起動音、アプリのロゴとアイコンを作成し、アプリがクールに見えるように工夫しました。そして、アプリの開発だけではなく、発表当日のためにチームのバンドTシャツも作成しました。

▲チームのバンドTシャツ

■審査員のコメント一部

「世の中には類似アプリは山ほどありますが、一定の独創性を感じました。何よりiOSアプリ及び音源を取り扱うアプリケーションは当社では実現できるメンバーが限られることもポイントとして捉えています。」

「実務で培った経験と能力を使って、自主開発で楽しいことをやる、という、エンジニアの醍醐味みたいなところを体現していて、その素敵さにちょっと腹が立ちました(笑)。もっと会社全体でこういうことやれたらいいなと思いました。」

4組目:ほぼ運営メンバーで構成された「テックトリニティ」チーム

■TensorFlow x Keras x Python x Raspberry Piで作る顔認証システム・泰明さん(代表)チェッカー

ラズベリーパイ専用のカメラから、泰明さんかどうかを判定して、泰明さんの場合はブザーがなるという顔認証アプリです。

■Point!

・画面上に人の顔のみ青枠で囲み、カメラが顔を判定しているかどうかを分かりやすく表現

・社長と判定された時のみブザーが鳴るように調整

・PC不要のラズベリーパイのみで完結するプロダクト

■チーム構成

フロントエンド:2名、サーバーサイド:1名

■使用技術

・TensorFlow 2.13.0(機械学習用のライブラリ)

・Keras 2.13.1(ディープラーニング用のライブラリ)

・Python 3.11.3 ・OpenCV

■工夫した点

・モデルの精度向上の為、画像の水増し(反転・回転)

・泰明さんだけでなく他人の画像を追加

苦労した点

当初、ラズベリーパイ上でディープラーニングを実施し、顔の判定を行う予定でしたが、ラズベリーパイの性能が限られていたため、処理に制約が生じました。そのため、最終的にはMacBookを使用してディープラーニングを実行することにしました。

また、モデルの結果をファイルに保存し、それをラズベリーパイで読み込ませる方法を採用しました。ただ、モデルを定義して読み込ませたものの、すべての判定が同じ結果となってしまいました。これを解決するためには、モデルを何度も見直し、閾値の修正をしました。

審査員のコメント一部

「普段のアルサーガの業務ではなかなか挑戦できないことを、ここぞの機会にやり切った感、素晴らしいですね。自分も挑戦してみたいなと刺激を受けました。」

「まるであたかも泰明さんの画像が危険かのような検知音に爆笑しました。これをアルサーガビリティと言わずしてなんと呼ぶでしょう。満点です。」

優勝チーム発表

今回の審査方法は、ユーザビリティ、オリジナリティ、クオリティ、アルサーガビリティと投票から点数をつける採点式で、総合得点の最も高いチームが優勝となります。

そして見事に、『Symphonic Swift Metal』を開発したSwiftMetalチームが優勝しました!

メンバーの趣味を実務に生かしたことから感じた個性を尊重し自由度を重視しているアルサーガらしさと、UI設計、ロゴのデザインやSEのクオリティが高く評価されました。

最後に

アルサーガでは人を支え合う文化を育むという「相互成長」をミッションに掲げています。今回のDream of Development(DOD)は、エンジニアとして働くメンバーの声によって実現しました。このイベントを通じて、メンバー同士のコミュニケーションが深まるだけでなく、実務では経験できないような学びも多く、さらなる成長につながったのではないかと思います。

このように、アルサーガではメンバーの個性や独自の発想を尊重し、それを実現する機会を提供することを非常に大切にしています。今後も社内向けのライトニングトークイベントである「TOT」やディスカッション形式の勉強会など、さまざまなイベントを定期的に開催していく予定です。

(文=広報室 尹)

アルサーガに興味を持っていただける方を募集しています!

エントリーしたい方、話を聞きたい方、気軽にお問い合わせください!

エントリーはこちら

まずは話を聞きたい

ご意見・ご感想募集

この記事へのご意見、ご感想をお待ちしています。
「おもしろかったよ」「もっとこんなことが知りたい」など、どんなご意見でも構いません。あなたのご感想を、ぜひ、こちらのフィードバックフォームからお送りください。