個人開発の振り返りと供養
半年ぐらい前に作った読書中のメモを残すサービスを振り返りと反省をしてみる。今後似たようなサービスを作る時の参考になるかもしれない。
個人開発したサービスと制作のきっかけ
個人開発したサービス
読書中のメモを残すサービス「NoteQualia」
動作イメージ(バーコードスキャン→本表示→メモを書く)
作ったきっかけ
読書中に気になったページや文言があると取り敢えず付箋を貼る。さらに気になればiPhoneのメモに残すという習慣があり、この習慣に特化したサービスが欲しいと思ったのがきっかけだった。
読書に関係するサービスといえば、読書メーターやブクログといったサービスが有名だと思うが、これらのサービスは読後の記録+他メンバーとのコミュニケーションがメインであり、読書中に気になった単語や考えをメモっておく場所としては合っていなかった。
そこで、読書中のメモを残すサービスを作って、あわよくば収益発生...みたいな妄想から制作を開始した。
ちなみに私自身の本業はビジネス職として、データの分析基盤やダッシュボードを作る業務に従事しており、SQLは日常的に扱うが、プログラミングをすることはない。エンジニアではないし、プログラミングは完全独学になる。
独学故、ググりながらとりあえず動けばいい精神で半年ぐらい試行錯誤して、ローンチまで漕ぎ着けた形になる。
(今思うと、NoCodeツールを使えばもっと楽にできたんじゃない?と思うけど、GUI操作よりコード書いている方が格好いいイメージがあったので、結局プログラミングして苦労する道を選んでたと思う。。)
なお、 制作期間は約半年で土日と平日夜を作業に充ててた。必要な機能の洗い出しをし、Figmaで適当な画面イメージを作って、簡単そうなところから作っていた。主な機能は以下の通り。
- バーコードから本情報を取得
- サービスに登録された本一覧を表示
- 本に対してメモを残す
- メモと本のグラフ表示
- Twitterアカウントでのログイン
↓何かしらデータの可視化ができないかと思って追加したグラフ(ユーザと本とメモのタイトルを繋げているだけ、制作期間中に見たライゾマティクスの展覧会に影響された)
別になくてもよい機能だったが、実装に地味に時間がかかっている。。
ちなみに見に行ったライゾマティクスの個展はこれ↓
ローンチ後と反省
なんとかサービス自体はローンチし、デザインとかユーザビリティとか難が多々あるが、取り敢えず当初の自分の習慣に当てはまるサービスはできたかと思ってる。また、完成直後は中々いいんじゃない?と思ってもいた。
ただ、他の人にも使ってもらうところには現時点ではたどり着けていない。
サービスを育てるところまで熱量が続かなかった...が根本原因だが、さらに上手くいかなかった原因を深堀して次に活かしたい。
熱量を維持できなかった理由として、現状のメモを残す機能だけで自分としては満足してしまったところが大きい。
機能としては、本に紐づくメモを残すことができるのみであり、このこと自体を習慣にしていた自分には価値があっても、他者にとっては価値にならない気がしており、サービスの訴求に向けて動く気になれなかった...というところだ。
なお、訴求できる価値をつくるなら、、
- 蓄積したメモをテキストマイニングし、似た本をレコメンドする
- 似たようなメモを残したユーザをマッチングさせる
といった機能を追加し、かつ集客しネットワーク効果がでてるSNSっぽくするか、もしくは、読書+メモの便利ツールとしてユーザビリティを高める...という方向性になるかと思っている。
ただ、そもそもSNS自体に興味が薄い自分がSNSライクなサービスに熱量を込められそうにはないし、便利ツールとして特化させるにしても、有用な機能が思い付かず、現状のままでよいかと思ってしまっている。
結論、読書中のメモを残す...は機能でしかなく、他者に訴求できる価値を生み出す仕組みが思い付かなかった...がこのサービスの成長が止まった原因だと思っている。
それ以外にも、
- ReactのCSRオンリーで作っているので、ロード完了までコンテンツが表示されないというユーザビリティの悪さ
- UGC(User Generated Content)故に、集客力のない自分がやってもイケてない
- 本質的な意味がないグラフ機能の実装に時間を使ってしまった
とかいくらでも改善点はあるが、やはり価値を生み出せていないのが大きいと感じる。次に作るサービスでは明確に訴求できる価値を意識したい。
使った技術やツールなど
非エンジニアが初めての個人開発で使った技術など列挙する(概念とか用語あっているか怪しいけど)
素振りしたやつはCodeSandboxのサンプルも添付しておく。
- フロントエンド:React + Javascript
- バックエンド:
- ホスティング、Twitter認証:Firebase
- データベース:Heroku内のpostgreSQL(Hasuraを介してGraphQLで通信)
- デザインコンポーネント:MUI
- モック画面作成:Figma
- 主なパッケージ:
- @apollo/client:Hasuraへの通信と状態管理で使用
- quaggaJS:ISBNコードのスキャンに使用※サンプル
- react-force-graph-3d ぐるぐる回るグラフに使っている。※サンプル
- react-timeago:投稿時刻が何分前かとか出すの使用※サンプル
- react-infinite-scroll-component:無限スクロールで使用※サンプル記事
- 本情報取得に使ったAPI:
- openBD ※活用事例に応募したが反応はない。。
次はどうする?
英語学習補助のサービスを次に作ろうと思う。デジタルではなく紙に書かれた英単語をスキャンして調べられるツール。マーカーを引いたとこだけ調べられるツールが欲しい。勿論似たようなサービスはあるが、学習目的ではなく翻訳目的だったり、英和訳しかなかったり(英英が欲しい)、と紙で勉強したい自分に向いているサービスが案外ない気がしている。
理想としては、、、
発音が合っているかの確認に使えるサービス「Otter」
如何に自分の発音が意味を成さないのかを思い知ることができるサービス。
のような本質的な英語力の向上を目的としたツールが作れないかと妄想している。(私自身は全然英語できないので、あんま偉そうなことは言えないんやけど。。)
そのサービス作る時間を英語学習に使った方が良くない?とも思うが、サービス作りたい欲が出てきたんだから仕様が無い。
ただ文章全体じゃなく、マーカー引いている特定部分だけ抽出するとなると、機械学習とかも使わないとできないのだろうか。ハードルが高そうだ。。
なお、サービスの訴求する気が起きなかったとか書いたが、特に維持費がかかってる訳ではないので、「NoteQualia」は閉じずに残している。自分みたいな習慣持っている人がいたら使ってみて欲しい。
とりあえずブログの1記事目はこんな感じで。