かとのぼのマイコード・マイライフ

プログラミング初心者とアプリの個人開発者向けのブログ。たまに銭湯

みんなの推しコインというサービスをリリースしました【早くウェブサービスを開発する小技もご紹介】

この記事をシェアする

f:id:katonobo:20190224071903p:plain

みんなの推しコインとは

自分が応援したい好きなコインを宣言して、仲間を探せるサイト「みんなの推しコイン」をリリースしました。

oshi-coin.com

 

デザインはシンプルで、可愛らしく作りました。暗号通貨を身近に感じてもらい、楽しい空気の場にしたいと思ったからです。

f:id:katonobo:20190224071522p:plain

(トップページは、シンプルな画面に)

 

f:id:katonobo:20190224071614p:plain

(ログインページ)

 

f:id:katonobo:20190224071707p:plain

(個人のページ。ここに文字をかくと登録されます)

 

f:id:katonobo:20190224085157p:plain

(こんな感じで各通貨の応援者のリストが表示されます) 

 

皆さんもぜひ遊んでみてください。

自身のツイッターでの告知だけに関わらず、リリース初日で50人弱が推しコインを登録してくださり、PVも1000以上のアクセスがありました。暗号通貨の相場が低迷し多くのユーザーが離れてしまった中でこの反響はとても驚きました。

これから機能を追加していって、初心者も昔からの人も気軽に楽しめるようにしていこうと思っています。

構想3時間、制作4時間

実はこのサービス、構想は3時間で、実際にコードを書いて完成するまでには4時間しかかかっていません(!)とにかく機能を絞った爆速のサービスリリースでした。

金曜の午後にこのつぶやきをしたら、10人くらいから「いいね」をもらったので、これはニーズちょっとあるのかなと思い、作ることを決めました。

そしてその夜から作り出し、4時間で完成しました。

 そしてそのままリリースという流れでした。時間がかかったのは謎のエラーが出たことと、ログイン実装とセキュリティ設定でした。

個人サービスはとにかく時間との勝負で、数を打つためにはサービスを早く作る必要があります。1年かけてサービスを作っても流行らなかったら悲惨です。一方、もし2週間で一つサービスをリリースできるなら、1年間に24回打席にたてますから、ヒットする可能性は大きく上がります。かくいう私も去年6月からは月に1つ、12月からは月に2つのサービスを制作し発表することをノルマにしており、実際に2つ以上制作発表しています。(ちなみに、まだ全然ヒットしていない(泣)ので、1年かけて1つのサービスを作るような制作スタイルだったらどうなっていたのかと恐ろしくなります。)

ヒットを出していない身で恐縮ですが、サービスを早く作ることはできるようになってきたので、今回は早くサービスを作る方法を書こうと思います。ちなみに、裏技のような話は一つもないので、それを期待している人はごめんなさい。

道具の選択、コードの在庫(ザイコード)の積み上げ、リリース手順のマニュアル作成の三つで、思考しない範囲を広げていく

私は天才プログラマーではないので、コードを早く書くことはできませんし、天才的な発想で難しい仕組みを数行で実現するなんてことはできません。やっていることは、

①早く開発できる道具(使用する言語やフレームワーク)を選ぶ。

②自分が過去に作ったコードを、在庫のように保管しておいて、いつでも使えるようにしておく。

③過去にサービスをリリースした時の手順を自分用のマニュアルとして残しておく。

この三つです。この三つでやっていることは、そもそもの作業工程を減らすことと、マニュアルなどの活用で、思考する対象を減らすということです。順に説明します。

①早く開発できる道具(使用する言語やフレームワーク)を選ぶ

シンプルなサービスを作るなら、それに適した技術があります。その技術を選択し使うのです。

近場のスーパーに買い物に行くときは、多くの人は車ではなく自転車で行きますよね?自転車が楽だし実は早いからです。

私の場合はそれは「Vue.js」と「Firebase」の組み合わせになります。 もちろん人によってそれぞれですが、とにかくサービス完成を第一に考えたときにどの技術を使えば早くできるかを考えて探すと良いと思います。(もし私と同じVue.jsとFirebaseで学習をお考えならオススメの記事を貼っておきます)

www.katonobo.com

②自分が過去に作ったコードを在庫のように保管しておいて、いつでも使えるようにしておく

今回のサービスは4時間で作ったと言いましたが、コードはほとんど書いていません。実は、過去に私が作ったサービスのコードを色々抜き出して、それを組み合わせて作りました。

これがゼロからサービスを構築する個人開発者の強みで、過去の自分が作成したコードをまるで商品の在庫のように保管して置けます。そうすれば、もし新しいサービスで使える在庫があればそれを使うことができます!これを私は勝手に、コードの在庫なので、「ザイコード(在庫ード)」と呼んでいます。

これは強烈なチートです。コードをゼロから書く必要がないので、開発スピードは桁違いです。また、サービスを作れば作るだけ在庫は増えて行きますから、シンプルなサービスなら今回のようにほとんど在庫で作れてしまうのです。この手を使わない手はないですから、過去に作ったコードは大事に取っておきましょう。

③過去にサービスをリリースした時の手順を自分用のマニュアルとして残しておく

サービスをリリースしたときに、その作業方法をマニュアルとして自分に残しましょう!これは結構めんどくさい作業なんですが、できるだけ丁寧に作ります。

この作業は、知識が体系的にまとまっているサービスリリース直後が一番良いです。

なぜこんなことをするかというと、すぐに作業の方法を忘れてしまうからです。その時は忘れるわけないと思いますが、驚くべきことにすっかり忘れます。なので、マニュアルとして残して置いて、そのマニュアル通りに作ればリリースまでできるというようにしておきます。

この方法の良いところは、作業の流れに関してその都度どうすれば良いか考える必要がなくなるので、思考をサービスの構成やロジックに集中できる点です。こういったこまめな工夫で、出来るだけ「考える作業」を減らすことが大切です。

まとめ

以上が早くサービスを作る方法です。簡単にまとめると、「将来の自分のために色々ノウハウを整理して残して置こうね」という感じでしょうか。しかし、この作業はけっこう面倒なので軽く見積もられがちだと思います。ここをしっかり整理整頓して残しておけば、繰り返しの作業に関しては全く頭を使う必要がなくなるので、大事なサービスの仕組みや構成などに思考を集中できます。プログラミングの有名な原則でDRYの法則があります。「Don’t Repeat Your Self(繰り返しはするな!)」という意味ですが、これはコードの中だけでなく、現実世界の作業にも言えるでしょう。

出来るだけ繰り返しを省き、開発スピードを上げていきましょう!!

oshi-coin.com