2021年7月1日

PrismaがいかにPearlyの超少人数チームでの急速な成長を可能にしたか

Pearlyは、歯科医がより良く信頼性の高い収益源を確保し、患者に手頃な価格のケアプランを提供するためのプラットフォームを提供しています。Prismaが超少人数チームで迅速に事業を拡大するのにどのように役立ったかをご覧ください。

How Prisma Allowed Pearly to Scale Quickly with an Ultra-Lean Team

Pearlyは、歯科医がより良く信頼性の高い収益源を確保できるようにする、歯科向け金融エンゲージメントプラットフォームです。Pearlyは、Pearly PayとPearly Planの2つの製品を提供しています。患者はPearly Planを利用して、歯科医から手頃な料金でケアプランにアクセスできます。さらに、Pearly Payは歯科医院が顧客の支払いを自動化するのに役立ちます。

Pearlyの金融プラットフォームは、歯科医とその患者にスムーズなユーザーエクスペリエンスを提供しつつ、HIPAAに準拠しており、情報のセキュリティを確保しています。

Pearlyは現在エンジニアリングチームを拡大していますが、両製品の最初のバージョンは*たった一人の*開発者によって構築されました。Prismaのツールは、データベースのクエリやマイグレーションについて心配することなく、Pearlyが製品を迅速に反復開発することを可能にしました。

Prismaで幸先の良いスタート

多くのスタートアップで一般的な傾向は、リーンソフトウェア開発手法の採用です。この戦略は、リスクにできるだけ早く、安価に対処することに焦点を当てています。リーンはまた、チームが無駄を嫌い、反復的であることを重視します。プロセスと製品は、開発と学習のサイクルを通じて段階的に改善されます。

特に、PearlyのCTOであるショーン・エマー氏のチームに対するビジョンは、市場のフィードバックに基づいて製品仕様を迅速に反復・適応させ、リリース後の製品のスケーラビリティを犠牲にしないことでした。Prismaは彼にこのバランスを取る能力を与え、堅牢なSQLデータベースに対して非常に柔軟なGraphQL APIを構築することを可能にしました。これらすべてがベストプラクティスに従い、最小限のボイラープレートで実現されました。

ショーンは最初からPrismaを主要なデータベースクライアントとして選びました。Prismaはデータベース管理を抽象化し、彼がミッションクリティカルな機能の提供に集中できるようにしました。Prisma ClientはデータベースアクセスにクリーンなAPIを提供し、Prisma Migrateはスキーマ変更を管理します。

"これは、これまでの私の人生で最も速い開発でした。ツールのおかげで、作業に費やす時間が劇的に短縮されました。それだけでなく、以前は1~2日かかっていた多くの新しい増分機能にも「イエス」と言えるようになり、今では半日でできるようになりました。"

Sean Emmerショーン・エマー、Pearly Plan CTO 兼 共同創設者

Pearlyのスタックはシンプルでモダンであり、これによりスケーリングが可能になりました。バックエンドは以下のライブラリとサードパーティサービスで構築されています。

  • GraphQL(Apolloを使用)
  • GraphQL Nexus
  • Google Cloud Platform上のサーバーレス
  • PostgreSQL
  • Stripe
  • Firebase

Pearly Architecture

内部的には、PearlyはGraphQLによって抽象化された複数のサードパーティサービスと通信します。これは、フロントエンドアプリケーションがデータの取得元を気にすることなく、APIからデータをクエリすることを意味します。GraphQLスキーマはApollo Schema registryにアップロードされます。フロントエンドアプリケーションは、アップロードされたスキーマを使用して、オートコンプリートを提供する型を生成します。

Pearlyのアプリケーションは、フロントエンドとバックエンドの両方で完全にTypeScriptで書かれており、これによりエンドツーエンドのタイプセーフなアプリケーションを実現しています。

Prismaデータモデルから始まるエンドツーエンドのタイプセーフティは、コンパイル時のバグを減らし、リファクタリングや機能拡張を容易にする点で、Pearlyに利益をもたらし続けています。その結果、開発者の生産性、開発者体験が大幅に向上し、最終的にはより堅牢で適応性の高い製品が生まれました。

新しいフィールドやリレーションシップを追加するために、prisma db push はショーンがデータベースマイグレーションを作成・編集することなく、新しいスキーマを迅速にプロトタイプすることを可能にします。

"…Prismaを使った私たちの決定には本当に満足しています — 非常に速いペースで反復開発を進めています…"

Sean Emmerショーン・エマー、Pearly Plan CTO 兼 共同創設者

db push を使ったスキーマのプロトタイピング

アイデアを検証するためには、プロトタイプを迅速に構築することが不可欠です。プロトタイプは、チームが製品が望ましい状態に達するまで反復開発することを可能にします。

Prismaは、prisma db push コマンドを使用してデータベーススキーマをプロトタイプすることを可能にします。これは、スキーマの変更をバージョン管理する必要がなく、変更をプレビューせずに*望ましい最終状態*に到達することを優先する場合に便利です。

Prismaスキーマは、データモデルの定義を人間が読みやすく直感的にします。

Prismaは、db push コマンドを使用することで、マイグレーションを生成せずにスキーマの迅速なプロトタイプ作成と反復開発を可能にします。

上記のコマンドは、次のように使用できるタイプセーフなデータベースクライアントであるPrisma Clientも生成します。

結論

Prismaは、初期段階のスタートアップであるPearlyにとって重要な役割を果たしてきました。その結果、ショーンは現在、単独の開発者として、より迅速に動き、新機能の展開に集中しています。

Prismaがチームの生産性向上にどのように役立つかについて詳しく知るには、Prisma Slackコミュニティに参加してください。

次の記事をお見逃しなく!

Prismaニュースレターに登録する

© 2025 prisma.dokyumento.jp. All rights reserved.