こんにちは。
ファインディ株式会社でソフトウェアエンジニアをしている西村です。
普段私たちが開発しているファインディのプロダクトの裏側や、開発メンバーが日々どのように働いているのかをお伝えするために、Findy Tech Talkという技術系のオフラインイベントを開催しています。
その第一弾となる 「開発メンバーが語るFindy Conferenceの裏側とこれから」を開催しました!
今回は3名が登壇し、Findy Conferenceを支える技術基盤(受付システム・GraphQL設計・権限管理)、開発前に「適切なツッコミ」を入れて最速で価値を届けるアプローチ、そしてFindy初のモバイルアプリをReact Nativeで立ち上げた経緯について話しました。
この記事では、各登壇の内容をダイジェストでお届けします。
登壇内容
Findy Conferenceを支える技術基盤の裏側
西村は「Findy Conferenceを支える技術基盤の裏側」と題して、話しました。
Findy Conferenceとは、カンファレンスの準備・開催・運営の管理プラットフォームであり、3つの立場が異なるユーザーが使うシステムです。
- 主催者
- 参加者
- スポンサー企業
異なる立場のユーザーが使うシステムであるため、各ユーザーに応じた機能を提供しつつ、円滑なカンファレンス運営を支援することが求められます。
カンファレンスを開催するまでにある課題を3つに絞って紹介します。
1つ目は、ネットワークが不安定でも止めない参加者受付機能です。
当日の会場では常にネットワークが安定しているとは限りません。例えば、多数の参加者が一斉にWi-Fiへ接続を試みるため、ネットワークが不安定になりがちです。
参加者の入場処理が失敗してしまい、記録が正しく行えなくなります。また、受付スタッフは通常の受付業務ができなくなり、カンファレンスの運営に影響が出てしまう。
そこで、Findy Conferenceでは、受付した参加者のデータをLocalStorageに保存する設計を採用しました。
navigator.onLineでネットワーク接続を検知し、復旧次第バックエンドへ同期する仕組みです。
ネットワークが不安定な環境でも、受付業務を止めることなくスムーズに入場記録を行えるようになりました。

2つ目は、Findy Conferenceに合うGraphQLスキーマ設計についてです。
冒頭で書いた通り、3つの異なる立場のユーザーが存在します。
Findy Conferenceでは、主催者・参加者・スポンサー企業の画面をサブドメインで分けています。
そのため、GraphQLのスキーマ設計においても、各ユーザーが必要とするデータを効率的に取得・権限管理できるように工夫が必要でした。
そこで、Findy Conferenceでは、次のような設計方針を採用しました。

