前の週末に"1日でWEBサービスを作る"という取り組みをしました!
ルール
1.スタートは昼食後!
- アイデア出しから始めること。
- 開始前にあれこれ考えないこと。
- とにかく無心でリリースに漕ぎ着けること。
2.夕食までに本番環境にリリース!
- それまでは断食すること。飲み物はOK。
- 食事をしたければ、さっさとリリースすること。
何が何でも1日でリリースに漕ぎ着けるという強い意志と「やっていき」の精神。
当日の流れ
今から #1日でWebサービス作る
— ゆずたそ (@yuzutas0) 2017年11月11日
プランニング
コンセプト策定とざっくり要件定義#1日でWebサービス作る pic.twitter.com/75Qm8DNebC
— ゆずたそ (@yuzutas0) 2017年11月11日
とりあえずホワイトボードにお絵描き。
- コンセプト(誰のどんな課題を解決するのか)
- 開発要件(画面遷移、ER)
サービス名は和風な言葉から連想ゲームで決めました。和歌に出て来る「待ち人」です。 クリエイターの未来を決めるような「待ち人」との「マッチ」から「ビート」が生まれるということで、Match Beat(マッチビート)と命名しました。
ちなみに持ち歩いているホワイトボードはこいつです。
CANSAY nu board JABARAN (ヌーボード・ジャバラン) A4判 [MBR] NJA4CMBR08
- 出版社/メーカー: 欧文印刷
- 発売日: 2017/06/01
- メディア: オフィス用品
- この商品を含むブログを見る
コーディング
コーディング開始#1日でWebサービス作る pic.twitter.com/ql3MtF5m7p
— ゆずたそ (@yuzutas0) 2017年11月11日
アプリケーション環境構築 → Hello Worldを表示#1日でWebサービス作る pic.twitter.com/W0BRXhYHuy
— ゆずたそ (@yuzutas0) 2017年11月11日
トップ画面 → 新規作成フォーム#1日でWebサービス作る pic.twitter.com/kHlWoS6gYY
— ゆずたそ (@yuzutas0) 2017年11月11日
画面の体裁を整える。久々で色々ハマった。#1日でwebサービス作る pic.twitter.com/YU7DQ5kQwP
— ゆずたそ (@yuzutas0) 2017年11月11日
トップ → 詳細画面に遷移できるようにした#1日でwebサービス作る pic.twitter.com/7s920T2fUi
— ゆずたそ (@yuzutas0) 2017年11月11日
更新できるようにした...さすがに集中力が...#1日でwebサービス作る pic.twitter.com/0S9aS4ZDN5
— ゆずたそ (@yuzutas0) 2017年11月11日
休憩がてら静的コード解析と脆弱性チェックを掛ける#1日でwebサービス作る
— ゆずたそ (@yuzutas0) 2017年11月11日
エラーハンドリングを実装。
— ゆずたそ (@yuzutas0) 2017年11月11日
主要なパターンを一通り動作確認するのに時間が掛かった。#1日でwebサービス作る pic.twitter.com/icPuRZyUPW
コメント機能の実装Done。無理にロジックを共通化しようとして手戻った。#1日でwebサービス作る pic.twitter.com/v5k2IcFSfh
— ゆずたそ (@yuzutas0) 2017年11月11日
システム構成はこんな感じです。
- APFW: Ruby on Rails
- View: Asset Pipeline, Honoka (Bootstrap), Font Awesome, jQuery
- DB: Google Cloud SQL (MySQL)
- AP/WEBサーバ: Google Apps Engine Flexible
リリース
WEB&APサーバ構築、DB構築、DNS設定、資材配備(要するにリリース)までDone。全然違うところでハマっている...。500エラーしか表示されない状態...。#1日でwebサービス作る
— ゆずたそ (@yuzutas0) 2017年11月11日
ようやくエラーの原因を特定できたがカフェを追い出されたので別のカフェに移動中。 #1日でWebサービス作る
— ゆずたそ (@yuzutas0) 2017年11月11日
※誤解を招きそうなので補足すると、カフェは終業時間になっただけです。
リリース完了!https://t.co/vWA0ne8feH#1日でwebサービス作る
— ゆずたそ (@yuzutas0) 2017年11月11日
ということで何とか無事に達成しました。
できたもの
クリエイターがテストユーザーを募集するWEBサービス「Match Beat」(マッチビート)
https://matchbeat.yuzutas0.com/
突貫工事なので、作り込みは浅いです。 「もっとこうした方がいいよ!」といったアドバイスをいただけると嬉しいです。
翌日以降に修正した内容
- Bug: コメント投稿者のTwitterリンクが誤っていたのを修正
- UI: テキスト内のURLをタップすればリンク先に飛べるように修正
- UI: 投稿者のTwitterリンクをタップしたときに新しいブラウザタブを開くように修正
- UI: 長文投稿しやすいように入力フォームの幅を縦長に修正
- UI: 実機iPhoneやMacでも入力フォームのスクロールバーを操作しやすいように修正
- UI: SNSシェア時にデフォルトで企画タイトルを含むように修正
- Cost: 金銭面の事情によりGCPからVPSにサーバを移管
なぜ作ったか
この取り組みとは別に「声だけでマッチングするアプリ」を作っています。 そのテストユーザーを募集するにあたって、専用サイトがあってもいいんじゃないか、と思ったのがきっかけです。 詳しくは募集ページをぜひご覧ください。
振り返り
よかったこと
1: タイムアタックで時間を意識したこと
時間が限られているので、効率の悪い作業・苦手な分野は、はっきりと可視化されます。 毎日コツコツと作業を行うだけでは気付きにくい1、自分の弱点と向き合うことになります。
逆に言えば、そこを効率化することで、次からはもっと早く作業ができるようになる、ということです。 個々の反省点(=改善余地)は後述します。
2: 1日リリースの実績を得たこと
クリエイターにとって最大の敵は「未完成」(エターナること)だと思うんですよ。 モチベーションが続かないとか、なかなか完成しないとか。
だけど、アイデアを言うだけではなく、実現するからこそのクリエイターです。 スコープを小さくするための方法を考えることもまた「企画」の醍醐味の1つでしょう。
15週間でクソゲーを20本作って得たもの - Qiita昔RPGツクールでゲーム作ろうとしたけど30分で飽きてラスボス戦だけ作って放置したんだけど、今思えば「いきなりラスボス」ってタイトルで1作でっち上げても良かったのかもしれん
2017/10/02 16:41
前に拝見したこのコメント、いいなぁと思いました。 「企画力」という言葉はこういう発想のことを言うのだと思っています。
今回、1日でWEBサービスをリリースするという実績ができました。 次からは「ログイン機能も削っちゃっていいじゃん!」と、自分自身に対して強気で言えるようになったわけです。 「モチベーションが落ちる前に1日でリリースしようぜ!」という選択肢ができたのは心強いです。
3: 使ってもらえたこと
@seekgeeks_nyさんがPostterというサービスのテストユーザーを募集なされています。 「何か一言」と画像を合成してシュールな画像を作るサービスだそうです。 話題になっているハッシュタグをお題にして画像で大喜利できるとバズりやすいのではと思ったり。
画像と文字を合成してTwitterに投稿するサービスの改善案募集中! - Match Beat
ユーザーは1人も付かない想定だったのですが、こうして使ってもらえるのは、やっぱり嬉しいですね。 @seekgeeks_nyさんは「1日でWEBサービスを作る」企画を面白がってくださって、あちこちで宣伝いただきました。 せっかくですので、この機に一緒に何かできたらいいなと思いました。
反省点
What
コンセプトの尖り具合が足りなかったです。 例えば「Pythonで彼女を実装しました!」みたいなパワーワードが出て来ないと、この乱世は生き残れないですからね。
- 作者: ピーター・ティール,ブレイク・マスターズ,瀧本哲史,関美和
- 出版社/メーカー: NHK出版
- 発売日: 2014/09/25
- メディア: 単行本
- この商品を含むブログ (27件) を見る
これらの書籍や記事で書かれているように、
- まずは少数に対して尖ったものを叩き込む
- 熱狂してもらう
- シェアを確立する
- その上で、次の尖ったものを叩きつける
- その繰り返しで非連続的に成長させる
このスタンスを意識できていなかったです。 薬にも毒にもならないものよりも、歓喜乱舞と罵詈雑言が飛び交うくらいの尖ったものにしたい。
Who
具体的に誰がどう使うかのペルソナを描けていなかったです。 リリースしたら「この人とこの人に声を掛けてマッチングさせよう」という企みが足りなかったです。
上記リンクで言われているように、仮にサービスが伸びなくても「その2人に喜んでもらえた」だけでも成功と呼べるでしょう。 もしかしたら「最初の成功例が早くも生まれました!」とPRすることで、注目や初速が出たかもしれません。
そういった意味で、ユーザーになってくれるであろう自分以外の誰かにきちんと向き合えていなかったのは反省です。
Where
きちんとした作業場を確保すべきでした。
When
昼食〜夕食で試みたのですが、朝からやったほうが良かったのではと思います。 関連して、食事制限は設けずに適度に休憩すべきでした。さすがに身体に悪すぎる。
How
今回の作業ブロッカー・手戻りのリストは以下の通りです。
- 異常系の動作確認パターン:複雑になるときは紙に書き出して整理すべきでした。
- before_filterの無理な共通化:最初はベタ書きで進めて、別途リファクタリングの時間を設けるべきでした。
- Asset Pipelineのエラー:久々で色々テンパりました。1度に多くの変更を加えると問題の切り分けが大変なので、小さく1つずつ動作確認すべきでした。
- Production環境の設定エラー:本番サーバにいきなり上げたせいで原因特定に苦しみました。先にローカルでProductionビルドすべきでした。
- GCPの想定外コストに気付いて別サービスのチューニングを始めてしまった。えらく時間を費やした。お陰で安くなりましたが。GAEは難しいですなぁ。
今後: 磨き込みのアイデア
実際に公開してみると、利用を促進するには工夫がいるなぁと思いました。
テストユーザー側のアクションを磨く
このサービスのアキレス腱は「テストユーザー側」の「アクション」だと思うんですよ。 フィードバックを求めるクリエイターはいるはずなので、最初の投稿はお願いできるかもしれない。 だけど、そこから伸びるためにはテストユーザー側の反応が不可欠です。
では、テストユーザーがあえてこのサイトを訪問するのはなぜでしょう。 このサイトで意見を交わすのはなぜでしょう。 そこを抑えることがポイントなのではと思います。
例えば
- NewsPicksに経営者がコメントするように、デザイナーやエンジニアやQAが「このサービスはここを伸ばすと良さそうだね」「こういう点が難しいだろうな」「使ってみた!可能性を感じたよ!」と語る場
- StackOverflowでエンジニアがQ&Aをするように、クリエイター同士が知見を共有しあうQ&Aサイト → 回答するとレベルが上がる、知識の整理になる、考える訓練になる
- マイナーな仮想通貨で支援できるクラウドファンディングのような場(もしかしたら高騰するかもしれないくらいの期待感がインディーズっぽくて私は好きです)
- Githubのように、エンジニア以外でもIssueを出したり「+1」できたり、ロードマップやコミット(更新履歴)やチケット進捗を追えたり、Wikiで使い方を確認できたり、STARで更新通知を受け取れるプラットフォーム
- オフラインで「日曜グロースハック会」なるイベントを月次で開く → 参加者は当日までにMatchbeatにグロースのアイデアを書き込んで、当日はケーススタディ&ディスカッションしあう(=このサイトに書き込むことが勉強に繋がる)
こういったアイデアはどうでしょうか。 最後の案(日曜グロースハック会)はシステム改修なしで今すぐ実現できそうなので、試してみる価値はあるかもしれません。
テスター募集側のツールとして磨く
あるいは「テストユーザーを募集する側」の「ツール」として磨き込む作戦もあります。
- WebAPI,SDK,コピペ用JSを提供してユーザーからのご意見箱を気軽に設置できるツール
- LINEやFacebookメッセンジャーのbotと連携して、ユーザーが好きなインターフェースで感想を送ることができるツール
- SNSのエゴサーチでご意見を自動収集してレポートしてくれるツール
- いろんなSNSでバラバラに受けた意見を、どんどんInboxに蓄積すると、似たものを自動グルーピングしたり、チケット管理できるツール
このサービスだけではテストユーザーが見つからないかもしれない。 だけど、テストユーザーを探したり、意見を出してもらったり、出てきた意見が管理しやすくなる。 コミュニティとしての活性化ではなく、SaaSとしての実用性を磨き込む。
そういった作戦に切り替えることも考えられます。
最後に
長々と書きましたが。
イケてる(と思い込んでいる)アイデアをいつまでもリリースできない。 そんなイケてない自分とはサヨナラだ!という内容でした。
やろうと思えば初心者であっても、スコープを絞り込んで1日でリリースできるはずです。 ぜひチャレンジしてみてはいかがでしょうか。
あと、せっかくなので、これやりたいですね。
個人開発やりたい勢を2泊3日で閉じ込めて、何が何でもリリースまで漕ぎ着ける開発合宿やりたい。
— ゆずたそ (@yuzutas0) 2017年8月28日
これ、私も参加したい。私事ですが先輩エンジニアサーチを個人開発したときも3日で、個人的に3日がちょうどよいと感じる。サービスを「どう使うのか」「なぜ&どうやって作ったのか」がまとめられているゆずたそさんのブログという個人開発の教科書もあるし、初挑戦の人でもリリースできそう。 https://t.co/sE8WCKvpgB
— カレーイベントポータル (@curryevent) 2017年11月11日
ちなみに
- 声のマッチングアプリのテストユーザー募集はこちらです!ぜひよろしくお願い致します! → https://matchbeat.yuzutas0.com/plan/3
- もし良かったら「日曜グロースハック会」(月次で集まって互いのサービスのグロース案を模索する会)を誰か一緒にやりませんか?
いちばんやさしいグロースハックの教本 人気講師が教える急成長マーケティング戦略 「いちばんやさしい教本」シリーズ
- 作者: 金山裕樹,梶谷健人
- 出版社/メーカー: インプレス
- 発売日: 2016/01/22
- メディア: Kindle版
- この商品を含むブログを見る
-
WIP制限を1にすれば普段の作業でも同じ恩恵を受けることは可能なはず。参考: なぜWIPの制限が重要なのか | Ryuzee.com↩