json to csvというJSONをCSVに変換するサブスクのサービスを作ったのでそのポエムを書かせてください。
はじめに
多くのビジネス書に、何もしないでお金が入ってくるものが資産、何もしないでお金が出ていくものが負債、と書かれてあるのを目にするので、負債になるサブスクは極力使いたくないし、多くの人に負債を負わせるサブスクを作るのもどうなんだろう、と思っていた矢先、なんとなくサブスクリプション――「顧客の成功」が収益を生む新時代のビジネスモデルという本を読んでみたのですが、今多くの企業はみんなサブスクを始めている!AmazonもAdobeもAppleもそうだ!みたいに書かれていて、まぁ確かに日本のWeb系の会社とかもほとんどサブスクだし、むしろエンジニアでいることと、サブスクを提供することは切っても切り離せないんじゃないのか、と思い、エンジニアの自分を否定したくないという気持ちから、むしろサブスクは、持ち家に対する賃貸みたいなもので、柔軟にサービスを止めたり変更したりすることができる分、顧客にとってはそっちの方が良いはず。その上で大きな会社がサブスクをやっている、いや、サブスクをやっているから大きな会社になっているとしたら、個人開発でもサブスクのアプリを積極的に作成することで、人を雇う余裕や、他のサービスを作成する余裕ができ、その結果自分だけでなく、自分の周りや顧客、ひいては世界中の人々を幸せにすることができるのではないか。サブスクは悪じゃない。正義だ!と、自分を洗脳することにしました。そうすると、だんだんサブスクが作りたくなってきて、私はエンジニアだ。普段からあんなに勉強してるじゃないか。頑張ったら作れると思う。よし作ろう。と言うことで、趣味でサブスクの開発を始めました。
アイデア出し
でじゃあ何を作ろうと考えた時に、以前ORIGINALS 誰もが「人と違うこと」ができる時代という本を読んだ時に、後発の企業より先発の企業の方がだいたい6倍失敗している、という内容があったので、完全に新しいものを一か八かで作るのではなくて、既存のサービスの改良版にしようと思いました。その上で、自分が実際にお金を払ったことのあるサービスが良いなぁと思ったので、何かないかと考えたところ、大学院生の時にJSONをCSVに変換する海外のサブスクのサービスに1ヶ月だけ課金していたことを思い出し、そのデザインがあまり良くなかったことと、ちょっと使いにくかったこともあり、それの改良版を作ることにしました。
どう作ったか
最近サブスクで加入中のAmazon Prime Videoにある東京男子図鑑というドラマを見ていたのですが、その中で主人公がスタートアップ企業に入社するというシーンになり、それを見ていたら、今回作るアプリもせっかくやるんだから、スタートアップっぽく、誰かと一緒に作りたい、でもお金で揉めたくない、という思いになり、その話を友達(@kangaeru0123)のデザイナーにしたところ、お金無しでやるで、と言われたので、その友人と一緒にdiscordを繋げたりしながら開発を始めました。私がジョブズで、彼がウォズニアックです。
その上で、友人がFigmaやらTailwind CSSやらVue.jsでUIを実装してくれている間に、私はJSONをCSVにコンバートするための処理やログイン、決済の処理、友達が作ったUIのscriptの処理などをTypeScriptで書いていきました。2週間ほどで完成しました。
肝心のサブスクの決済の処理についてですが、今回サブスクアプリを初めて作るので、決済の実装が大変そうだなぁと思いながら、おそるおそる「firebase stripe subscription」と、なんとなく聞いたことのあるサービス名を入れて検索してみると、Firebase Extensions | Run Subscription Payments with Stripeというサイトが1番上に出てきたのですが、どうやらFirebaseにはExtension(拡張機能)というものがあるそうで、この拡張機能はStripeが公式で用意しているものなのですが、もうStripeとかCloud Functionsとか全然気にしなくて大丈夫、とりあえず手順通りにこの拡張機能を使ってくれたら、全部セットアップするから、というものでして、これじゃん、と思い早速使ってみました。こういう系って結局どこかでバグがでて1から自分で作った方が早かった、ということが多い印象なのですが、なんと、めちゃくちゃわかりやすい説明文で、ほとんどつまづくことなく、ものすごいスピードでサブスクの機能が完成してしまいました。この拡張機能、2020年の夏頃に出たらしいのですが、本当に誰でも簡単にサブスクが作れてしまいます。もはや鬼に金棒改め、エンジニアにこの拡張機能です。これさえあれば、いつでも面白いアイデアを思いついたらサブスクを作って、安定した収入を確保できてしまいます(まぁアイデア次第ですが)。全エンジニアが使えるようになっておくべき技術の1つとも言っても過言では無い気がします。
おわりに
ちまたではエンジニアは稼げる!と言われたり、言われなかったりしますが、それはこういうお金を稼ぐ仕組みを作れるからなのかもしれません。ちなみにサブスクじゃなくて広告で稼ぐのはどうなのか、という話ですが、サブスクリプションの本いわく、YoutubeとFacebookがほとんどの広告市場を独占していて、その他大勢の会社で残りの椅子を取り合うゲームはやめておいた方が良い、となっていましたし、実際広告で稼いでいる個人開発者をほとんど見たことがないので、あんまり広告はよくない気がします。ただ買い切りのサービスは割と良いよと、サブスクリプションの本の中で書いていた気もします。まぁまだ1/4くらいしか読んでいませんが。とりあえず技術力がある方は、ぜひサブスクを作る、という選択肢も考えてみてください。あとJSONをCSVに変換したい場合、ぜひjson to csv使ってみてください!