初めまして、フェアテック株式会社でCTOをしております、小名です。弊社のtoCサービスとしてCURATE(キュレート)と言う、「大量のスカウトメールからあなたにマッチした企業をAIで厳選する」サービスを展開しております。
この記事では、この「CURATE」を支えている技術面のお話をシェアしたいと思います。また、転職で大量のスカウトメールがウザい!と感じている方、面白い企業を見落としたくない方は是非CURATEに登録を! ※ ユーザー完全無料
1. 会社紹介
弊社は、AIエージェント技術を中核とするスタートアップです。具体的には、AI SaaS事業(自社プロダクト)、AIソリューション事業(受託サービス)、人材紹介業を展開しています。
詳細につきましては、「フェアテックとは」をご覧ください。
2. CURATE(キュレート)技術スタック
使用している技術は、下記になります。
- フロントエンド
- Next.js, React, TailwindCSS, shadcn/ui, Zod
- バックエンド
- Convex, Clerk, Gemini, Perplexity, Gmail API, LINE Messaging API
- インフラ
- GCP, Pulumi
- 開発ツール
- Bun, Turborepo, Biome, Vitest, Husky
技術選定ポイント①Convexの採用
Convexとは、TypeScriptネイティブでリアルタイム性に特化した、フルスタックのBaaS (Backend as a Service) です。Convexの思想は、「TypeScriptによるエンドツーエンドの開発体験」を追求することにあります。DBのスキーマ、クエリ・ミューテーション、フロントエンドのコードまで、全てTypeScriptで記述可能です。かなりココのポイントは高く、型安全にコードがかけるので採用する決め手ともなりました。
Supabaseと比較して良い点としては、スキーマを編集して保存しただけで、変更が即座にバックエンドに反映されます。Supabaseであれば、SQLを書いた後は、CLIを使用してコマンドで型定義ファイルを手動生成します。そして、スキーマ変更には、再実行が必要なのでConvexはその点かなり楽です。
もう一つのConvexの強みは、リアルタイム実装です。useEffect内でリアルタイム更新の処理を記述していたが、useQueryフックでデータを宣言するだけでOKになります。useEffectが不要なため、コンポーネントは、UIロジックに集中できる点もメリットです。
技術選定ポイント②Clerkの採用
Clerkは、Clerk Inc.が提供するReact, Next.jsなどのモダンウェブ向けに作られた認証・認可サービスです。Next.js、Remixなどのフレームワークに特化したSDKを提供しており、高機能かつ高品質な認証処理を簡単に実装することができます。かなりスタートアップ、個人開発には重宝するサービスとなっています。
Firebase Auth、Auth.js、JWT自前実装など様々な認証方法がありますが、認証実装にはそれなりの学習コストと実装時間がかかります。
特に、スタートアップやプロトタイプ開発では「認証は必要だけど、本当はプロダクトのコア機能に時間を使いたい」という場面が多く、スタートアップのニーズと合致していると思います。認証機能自体はビジネス価値を直接生まないので、できるだけ効率的に済ませたいところです。
3. 開発はとにかく「クイック」&「低コスト」
スタートアップにおけるプロダクト作りの非常に重要な観点が「クイック」と「低コスト」だと思っております。
如何にプロダクトをクイックに作り、市場に当てれるか。ここの検証サイクルをどれだけ回せるかによって、成功確度はかなり変わってきます。その際に、やはりロジック部分以外はなるべく工数を割かずに作れるか。最近では、便利なライブラリやSaaSも多くあり、それらを活用して行くことが重要だと思います。
また、別の観点ではコストがやはりスタートアップにとっては重要です。弊社は、当初AWS上に構築しておりましたが、やはり月額でかかるコストが高く、途中からGoogle Cloudに全て乗り換えました。現在、CURATEはCloud Run上で動いていますが、非常にコストメリットを感じております。
4. 業務委託メンバー募集
現時点では、次のような業務委託メンバーを絶賛大募集していますので、お気軽に下記フォームよりご連絡ください!
- 自社プロダクト開発メンバー
- フルスタックエンジニア(TypeScript / React / Next.js / Tailwind CSS / Python / AWS / GCP / GitHub Actions / Terraform)
- コンサル・受託開発メンバー
- ITコンサル出身 / Python / LLM / AIエージェント等の開発スキル
最後まで、ご覧いただきありがとうございました!