Upgrade to Pro — share decks privately, control downloads, hide ads and more …

紙とExcelからの脱却!ドメイン知識ゼロから始めた社内SaaS開発の舞台裏

 紙とExcelからの脱却!ドメイン知識ゼロから始めた社内SaaS開発の舞台裏

紙で募集していた保険商品をWeb化したい――そんな案件が社内で乱立し、SaaSも乱立、開発体制も追いつかないカオスの中、ドメイン知識ゼロの異業種転職組だけのチームで、保険のWeb募集プラットフォーム「Miracraw」を内製化することになりました。

1000種類以上ある保険の販売方式、複雑すぎる業務、片手間でしか作れないボイラーテンプレート。それでも実案件をこなしながら型を育て続け、2025年11月にようやくリリース。
技術や体制よりも大事だったのは、ビジネスとエンジニアが互いの領域に歩み寄ったこと。等身大の立ち上げストーリーと、加速フェーズに入ったMiracrawの今、そしてこれからをお話しします。

Avatar for SOMPO Digital Lab

SOMPO Digital Lab

July 26, 2026

More Decks by SOMPO Digital Lab

Other Decks in Technology

Transcript

  1. ABOUT ME 自己紹介 氏名 浪山 健亮 所属・役割 損害保険ジャパン / チーフエンジニア

    職歴 「Miracraw」を含む、保険のWeb募集プロジェクトをリード バックエンド、フロント、インフラなんでもやります。 趣味 息子(0歳児)と遊ぶことです。 最近息子に風邪をうつされて、さらに腰を痛めました。 2
  2. 転機 1|ないないからのスタート 案件とSaaS化とは? • 案件:1つのシステムで、単一の保険Web募集サイトを作ること • メリット:難易度が高くない • デメリット:構築コストが高い 案件A

    の要件 構築 案件B の要件 構築 案件Aの システム 案件Bの システム • SaaS化:1つのシステム上に、複数の保険Web募集サイトを構築すること • メリット:一度SaaS基盤を作れば、案件対応コストは小さい • デメリット:難易度が高い 案件A の要件 案件Aの サイト 案件Bの サイト 案件B の要件 SaaS基盤 9
  3. 転機 2|Schemaドリブンという選択 何をSchemaにするか? いきなり全てをSchemaドリブンで開発するのは難しい。 JSON Schema Prisma Schema そこで、以下の通りSchemaを分けることにした •

    フロント • JSON Schemaを元に構築 • バックエンドとDBスキーマ フロント 実装 バックエ ンド実装 DB スキーマ • Prisma Schemaを元に構築(のちに廃止) Prismaとは、NodeJS用のORM。 SchemaベースでDDLを記載でき、DBへの反映やコード自動生成を行う。 12
  4. 転機 2 – UI編|Schemaドリブンという選択 Schemaドリブン UI編 • RJSFとは、JSON Schemaを元にForm画面を作れるライブラリ (サンプルあり)

    • RJSF = React JSON Schema Form • 案件ごとに、RJSFを独自拡張し続けた • 今では、ほぼすべての画面がJSON Schemaだけで作れる JSON Schemaで実装 案件1 案件2 Form画面 Form以外の画面/ API呼出 コーディングで実装 案件3 Form画面/ Form以外の画面 API呼出 Form画面/ Form以外の画面/ API呼出 13
  5. 転機 2 – Backend編|Schemaドリブンという選択 Schemaドリブン Backend/DB編 • 当初はPrisma Schemaを作成し、DBとAPIを自動実装。 •

    RestAPIではなくPrismaと相性のよかったGraphQLを選択 Prisma Schema テーブル作成 DB Endpoint作成 Backend ↓ が、しかし、、、 • コードの自動生成は案件対応の際は良いが、SaaS化には適さない • データストアのようなシステム以外では、GraphQLは適さない 案件対応時 Prisma Schema SaaS時 コード生成 案件用システム 追加 案件A用 Schema SaaSシステム 案件B用 Schema 15
  6. 転機 2 – Backend編|Schemaドリブンという選択 SaaS化の際に、スクラップ・アンド・ビルド 1. Prismaを廃止、さらにNodeからJavaに変更 • Prismaを廃止してコード生成の発想を捨てる •

    堅牢なシステムにする必要があるため、後方互換が安定しているJavaへ変更 2. スキーマレスで契約情報を管理 • 契約情報はJSON項目(スキーマレス)で管理 • バリデーションはSchema Validatorで定義 3. その他の変更 • モノリスからマイクロサービスへ、CloudRunからGKEへ • DBはPostgreSQLからSpannerへ より安定性を高めた 16
  7. 転機 2 – Backend編|Schemaドリブンという選択 [補足] スキーマレスで契約情報を管理 1. バリデチェックが通った全ての内容をJSON形式でDBに格納 案件A用 入力

    案件B用 入力 案件A用 バリデチェック 案件B用バリデチェック 案件 id json property 1 { “name”: “損保”, “age”: 33, A 2 { “name”: “浪山”, “nameKana”: “ナミ B 2. 処理で使う一部の項目のみComputed Columnとして仮想カラムに展開し、アプリで利用可能に • JSON項目にある内容はアプリでは扱いにくい • 他の列から計算された値を仮想カラムに自動展開できるComputed Columnを利用 • 補償開始日や保険料など意味を持つ項目は、JSONから抜き出して仮想カラムに自動展開し、 アプリから利用可能に id json property Amount (仮想カラム) 1 { “name”: “損保”, “amount”: 1500} 1500 2 { “name”: “浪山”, “amount”: 2500} 2500 17
  8. 転機 3|生成AIの追い風 生成AIの登場 ── 偶然の追い風 Schemaドリブン開発と、生成AIは相性が良い Schemaドリブンの課題 • とにかく人がJSONファイルを書くのが大変。1から書くならコードの方が楽 •

    カスタマイズ項目の理解が追いつかない 知識を渡してあげれば生成AIは一瞬で作成 さらにSchemaドリブンならではの良いことも • 生成AIが生成したJSON Schemaはリーダブルコードの観点でのレビューが不要 • JSONファイルは別ファイルの参照ができないため、修正時にデグレ確認が不要 19
  9. 転機 3|生成AIの追い風 高品質 × 高速 ── 実際のワークフロー 以下のフローで8 〜 9割くらいの品質のものが完成

    要件を記載した ドキュメント 【Front】 JSON Schema/ CSS Claude Code Agent Skills 【DB Schema】 スキーマレスのため 変更なし 【Backend】 Schema Validation/ その他設定 成果 • 最初の案件では7人チームで半年以上かけて開発 • 現在は1人が1ヶ月かからずに開発可能 20
  10. THANK YOU ご清聴ありがとうございました Miracraw や SOMPO Digital Lab の取り組みに興味がある方は、 ぜひブースにもお立ち寄りください。

    「SOMPO Digital Lab エンジニア」 で検索 採用ページ:https://sompo.io/ja/recruit 絶賛エンジニア募集中です。 エンジニアページ QR