このスキーマ設計によって、後述する権限管理を容易にし、各ユーザーが必要とするデータを効率的に取得できるようにしています。
3つ目は、GraphQLでどのように権限管理するのかについてです。
Findy Conferenceでは主催者画面にユーザーロールごとに権限管理しています。
GraphQLではカスタムディレクティブを使うことで簡単に権限管理をすることができます。
Findy Conferenceでは@authのディレクティブを使い、次のように権限管理を表現しています。
module Types module Admin class Conference < Types::Admin::BaseObject field :id, Int, null: false field :conference_participated_users, Types::Admin::ConferenceParticipatedUser.pagination_type, directives: { ::Directives::Admin::Auth => { roles: [FULL_ACCESS, VIEW_ONLY] } } end end end
このRubyコードをGraphQLのスキーマに変換すると次のものになり、@authのディレクティブが使われていることを確認できます。
""" カンファレンスID """ id: Int! """ カンファレンス参加者情報 """ conferenceParticipatedUser( """ カンファレンス参加者ID """ id: Int ): ConferenceParticipatedUser @auth(roles: ["full_access", "view_only"])
以上、3つの課題をもとに、Findy Conferenceをどう開発してきたかを少しでも伝われば幸いです。
今後もカンファレンスを裏から支え続けるプロダクトとして成長していきます。
最速で価値を出すためのプロダクトエンジニアのツッコミ術
エンジニアマネージャーの大原が「最速で価値を出すためのプロダクトエンジニアのツッコミ術」と題し、迅速にユーザーに価値を届けるための開発前のアプローチについて紹介しました。
迅速にユーザーへ価値を届けるには、開発前にロードマップや企画に対して「適切なツッコミ」を入れることが重要だと思います。 ツッコミなしで進めると「機能が増えてリリースが遅れる」「使われない機能になる」といった問題が生じてしまいます。
そのツッコミを入れる際の重要な観点として、2つの視点を紹介しました。
1つ目は「目的達成のための最小工数になっているか」です。 要望があったときに、実装を想像して、仕様を分解し、どれくらい工数がかかるかを考えます。 その上で、本当に今必要か、使用頻度は高いかなどを検討し、仕様を最小限必要なものにブラッシュアップしていきます。 具体例として、Findy Conferenceでは、参加申込→当日運営→運用・拡大と機能を最小限にして段階的にリリースすることで、短期でのリリースを達成しました。
2つ目は「三方よしになっているか」です。 施策や機能を考えるときに、ユーザー、自社、関係者にとって良いものかを確認し、自社都合のみの施策や利害不一致を避けることが大事です。 ユーザー体験が向上し、その結果事業にインパクトが出るような施策が理想だと考えています。
最後に、ツッコミの質を高めるために大事なこととして、次の3つを挙げました。
- 仕様・実装を把握し、技術的な制約を即座に指摘出来るようにする
- ユーザーの声を聞くことで、ユーザー課題の解像度を上げる
- 事業モデルを理解することで、事業インパクトを理解出来るようにする
今後もこういった観点を大事にしながら、最速で価値のあるサービスを提供していきたいと思います。
ゼロから始めた Findy 初のモバイルアプリ開発
モバイルエンジニアの加藤が「ゼロから始めた Findy 初のモバイルアプリ開発」と題し、当社初のモバイルアプリ「Findy Events」の立ち上げについて紹介しました。
まず、私達がどのような思想でモバイルアプリ開発を始めるに至ったのか、その背景についてです。
AIの進化が目覚ましい昨今だからこそ、オフラインの場でしか手に入らない生きた情報や、かけがえのないつながりがあると考えました。
そこで、「オフラインにおけるつながりを最大化し、エンジニア同士の知識・経験の共有を促進する」ことをモバイルアプリが提供する本質的な価値と位置づけました。
次に、このアプリを0→1で立ち上げるために挑戦した具体的なプロセスについて話をしました。
開発当初、社内にモバイルアプリ開発の実績がなく、現役のモバイルエンジニアも自身一人だけという状況でした。 そのため、要求&要件定義や技術選定だけでなく、社内での開発環境・管理ルールの策定といった土台作りから始める必要がありました。
要求&要件定義では、エンジニアとして、企画のすり合わせから、UI・UXの議論まで深く入り込み、徹底してモバイルアプリならではの体験作りに拘りました。
これは、エンジニア向けのプロダクトを開発しているファインディだからこそ、利用ユーザー目線での解像度の高い意見を出すことができたのだと思います。
また、モバイルアプリ開発のためのメインフレームワークの選定についても紹介しました。
チーム全体のリソースを鑑みて、Cross Platformによる開発を前提としたものの、「Flutter」と「React Native」のどちらを選定すべきなのかは非常に悩んだポイントです。
次のように、国内での採用事例数やモバイルエンジニアとしての習熟のしやすさなど、いくつかの指標を比較することから始めましたが、最終的には「組織のアセット」×「モバイルエンジニアとしての自身のナレッジ」を活かせる「React Native」を採択しました。

この選定により、立ち上がりに苦労した部分もありましたが、次の2点のような大きな収穫があったため、Betterな選択ができたと考えています。
- Webフロントエンドの有識者による質の高いレビューを通じて、多くの学びを得ることができた
- Webフロントエンドと親和性の高い技術の理解が進んだことで、他のWebフロントエンドのコードが読めるようになった
また、2025年12月に、Android版をリリースし、「Findyユーザー感謝祭2025〜今年の"しくじり"を供養しよう〜」で実際に触って頂きました。
直接、ユーザーの操作を見たり、感想やご意見を頂けたことで、「伸びしろ」を感じることができました。
今後は、「ユーザーが迷わないUI・UXを突き詰めて、その利便性から、自然とアプリを利用してもらえる」そんなアプリへと、成長させていきたいと考えています。
まとめ
今回のFindy Tech Talkでは、Findy Conferenceを支える技術基盤、プロダクトエンジニアとしてのツッコミ術、そしてモバイルアプリ開発の立ち上げについてお話ししました。
当日、イベントに足を運んでくださった参加者のみなさん、本当にありがとうございました。頂いたアンケート結果を、次回開催の参考とさせていただきます。
残念ながら今回のイベントに参加出来なかったみなさんも、次回イベント開催時には是非ご参加ください!
現在、ファインディでは一緒に働くメンバーを募集中です。
興味がある方はこちらからご覧ください。 herp.careers