スタディサプリ Product Team Blog

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

静的解析ツールを非同期実行して 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 さんがオリジナルで作成し…

Jetpack Compose でメールアドレスの認証コード入力画面を実装する

こんにちは、Androidエンジニアの@morux2です。スタディサプリ小学・中学講座アプリでは、この半年間 EFO (Entry Form Optimization) に注力してきました。今回はその中で、メールアドレスの認証コード入力画面の実装についてご紹介します。 実装したメール…

アジャイル開発で「納期」がある案件とどう向き合うか?スタディサプリ開発の現場で考えるプロジェクトマネジメント

こんにちは!スタディサプリ TPM(Technical Product Manager)組織のマネージャーをしている@yuukiinoueです。 突然ですが、皆さんのチームでは「アジャイル開発」と「納期」の付き合い方に悩んだことはありませんか? 「うちのチームはスクラムだから、カ…