オープンソースアプリ Spliit の運営指標: 利用状況、コスト、コミュニティ寄付
(spliit.app)- 現在のバージョンが公開されてから1年を迎えたオープンソースの割り勘アプリ Spliit が、運営の透明性のために過去12か月の利用状況・コスト・寄付の現況を公開
- 訪問数は15.2万回で、週次訪問数は約200回から5,000〜6,000回へ増加し、直帰率33%はユーザーがホーム画面を超えて実際の行動につながっていることを示す
- 執筆時点でユーザーはほぼ1.5万件のグループと16.2万件の支出を作成しており、2024年1月以降は毎週約300件のグループと2,000件の支出が生成されている
- 運営コストは月約115ドルで、その大半はデータベースホスティングによるものであり、世界中の利用によるデータベース使用量がコスト最適化の主要な制約となっている
- Spliit は無料利用を維持しており、収益はGitHub Sponsors と Stripe 寄付に依存している。寄付金は総コストを完全には賄えていないが、かなり近い水準にある
Spliit の利用規模
- Spliit は数年前に作られたが、現在利用可能なバージョンは公開1年目
- GitHub ユーザーが透明性の観点から情報公開を提案したことで、利用状況・コスト・寄付の現況が公開された
- 過去12か月で Spliit は15.2万回の訪問を記録
- 初期は週あたり約200回の訪問だった
- 現在は週5,000〜6,000回の訪問が安定して発生している
- 直帰率は33%
- 訪問者の大半はホームページだけを見て離脱していない
- グループへの移行、支出の作成、ブログ記事の閲覧といった行動につながっている
共有リンクと流入経路
- 15.2万人の訪問者のうち少なくとも2.9万人は共有リンクを利用
- 一般的な利用フローは、1人がグループを作成し、その後参加者にリンクを共有する形
- Reddit からも多くの訪問者が流入している
- Splitwise の代替を探す投稿で Spliit が言及されている
- 訪問者が多かった国はGermany, United States, India
- これらの国でより多く使われている理由は確認されていない
ユーザーが作成するグループと支出
- Spliit でユーザーが最も頻繁に行う中心的な行動はグループ作成と支出追加
- 執筆時点でユーザーはほぼ1.5万件のグループを作成し、合計16.2万件の支出を生成している
- 2024年1月以降の追跡では、毎週約300件のグループと2,000件の支出が生成されている
- グループごとの支出数の分布を見ると、少なくとも4,600件のグループには支出が1件もなく、アプリのテスト用に作成されたと考えられる
- 残り約1万件のグループのうち半数は5件超の支出を含む
月間運営コスト
- Spliit の運営コストは月約115ドル
- コストの大半はデータベースホスティングによるもの
- データベースは Vercel にホスティングされている
- 料金は月間のデータベース読み取り総時間を基準に計算される
- 書き込みコストはほとんどない
- Spliit は世界中で使われているため、データベースはほぼ1か月中ずっと利用されている
- データベースコストは改善したい項目であり、Spliit のユースケースにより安価なデータベースプロバイダーがある可能性がある
無料利用の原則と寄付
- Spliit のビジネスモデルはオープンソースプロジェクトとして維持されており、今後も無料で利用できる
- 将来的にプレミアム機能が追加される可能性はあるが、一般的なアプリ利用を制限する形ではない
- 現在、Spliit の唯一の収益源は寄付
- 最初の月にはある人が70ドルを寄付し、その後は5ドルや20ドルを寄付するユーザーがいる
- 寄付金はまだプロジェクト全体のコストを完全には賄えていないが、コストに近い水準まで到達している
寄付機能を設けた理由
- Spliit の運営に寄付が不可欠というわけではない
- 運営者にはフルタイムの仕事があり、生活に十分な収入がある
- コミュニティのために一部コストを負担することに満足している
- 寄付機能を追加した理由は2つある
- 複数のユーザーがプロジェクトを気に入り、お返しの方法を求めた
- 将来、運営者がプロジェクトを離れても、コミュニティが資金面の問題なくプロジェクトを維持できるようにしたい
メンテナンス時間とコミュニティ貢献
- 運営者が Spliit に使う時間は月5〜10時間ほど
- ここ数か月でアプリに追加された新機能の大半は、運営者ではなくコミュニティ貢献者が作ったもの
- 運営者の時間は主にプロジェクト管理に使われている
- issues で機能提案、バグ報告、質問を管理
- pull requests をレビューし、テストする
- 新機能をデプロイして、すべてのユーザーが利用できるようにする
- Spliit には多くの時間が投入されているが、そのかなりの部分は他の貢献者たちが担っている
今後の透明性アップデート
- Spliit は寄付金でホスティングコストの大半を賄っており、不足する一部のコストは運営者が毎月負担している
- 今後もプロジェクトの進捗と資金状況を定期的に共有する透明性アップデートを続ける計画
- 追加の質問は2か所で受け付けている
1件のコメント
Hacker Newsのコメント
こういう用途のデータベースとして、みんな何を使っているのかいつも気になっている。SQLiteはかなり好きだけど、アプリは基本的に分離されていて、ほとんど状態を持たない形を好むようになった
たいていの場合、データがいちばん重要なので、アプリのインフラは心配せずに自由にスケール、置き換え、廃棄できるのがいい
PostgresのVPSも考えたけれど、予想以上にneon.techをうまく使えている。特にGUIとブランチングがよかった
年を取り、時間が少なくなるにつれて、身に染みついた節約志向よりもスピードと利便性のほうが重要になってきている。SaaSデータベースは作業を速くしてくれたが、月次請求と変動性は今でも気に入らない
アプリを消して別の場所にデプロイしても、Litestreamがデータを取り戻して、何事もなかったかのように続けられる
この記事の前半では、自分のアプリにLitestreamを付けたあと、Herokuインスタンスを消してFly.ioに新しいインスタンスを再デプロイするデモを見せている。Litestreamが新しいデプロイへデータをすべて移してくれる: https://mtlynch.io/litestream/
小さなVPSの容量を超えるほど、何に直面するのかよく分からない
データベース用の独立したVPSは理にかなっているが、リクエストが適切にキャッシュされているなら、非中核サービスでは持ちこたえられるし、バックアップだけをより堅牢にすればいい
特に、常に最新の状態に保つこと、セキュリティを確保すること、正しく設定することが問題だ。初期設定は簡単だが、その後が肝心で、最近は普通どう処理しているのか気になる
アプリを使ってみたが、アカウント作成が不要な点がとてもよかった。非公開リンクを受け取ってグループに共有すると、リンクを開いた人が自分が誰かを選んで「ログイン」する方式だ
もちろん他のメンバーとしてログインしてシステムを悪用することはできるが、開発者がユーザー層を理解したうえで、摩擦のない使いやすさのために選んだ妥協に見える。すっきりしている
ここから多くの着想を得て、読書会が次の本を選ぶ「選挙」を開けるアプリを作っている。順位選択、賛成投票、スコア投票、最多得票制など、複数の投票方式に対応したいと思っている
[0] https://www.when2meet.com/
コスト削減の質問に答えるなら、単一のLinux VPSで動かせば月5〜10ドルまで下げられそうだ
興味深いのは成長グラフが線形である点だ。アプリには明らかにある程度のtractionがあり、バイラル性もあるのに、なぜ指数関数的に増えないのだろう?
実際には約100ドル程度のはずだが、正直かなり余裕を見すぎている。それでも私のトラフィックはブログで説明されているものよりはるかに大きい
アーキテクチャを改善すればコストを下げられそうだ
記事の中ほどでは、この成長パターンによりよく合う別のモデルとしてロジスティック成長を提示している。初期の急成長のあと線形成長の区間が来て、最終的に「収容限界」または「市場飽和」に達して平坦になる
似たようなアプリケーションをnetcupやHetznerのようなところで月3ドルでホスティングしているが、HNに載ったときも時間あたり1万リクエスト以上を簡単にさばけた
実際の数字とは関係なく、こういうプロジェクトがどうやって維持費をまかなっているのか、いつも気になる
関心のあったアイデアの一つは、これを分散型の方式で処理することだ。プロジェクトに資金が入り、毎月の請求書を払えなければ死ぬ構造だ
十分な余剰資金が入れば、適切な満期の米国債を買い、時間をかけてそれを取り崩していく方式も可能そうだ
以前なら自動化が必要だっただろうが、近い将来には制限付きのAIエージェントがサーバーの役割を果たし、そのまま自分の仕事をさせておけるのではないかと思う
使用量に応じて支払うモデルは、売上も使用量に応じて増えるときにはよい。自分のプロジェクトには、固定費が高くてもリスクがコストではなく可用性だけにある料金プランがあってほしい
そのため従量課金では収益が期待と合わないことが多く、段階制料金が市場からより多くのお金を回収しつつ、簡単に勝ってしまう
例外的に、ファイルストレージのようなものは、人々が必要な容量を過小評価しがちだと感じる
spliitが本当に好きで、定期的に、週に何度も使っている
困るのは、遅いモバイル回線では本当にうまく動かないことだ。ローカルファーストやオフラインファースト対応を追加してみたいが、大きな変更だということは分かっている
それでも支出追加ページのようなページをキャッシュするだけでも、かなり改善しそうだ
アイデアはよいが、トラフィックの数値を見ると、月4ドルのDigitalOcean dropletでも同じ結果が出そうだ
Vercelを使うことで1,000ドル以上を燃やしたことになる。自分が年を取ったせいなのか、この理屈がよく分からない
基本的なVPSを一度設定すれば同じ結果になり、コストも中立的なはずで、自分の小さな無料アプリもそうやって動かしている
おそらく筆者にとって月100ドルは大きな負担ではないか、利便性にそれだけ払ってもよい状況なのだろう
Webホスティング費用は実質的にほとんどない。コストの大半はデータベースから来ている
本当に素晴らしいアプリだ。費用の内訳を共有してくれてよかった
銀行が正気に戻れば、この機能はACH/Zelle/FedNowを基盤にした銀行アプリの標準機能になっていたはずだ
主催者が銀行アプリでグループを作り、異なる銀行口座を持つユーザーたちを招待できるべきだ
支払いリクエストはワンクリックで処理され、もうCash Appや銀行口座、Venmoにお金が入ったかを手動で確認してから、サードパーティーアプリで支出をチェックする必要はなくなるべきだ
必要なのは決済プロバイダー連携だ。ACHやクレジットカードで即時決済できるようにすればいい
それ自体が収益化オプションにもなりうる
オープンソースかつ無料を維持し、現金取引に便利なアプリであり続けるほうがよいと思う
SupabaseやNeonDBのようなサーバーレスデータベースソリューションを使えば、かなりお金を節約できそうだ