スタディサプリ Product Team Blog

株式会社リクルートが開発するスタディサプリのプロダクトチームのブログです

内製 Feature toggles 基盤 Darklaunch v2 の機能群と改善の進め方

こんにちは、バックエンドエンジニアの @kumackey です。 『スタディサプリ』では、新機能の段階的リリースを支える仕組みとして、内製の Feature toggles 基盤「Darklaunch v2」を運用しています。本記事では、Darklaunch v2 が提供する機能群と改善の進め…

AndroidアプリでApple・Google・Microsoftのシングルサインオンを実装した話

はじめに こんにちは。『スタディサプリ』 Android開発チームの@moraylです。 『スタディサプリ 小学/中学/高校/大学受験講座』では昨年、Web/iOS/Androidでシングルサインオン(以下SSO)を実装しました。 学校で利用しているユーザー向けで、ユーザーはApple…

静的解析ツールを非同期実行して Xcode のビルド時間を短縮する

こんにちは。『スタディサプリ』 iOS 開発チームの @manicmaniac です。 今回は、Xcode のビルドフェーズで nohup を使って SwiftLint や LicensePlist などのツールを非同期実行することで、開発中のインクリメンタルビルドの体感時間を大幅に短縮する工夫…

制作速度160倍を実現した、コンテンツ管理システム(CMS)のリアーキテクチャ

こんにちは、コンテンツ基盤開発チームの @chibicco です。本記事はコンテンツ制作チームの @kawai との共著です。 『スタディサプリ』では、学習コンテンツ1を管理するために、Web GUI ベースの CMS2 を10年以上運用してきました。しかし、コンテンツ制作の…

Argo Workflows で構築する、生成 AI 字幕生成ワークフロー

こんにちは、動画基盤チームの @kumackey です。 本記事では、Argo Workflows と生成 AI を組み合わせて構築した字幕生成ワークフローについて、その実装方法と技術的なポイントをご紹介します。 字幕生成について 背景 実現したワークフロー Whisper (生字…

Sentry MCP を活用した Sentry エラーの調査

小中高決済基盤開発グループの @y0n3yama です。 普段は決済基盤のサービス開発や運用業務に従事しています。 今回は、チームで運用作業の一環として行っているエラー調査に、Sentry MCP を活用した事例をご紹介します。 DevSupport の一環としてのエラー調…

Railsアップデート時の設定不整合をCIで自動検出する仕組みを作った話

こんにちは、小中高ベーシック開発グループの @sakuro です。 今回は Ruby on Rails のアップデートの際に発生した問題点を将来のアップデートの際に検出できるようにした話を紹介します。 スタディサプリ monorepo の技術構成 スタディサプリの monorepo は…

Androidの16KBページサイズ対応でNDKを指定しても反映されない問題の対処

こんにちは。ForSCHOOL開発グループの@s-hamada93です。 Google Playストアでは2025/11/01から、16KBページサイズをサポートしていないアプリを審査に提出できなくなります。現在Flutterで開発している我々のスタディサプリ for SCHOOLアプリでも、…

GitHub Packages + Changesets + Vite で社内npmパッケージを作成・運用する

こんにちは。技術戦略フロントエンドグループの @kamatte-me と申します。 スタディサプリ開発チームでは、社内向けのプライベートnpmパッケージをGitHub Packagesで運用しています。 本記事では、npmパッケージの作成方法から、“ゆるく”運用していくための…

オリジナルのスクラムワークショップ「伝聞お絵かき」を紹介

@rivayama です。世の中には数多くのスクラムワークショップが存在します。私の所属するチームでも以前に紙飛行機のワークショップを実施してスクラムに対する理解を深めてきました。今回は当チームのスクラムマスター @r0bins-egg さんがオリジナルで作成し…