最近なんとなく、考えていることの雑記(*´ω`*)
本業が少しだけ落ち着き、時間が取れるようになったので、
個人開発の熱が戻ってきた。
年々個人開発に使える時間が減ってきたので、
もうすこしうまくできないかをいろいろ考えている途中。。
やりたいこと
最近はこのあたりをよく思ったりする。
- 作りたいものを素早くつくりたい
- 多くの人に使ってフィードバックをもらいたい
- 開発部分の以外はなるべく最小に
- 個人開発だけで生活できるように
大きくは変わっていないけど、より強く思うようになったかも。
考えている施策
利用技術を固定する
いままでは割りと新技術を試す事が多かったけど、
ある程度、使う技術を固定して、習熟/開発の速度を上げる
今のところ、技術スタックはこんなイメージ
- WebApp ... Nuxt3/TypeScript/TaiwlindCSS/ElementPlus
- DocSite ... Docus or nuxt-content
- スマホApp ... Flutter
- Server ... Express/tosa
- インフラ ... GCP(CloudRun)/Firebase
- CD/CI ... GitHub Actions
- 決済 ... Stripe/RevenueCat
技術スタックを固定することで、習熟の深さや速度も上がるけど、
テンプレート/ライブラリ化もしやすくなり、再利用性も高める。
これ以外のライブラリも整理/固定する感じ。 iconはiconify/nuxt-iconを使うなど。
前に使ったアイコンを思い出す。みたいな無駄な部分をなるべく削っていく。
アーキテクチャを固定する
アーキテクチャも都度特性に合わせて考えていたけど、
思いつく作りたいものだと、ある程度パターン化できる。
OGPほしい/いらない、Webのみ/スマホアプリもなど。
パターンごとに、更に内部の構成もパターン化/モジュール化できる。
通知系はある程度、整えておく
機能だけのminimamだと、初期でとても貴重な フィードバックを受け取ったり、お知らせをしたりを落としがち。
Twitterとかでもいいけど、ユーザに向けたものは必須だと思う。
主には、
- 要望・不具合の報告窓口
- ヘルプなどのドキュメントサイト
- (チャットやアンケートフォーム)
GitHubのissueやGoogleフォームでもいいので、
なにかしら用意しておくのがいい。
ライブラリ化などで再利用性を高める
段階があるけど、よく使う処理をまとめておくと便利。
いきなりパブリックで公開するのは気が引けるけど、
GitHub Packagesなどをうまく使って、ライブラリを育てていける土台を作っておく。
あとは、HygenやVSCodeのUser Snippetsなども。
今は、こんな感じで分ける想定。
- 全サービス共通 ... GitHub Packages
- 汎用的な処理やUIパーツなど
- 1サービス内共通 ... pnpm workspacesでの共通パッケージ
- サービス独自の型/処理/UIパーツなど
公開してもいいなと思う部分を切り出せれば、
OSS化して出すのもよい。
デザインで決める箇所を整理する
いくつか作っていて、「基本的な部分」と、
「サービスの色を出す部分」の2種類がある気がする。
「基本的な部分」は汎化しておいて、パターン化/ライブラリ化しておく。
「サービスの色を出す部分」について何を決めればよいかを整理し、
企画のときに決めて置けるようにしておくといい。
たとえば、テーマカラー/ロゴ・アイコンなどが後者。
企画するときの方針
バズは狙わない
以前はバズりたいと思っていたけど、
長く続けてくれる人のほうが大事だと改めて気づく。。
なので、バズよりも日常的に使うものを考える。
シェアできる
SNSで投稿できることもそうだけど、招待できる形が理想的。
シングルテナント型ばかりだったけど、
プロジェクトやワークスペースといった形の
マルチテナント型をメインにしたい。
マネタイズまで
サービスを作るのはたのしいけれど、
運営しつづけるにもお金がいるので、
ある程度、最初に考えておく。
広告は導入しやすいけど、感覚としてなかなか厳しいので、
有料プランを用意/考えておく。
あまり安すぎるとジリ貧になるので、
ある程度余裕を持った価格帯に。
値上げはなかなかしづらいけど、
値下げや割引クーポンなどは気持ち的に出しやすい。
無料枠は無い方がよいという意見もあるけど、
「個人的には体験して、よいと思ったら課金」
みたいなのが好きなので、ある程度体験できる方がよいと気がする。
有料プランのバリエーション
有料プランもいくつかバリエーションがあるけれど、
ある程度カスタマイズできるほうが都合が良い気がする。
固定のプランは実装/管理が楽だけど、
ユーザの使いたい形によっては、リッチすぎたり、足りなかったりする。
従量課金かオプションを選択できるかあるけど、
ユーザがプランを組み立てれる形がよい気がしている。
サポート/投げ銭の窓口
奇特な人も少なからずいると思うので、
いちよう受けれる窓口だけ用意しておくのがよいかもしれない。
StripeのPayment LinksとかGitHub Sponsorsとか
ダメ元で置いておく準備だけしておきたい。
おわりに
ざっと考えていることをまとめてみた。
当たり前だと思われる項目も多いと思うけど。。
「少人数で多くのサービスを作る」に特化してるので、
合う合わないがあると思うけど、今のところの考え。
技術の発展速度はだいぶはやくなって、キャッチアップも大変だけど、
うまく取り入れつつ、安定して開発できる型を見つけたいね(*´ω`*)