クックパッド開発コンテスト24に参加した思い出

クックパッド開発コンテスト24に参加しました。(去年の夏だけど)

そこで Happy Bottle というWebサービスを作り、今でも個人的に使っています。
今ふりかえってもすごく良い体験だったなぁと思ったので、コンテストが終わった直後に書いた感想文をブログに載せておこうと思いました。

HappyBottle
http://happy-bottle.herokuapp.com/

      • -


ある日、@tricknotesさんに一緒に「クックパッド開発コンテスト」やろう、と言われてとても嬉しかった反面、本当に自分ができるだろうか足をひっぱらないかととても不安な気持ちがいっぱいでした。まぁ、不安なのはいつものことですが。


お題はとても難しく思えましたが、今まで自分が作りたいと思っていた「幸せ箱」のアイデアとうまく結びつき、取っ掛かりのネタとして@tricknotesさんも合意してくれて方針が確定ました。


幸せと感じた出来事を瓶に入れて流すイメージで「HappyBottle」と名付け、まずは骨格部分のプロトタイプを作ってみようということになりました。最初は@tricknotesさんと交互にペアプロをして開発のリズムをつけ、途中から分業して開発を進めました。Rails4を触ったのは初めてだったので、ほとんどが僕へのレクチャーみたいになってしまい申し訳なく思いました。


すぐ隣にいて認識を随時合わせながらの共同作業はとても小気味良く進みました。ソースはGitHubのプライベートリポジトリを通して共有化。
git pull --rebase を使うとほとんど衝突なく更新ができたのはとても勉強になりました。タスク管理はGitHub の issue で、優先度はかんばんりすと for GitHub issuesで共有しました。


3時間ほどでいちおう動くところ(ログイン、入力、メール通知)まで実装できましたが、触ってみると最初のイメージよりも物足りなさを感じました。プロダクトの性質上、ユーザアクションに対するレスポンスが乏しく、継続して使っていこうというモチベーションになりにくいというのが大きな課題として挙げられました。その後、インセプションデッキを書いてみたり拡張アイデアを検討してみましたがアイデアが煮詰まってきたので、一旦方針転換を検討しました。


原点のお題に立ち返り、二人ホワイトボードに向き合って2時間くらいあーだこーだとアイデア出しをしてみましたが、「これ」という案もでず、うまく頭が切り替わらず、別案も浮かばずで時間だけが過ぎていくばかり。この時は本当にモノをリリースできるのか心配になってきました。


ある程度時間が経ったところでHappyBottleの完成度を高めていく方針に戻り、類似サービスとの差別化という観点から機能を考え直しました。主にパートナーとの限定サービスというところにフォーカスを当てて継続して使うことで楽しめる仕組みを検討し、届いた瓶の断片をタグクラウドとして表示するアイデアを実装しました。これは個人的にはなかなか良かったと思います。届いた瓶のをそのままいつでもはっきりとふりかえられるというよりは、「かけら」として言葉の断片を眺めることで相手が大切だと思うことを再発見できるのではと思ったからです。そうやってお互いの大切にしている部分をこっそり再認識しながらゆるりと生きていけたらいいなぁ、と純粋に思いました。

技術的には@tricknotesさんが主導してくれたので様々なライブラリを試せたのは大きな収穫となりました。rails4,haml,jqcloud,mecab,twitterbootstrapなどなど。開発の流れも基本はissueでタスクを担当しつつ細かい気がついたところを声掛けしつつ修正し、比較的大きなハマリも無くスムーズに進めていけたと思います。


サービスとしても heroku で本稼働できるところまで実装できたので、元々の目標であった「作りきってリリースする」というとろこまでは達成できてよかった。


個人的にはずっと実現したかったアイデアを形にできたのはとても嬉しかったです。一人では絶対参加しようとは思わなかった開発コンテスト24に参加できたのも良かった。
そして何よりも、優秀な技術者である@tricknotesさんと24時間という限られた時間を共有してアイデア出しから試行錯誤を経て実装までの一つの動くサービスを作りきったという経験はとても得がたい貴重なものだと思います。