個人でローンチしたサービスの技術スタック整理 第一部

Blog Image

動機

個人開発で少し収益が出始めたので備忘録兼ねて状況を大まかに整理します
3月にリリースしました

アプリの概要

  • ユーザーに特定のエディタを提供
    • (詳細希望の場合DMください)
  • 無料会員は一部機能が制限される

収益状況

  • 月間アクティブユーザー: 19人
  • 月額3$ユーザー: 11人
  • 無料ユーザー: 8人

維持費

ドメイン代: 年約10$

利用しているサービス/技術と各々の責務

  • Cloudflare Workers: Honoでstripeとclerkをラップして、認証、認可、決済を行うAPIを提供する
  • Cloudflare Pages: ユーザーへの直接的な機能提供に利用、
  • Neon: DBに利用
  • Clerk: ユーザー管理、認証認可に利用
  • Stripe: 決済に利用
  • React
    • フロントで利用
    • Next,Remixは意図して使っていません
    • フレームワークのフレームワークに振り回されるのを回避したいため
  • shadcn/ui
    • フロントの、コンポーネントで利用
    • 大体ほしいコンポーネントあるので使っています。

バックエンドはこんな形
NeonのDBブランチを使いつつ

Blog Image

markdownファイル
フロントエンドはCloudflare PagesをGitHubに繋いでブランチプレビュー使っているだけで、特筆することはありません。

開発フロー

フロントエンド

  • developブランチ、その他開発ブランチは開発バックエンドに接続したbranch preview機能を用いている
  • deployブランチにPRマージすることでリリースする

バックエンド

  • wrangler publish --env dev/prodでデプロイ
  • stripeとclerkをラップしてテストを書いている
  • 決済はテスト不能なのでdevでテストカードを使い出来る限りテストする
  • webhookで取れるイベントはすべてSlackに飛ばしている

いいんじゃないかと思っているところ

  • 課金ユーザーの8割が面識あり、忌憚ない意見が来る
  • 週に一度以上のリリース
  • それなりのクリーンアーキテクチャ
  • プロダクト譲渡も検討している&パフォーマンスは求められないのでRustではなくTypeScriptで妥協
    • おそらく誰でも読める

課題(技術的)

課題(技術的以外)

  • マーケティング不足
    • 宣伝が口コミと、自身での押し売りのみ
  • ユーザー数が少ない
    • 課金ユーザーを200倍にしたい
  • 自分自身が技術的な観点に囚われがち