SNS上の煩悩を打ち払う鐘を24時間で作った

24時間で作品を作るHack Day 2016というイベントに参加しました。
hackday.jp

これで出るのは3回目(前々々回前々回、前回はそういえば書いてない、、)今回は"Facebook上の煩悩にまみれた投稿を打ち払う鐘"「108(ワン・オー・エイト)」を作りました。
むりやり文章で説明すると、「Facebookから投稿を取ってきて煩悩度をスコアリングして、ランクを表示するぜ!で鐘をついたら一番煩悩度が高いやつを再投稿するから反省しろよな」というシステムです。
詳しくは下記の記事と動画をご覧ください。

portal.nifty.com
www.youtube.com

発表資料はこちらです(何もわからないですが・・・)。

www.slideshare.net

どういう経緯でこのアイデアになったかは飲み会で決まったのでまったく覚えてないのですが、「普通にアプリとか作っても仕方ないから、もっと未来のものを作ろう!」と言う話し合いの結果が鐘、ということになって本当に良かったです。

今回は網戸でリアプロジェクションするアミッドスクリーンを使いました。
最近はとにかく「液晶画面からの卒業」をテーマの1つにしているので、試してみたかったのです。
アミッドPさんのブログがものすごく参考になりました。大感謝です。
textalk.moe-nifty.com

鐘はデザイナーのメンバーがパワーを発揮してすごいいいクオリティのものを作ってくれました。
出来が良すぎて(鐘だと)ばれる!となったので、開発中は目を付けてドロイドくんですと言い張っていました。
鐘、つくのめちゃくちゃ楽しいんですよ。自作のでいいので皆さんもぜひやってみてください。
非日常を簡単に楽しめるようにするの、すごい大事なような気がしてきた。

煩悩のスコアリングはテキストと画像の2つから計算しています。
Facebook投稿のテキストと事前に作った煩悩っぽい単語の辞書データとのマッチ回数からまずテキストでのスコアを出します。
そしてIBMのWatsonが画像認識のAPIを持っていたので、投稿された画像に食べ物やパーティ的なものが写っていたらスコアを足しています。
本当はGoogleのCloud Vision APIが使いたかったのですが、クローズドベータの申請が間に合わず断念。そしたらその数日後にオープンベータになって申請の審査がいらなくなってしまい、涙しました。中山くん苦労したのにごめんよ・・・。

フローとしては、
1. FBアプリのURLにアクセスしたら投稿を自動で解析する
2. 完了したら解析用のサーバがRedisのキューに投げる
3. ブラウザ用のサーバはRedisのキューを監視していて、キューが投げられたら煩悩スコアをブラウザに表示する(=アミッドスクリーンに出る)
4. 鐘をついたかの判定はArduinoでやっていて、ブラウザ用のサーバとつながっている。ついたらユーザのFBに煩悩度が一番高いものを再投稿する
という感じです。Node.jsとRedisのキューの仕組みを使うのが最近は多くなってきましたが、こういうときにfluxとか使うといいのかもしれません(ほんとかな)。


プレゼンは最近「話題をデカくする」ことにハマっている気がします。今回はSNSに煩悩があふれてどうするんだ現代社会!という流れ。
ちなみに前回は「人類は厚切りされたものをもらうと嬉しくなる生き物なんだ!」とか言っていました。
どうでもいい主張をしたいがためにモノを作っている感じが否めなくなってきた。


というわけでHack Dayの振り返りでした。今までで一番の大物を作ったので満足です。
運営の皆さま、毎度無茶ばかり言ってすみません。ありがとうございました。