Repro Tech Blog
https://tech.repro.io/
Repro Tech Blog
フィード

対話型生成 AI を "もう1人のメンター" とするオンボーディング 後編:ツールと注意点
Repro Tech Blog
こんにちは。Platform Team / Sys-infra Unit の青山(@MintoAoyama)です。 前編では、オンボーディングにおける「聞くコスト」の問題と、対話型生成 AI を「もう1人のメンター」として活用するという考え方を紹介しました。後編では、実際にどのツールを活用しているか、そして注意すべきことなどについて紹介します。 活用できるツール Repro では、用途に応じていくつかの対話型生成 AI 、いわゆる RAG(Retrieval-Augmented Generation:検索拡張生成)ツールが導入・整備されています。それぞれ得意とする情報の種類が違うので、目的に合…
1ヶ月前

対話型生成 AI を "もう1人のメンター" とするオンボーディング 前編:なぜ生成 AI をメンターと捉えるか
Repro Tech Blog
こんにちは。Platform Team / Sys-infra Unit の青山(@MintoAoyama)です。Repro に入社して6か月が経ちました。 本記事は、入社始めの3か月の経験や感じたことを元にした、生成 AI をオンボーディングに活かす方法の提案になります。前編では「なぜ生成 AI を "もう1人のメンター" と捉えるか」について、後編では実際のツールと使い方をご紹介します。 オンボーディングとは オンボーディングとは、新しく組織に参加したメンバーが業務・文化・人間関係などを理解し、独り立ちできるようになるまでの一連のプロセスです。 入社直後の研修や手続きをイメージしやすいかも…
1ヶ月前

汎用性抜群!DBスキーマを中心に据えた Go × TypeScript ハイブリッド構成の紹介 - (後編)
Repro Tech Blog
前編では、このアーキテクチャの概要と、Go と TypeScriptの使い分けについて紹介しました。 後編では、なぜ DB スキーマを Single Source of Truth にしたのかという設計判断の背景と、 この構成が AI と相性が良いと感じた理由について整理していきます。 なぜ DB スキーマを Single Source of Truth にしたのか 1. 生成元を一元化し、管理をシンプルにしたかった Prisma と sqlc を併用する構成の場合、何も考えずに設計すると、スキーマの管理が分散しがちです。 例えば、以下のような流れです。 1. Prisma schema を更…
1ヶ月前

Repro における AWS アカウント分離の取り組み Part4 - Terraform Module の整理
Repro Tech Blog
Development Division/Platform Team/Sys-Infra Unit の今(temama)です。 AWS アカウント分離シリーズの Part4 になります。今回は AWS アカウント分離に合わせて進めている Terraform module の整理と移行について紹介します。Terraform module の運用方法に悩んでいる方の参考になれば幸いです。 これまでのあらすじ Repro における AWS アカウント分離の取り組み Repro における AWS アカウント分離の取り組み Part2 Repro における AWS アカウント分離の取り組み Part3 …
1ヶ月前

汎用性抜群!DBスキーマを中心に据えた Go × TypeScript ハイブリッド構成の紹介 - (前編)
Repro Tech Blog
こんにちは。新規事業部門でエンジニアをやっている重本です。 2025年5月にReproへ入社し、この記事を書いている今でちょうど1年が経とうとしています。 転職して環境が変わったのはもちろんですが、第一子が生まれたりと、個人的にもなかなか変化の大きい1年でした。 そんな中で、一番大きな変化だったと感じているのは、opus4.6 の登場をきっかけに、ほとんど手でコードを書かなくなったことです。(子どもじゃないのか) 最初は「自分の実装力が落ちるのではないか」といった抵抗もありましたが、今ではもうAIなしでの開発は考えられない、というところまで来ています。 とはいえ、AIの使い方自体はまだ試行錯誤…
1ヶ月前

育てる AI Extensions の3層アーキテクチャ
Repro Tech Blog
1. はじめに こんにちは。新規事業部門でユニットリーダーを担当している taison です。 マーケティングプラットフォーム Repro の運用現場では、適切なユーザーに適切なメッセージを届けるため、日々施策設計を行っています。特に 1to1 を意識した高度なパーソナライズのキャンペーンを実施するためには独自変数を含む Liquid 構文が入り混じる JSON や HTML を直接読み書きする必要があります。 こうした独自仕様を含むカスタマイズ領域を運用するメンバーに対して、エンジニアレビューと同等の安心をスピード感を持って届けるにはどうすべきか、の一つのアプローチとして「Chrome 拡張…
1ヶ月前

新人PM Devinくん奮闘記
Repro Tech Blog
こんにちは、Reproでデザイナー兼ユニットリーダーをしている竹内です。 ここ最近、チームの定例会議の準備やファシリテーションをAIエージェントであるDevinに任せてみているので、その手法やぶちあたってきた問題についてお話しします。 プロジェクト管理に改善の余地あり 私の所属するFeature 3 Unitでは、スクラムで1〜2週間のスプリントを回しています。 スプリントの始めにプランニングをして実施する項目を決定し、日々のデイリーで進捗を確認し、スプリント終わりに振り返り(レトロスペクティブ)をするという、よくある流れです。 ClickUpというタスク管理ツールを利用してタスクを可視化して…
1ヶ月前

【実践】Repro のポストモーテム運用【テンプレート付き】
Repro Tech Blog
Development Division/Platform Team/Sys-infra Unit の今(temama)です。 Repro では障害発生とその対応後にポストモーテムを作成、それに伴ってポストモーテムを記載するポストモーテムミーティングを開催しています。 Repro には、インシデント発生時に対応する開発チームと顧客へ連絡するカスタマーサポートチームの密な連携のためのインシデントテンプレートがあります。これはインシデントの影響時間、機能、影響範囲など連絡の際に必要な情報を穴埋め式で埋めていくもので、障害が復旧して顧客へ連絡するまでが役割です。 記載したインシデント情報をベースに、…
2ヶ月前

仕事の成果って何だろう ── デザイナーがユニットリーダーになるまで
Repro Tech Blog
こんにちは。カスタマーエンゲージメントプラットフォームを提供するReproでデザイナー兼ユニットリーダーをしている竹内と申します。 もともとはWeb制作からUIデザイナーに転身し、Reproには2021年にデザイナーとして入社しました。入社後はUI/UXデザインや製品戦略策定などいくつかの業務をこなしていましたが、現在はユニットリーダーとして開発チームのマネジメントとデザイン業務を掛け持ちしています。 この記事では、デザイナーからユニットリーダーになった経緯と、その選択の背景にあった考え方についてお話しします。華々しいキャリアアップの話ではないのですが、よろしければお付き合いください。 本文に…
2ヶ月前

Repro における AWS アカウント分離の取り組み Part3 - Kafka バージョンアップと KRaft 移行
Repro Tech Blog
AWS アカウント分離シリーズの Part3 です。Development Division/Platform Team/Sys-Infra Unit では、マネージドサービスを使わず EC2 + Auto Scaling Group で自前運用している Kafka クラスターの運用も担当しています。AWS アカウント分離に伴い Kafka クラスターも分離する必要がありますが、分離前の作業として Kafka のバージョンアップ(3.6 → 3.9)と ZooKeeper から KRaft への移行を進めました。本記事ではその過程を紹介します。 これまでのあらすじ Repro における AWS…
3ヶ月前

slack-mcp-client を使って Slack に AI Bot を導入しよう
Repro Tech Blog
Repro Sys-infra Unit の今です。 Slack 上で AI と会話出来る bot をお手軽に作りたいな〜と思いたち、パッと立ち上げ運用しているのでご紹介します。 構築したのは2025/10頃で、ブログにするまでに Slack AI がリリースされたり高機能な Clawdbot がリリースされたりして出遅れてしまった感はありますが、最低限の機能と拡張性のあるものが好きな(私のような)人の参考になれば幸いです。 経緯 Repro では AI 活用の推進を社内に向けて行っており、ChatGPT や Claude のサブスクリプションや Cursor、Devin、Claude Cod…
4ヶ月前

おじさんだって自分らしくしか生きられない。
Repro Tech Blog
モニター越しから失礼します!Repro入社7ヶ月、Product Planningチーム(略してPP)のsirashunn….と申します。 ReproではPMM的な事業開発的なプロダクトアライアンス的な業務を担当しております。 この度、アラフォーになり、久しぶりの転職で過剰に気負った私が血眼になって探した業務改善の結果とそれによって感じたことを書かせていただきます。 ノウハウやTipsとは無縁のお気持ち記事になっていますが、「経験者採用」の5文字にビビって気が引けている人も是非Reproの門を叩いてみてほしい、そんな気持ちであなたにしたためるラブレターです。 自ら背負った十字架:アラフォーが中…
4ヶ月前

「その案件、本当に儲かるの?」に答えるために SaaSのユニットコストに踏み込む
Repro Tech Blog
ReproのProduct Planning Teamでプロダクト企画を担当している河西です。 在庫を持たず、長く使ってもらうほど利益が積み上がる──。 私がSaaS企業に入社したのも、この美しいビジネスモデルに惹かれたからです。 しかし、現実はそこまで簡単な話ではありませんでした。 顧客が増えれば、当然インフラコストも増えます。特にReproのように大量のデータを扱うプロダクトでは、ある一定のラインを超えると「使われれば使われるほど、サーバー費が利益を食いつぶす」という悪夢が頭をよぎります。 LTVやCACといった、SaaSで重視される指標の裏で、「で、結局このお客さん1人あたり、いくらかか…
4ヶ月前

社内調査の手詰まりをどう打開したか。デバッグ用SDKでお客様と連携し解決するまで
Repro Tech Blog
こんにちは。App SDK Unitでエンジニアをやっている村橋です。Reproでアプリに導入して動作するSDKの開発・保守を担当しています。 今回は、 「特定のお客様の環境でのみ発生する原因不明の不具合」 を、お客様との密な連携によって解決まで導いた記録をお話しします。 我々のようなSDKを提供するサービスにおいて、SDKが正常に動作しないことはお客様のビジネスを止めてしまう「死活問題」であり、一刻も早い解決が求められます。しかし今回直面したのは、クラッシュやエラーメッセージが一切発生しないという、社内調査だけでは到底辿り着けない難題でした。 技術的な正解だけでは解決できなかったこの問題に対…
4ヶ月前

実際のリリースから見る「イージーでなくシンプル」を実現するための機能企画と設計思想
Repro Tech Blog
はじめに こんにちは、ReproのProduct Planning Teamでプロダクト企画やパートナー連携を担当しています狩野と申します。 この記事では実際のある機能リリースを題材に、今Reproがどのような考え方で企画・判断を行っているのかを紹介します。いわゆる「機能の使い方」や「実装の詳細」を解説する記事ではありません。なぜそのアプローチを選んだのかをプロダクト企画の視点から振り返るケーススタディです。 題材とするリリースについて 今回取り上げるのは、各種マーケティングチャネルの配信実行を「エンドユーザーに紐づくイベント」として管理画面上から扱えるようにし、それを用いて配信制御を可能にし…
4ヶ月前

ActiveRecordコールバック再入門 - previous_changesの落とし穴
Repro Tech Blog
こんにちはFT2(Feature 2 Unit)の松本です。 Ruby on Rails で好きなライブラリは ActiveRecord です。 ActiveRecord の嫌いな機能は callback と STI (Single Table Inheritance)です。 弊社の業務では、RailsのCallbackを使ってDBの変更をKafkaへ流す場合があります。 previous_changes と Callback を組み合わせたとき、Callbackでの挙動で疑問が出てきたので、アプリを作りながらCallbackの挙動を確認していきます。 はじめに あなたは複数の組織に跨るユーザ…
4ヶ月前

304 Not Modified は JavaScript も速くする?
Repro Tech Blog
はじめに こんにちは、Repro Booster のプロダクトマネージャーの Edward Fox(@edwardkenfox)です。 HTTP 304 Not Modified というステータスコードをご存知でしょうか。ブラウザがキャッシュ済みのリソースを再検証する際、サーバーが「変更されていないのでキャッシュを使ってください」と応答するためのステータスコードです。レスポンスボディが省略されるため転送量が削減され、結果としてページの読み込みが速くなる、というのが一般的な説明かと思います。 304 レスポンスには転送量の削減以上のメリットがあります。それは Chrome (Chromium)の…
4ヶ月前

Repro における AWS アカウント分離の取り組み Part2
Repro Tech Blog
前回の記事から約300日経過しました。 はてなブックマークで AWS Organizations や IAM Identity Center についてコメント頂いていたので、回答しておきます。 コメントでも触れられていましたが Repro ではリセラーを通して利用しているので、リセラー管理下の Organizations で AWS アカウントが管理されています。 なので Repro では直接 AWS Organizations が利用できないので、合わせて IAM Identity Center も利用できていません。 色々ありますがリセラーの恩恵は大きいので、リセラーを通して利用しています…
4ヶ月前

Flutter Androidで発生する「3年越しの既知のクラッシュ」にどう立ち向かったか
Repro Tech Blog
こんにちは。App SDK Unitでエンジニアをやっている大島です。Reproでは多くのプラットフォームに対応したSDKを提供しており、それらの開発・保守を担当しています。 今回は、プラットフォームの1つであるFlutterにて発生したクラッシュと、その原因にたどり着いて対策するまでの事例を紹介します。 始まりはお客様からの「アプリが時々クラッシュする」というお問い合わせでした。詳しくヒアリングと調査を進めると、ある特定の条件下で発生することが分かってきました。 アプリ起動と戻るボタンを連続で繰り返すとクラッシュする Flutter Androidの環境下で、「アプリ起動→OSの戻るボタンを…
5ヶ月前

PoC文化を根づかせるには何が必要か? — 小さく作り、大きく売るSaaS組織のリアル
Repro Tech Blog
「PoCをやりましょう」 SaaS業界ではよく聞く言葉です。 しかし、PoCが売上や事業成果につながっている組織はどれくらいあるでしょうか。 PoCが“うまくいっていない”組織の共通点 多くの現場で、こんな状況が起きています。 ・PoCは実施したが、検証で終わり事例や商品にならない ・PoCの推進が一部のメンバーの頑張りに依存している ・「やった感」はあるが、売上にはつながらない PoCが目的化してしまっている状態です。 そのPoCは「PoC」なのか? ここで、少し立ち止まって考えたいのが、PoCという言葉の使われ方です。 本来のPoC(Proof of Concept)は 技術的・実現可能性…
5ヶ月前

機能開発チームによる自律的な SLO 運用と、SLO を考慮した新機能開発プロセスの整備
Repro Tech Blog
Development Division / Platform Team の伊豆です。 Repro では数年前から組織横断した SLO 運用の取り組みを進めています。 Repro における組織横断した SLO 運用のはじまり Repro における SLO の利用拡大 〜0→1のその後〜 これらの記事で紹介した通り、SLO 推進チームを発足し、主要機能に対する SLO の策定を進めてきました。今回はその次のステップとして、機能開発チームが SLO を自律的に策定・運用できるようになるまでの取り組みと、SLO を考慮した新機能開発プロセスの整備について紹介します。 SLO 活用の理想像 前回までの…
6ヶ月前

Repro における SLO の利用拡大 〜0→1のその後〜
Repro Tech Blog
Development Division / Platform Team の村上です。 Repro では数年前から組織横断の SLO 運用を始めています。 SLO 運用をはじめた話については、前回の記事「Repro における組織横断な SLO のはじまり」で紹介しました。 今回はその続編で、SLO 運用における 0→1 が終わった後にどのような活動を進めていったのかを紹介します。 SLO の利用拡大へ向けて 組織横断で運用する最初の SLO が完了した後、暫くしてから今後の方針を検討しました。 SLO を推進していくことは前提として、次の半期で誰が何をどのように進めていくか、について最初の S…
6ヶ月前

Repro における組織横断した SLO 運用のはじまり
Repro Tech Blog
Development Division / Platform Team の村上です。 Repro では、数年前から組織横断した SLO を運用する取り組みを進めてきました。 ここでいう「組織横断」とは、特定のチームや自部署内に閉じて運用するのではなく、部署を跨いだ共通の信頼性指標として SLO が運用できていることを指しています1。 あるユーザー体験において、SLO やエラーバジェットポリシーの同意が部署間で得られている状態、とも言えます。 SLO 運用に関連する部署は、私が所属する Development(以降 Dev) と Customer Success(以降 CS) になります。 C…
6ヶ月前

ReproでのApache Icebergの技術検証結果
Repro Tech Blog
Reproでチーフアーキテクトとして仕事をしている橋立(joker1007)です。 今回、本番環境への導入を視野に入れてApache Icebergを実際に業務データで検証しました。 この記事ではその検証内容と結果について共有したいと思います。 Icebergについて IcebergはOpen Table Formatと呼ばれているデータフォーマットの一つで、クラウド環境で効率よくデータ分析を行うためのデータフォーマットとして開発が進んでいます。 Icebergの様なOpen Table Formatは単一のファイルによるデータ構造ではなく、複数のファイルとそのメタデータの管理機構が合わさった…
7ヶ月前

戦略的リスクを取るためのロードマップ策定術【AWS Roadmap Acceleration Program に参加しました: 後編】
Repro Tech Blog
Repro Boosterのプロダクトマネージャー、Edward Foxです。 以前の記事(Repro Booster が AWS Roadmap Acceleration (RAP) プログラムに参加しました)でもご紹介した通り、BoosterチームとしてAWSのRoadmap Acceleration (RAP) というプログラムに参加する機会をいただきました。事前の質問回答に加えAWSのオフィスで約2時間の同期セッションを行い、事業やプロダクト開発の現在地、将来の展望、そして現在の課題や今後の戦略について、非常に密度の濃いディスカッションをすることができました。 そのディスカッション内容…
7ヶ月前

Railsアプリケーションで利用しているコンテナベースイメージのOSをアップデートした際に発生した問題とその対処
Repro Tech Blog
はじめに こんにちは。Repro Teamでエンジニアをしている矢作です。 Reproには入社して約2ヶ月程になります。 Repro というシステムのうち、マーケターの方々が利用する管理画面は Ruby on Rails で構築されており、現在は ECS (Amazon Elastic Container Service) 上で稼働しています。 先日、この Rails アプリケーションを動かしているコンテナのベースイメージのOS(Debian)を Busterから Trixie へアップデートした際に、アップデート自体は問題なく完了したものの、タイムゾーン関連でニッチな不具合に遭遇しました。 …
7ヶ月前

React Native New Architectureをサポートしました
Repro Tech Blog
こんにちは。App SDK Unitでエンジニアをやっている大島です。Reproでは多くのプラットフォームに対応したSDKを提供しており、それらの開発・保守を担当しています。 さて、プラットフォームの1つであるReact Nativeですが、v0.74からNew Architectureがデフォルトで有効になりました。 これにより、「いざ有効にしてみたら、利用していたライブラリが動かなくなった」という経験をした方もいるのではないでしょうか。 私たちのSDKも例外ではなく、同様の課題に直面しました。しかし、当時は対応事例がほとんど見つからず、手探りで実装を進めることになりました。 この記事では、…
8ヶ月前

リスクと踊るためのアジャイル開発
Repro Tech Blog
こんにちは、Repro Boosterの開発責任者・プロダクトマネージャーの Edward Fox です。全国的に長く続いた酷暑も少し落ち着きを見せ始め、朝晩は涼しく感じるようになってきましたね。 はじめに 2021年からプロトタイプ開発を始めたRepro Boosterですが、2022年の8月頃に正式なプロジェクト・チーム化しました。開発チームにはRepro社歴が長いメンバーも多く、チームが組成されてからこれまで大きな入れ替わりもなく開発を行ってきたのもあり、非常に安定した組織運営ができていると感じています。 これ自体は素晴らしいことであり、チームの成熟度が高い証でもあります。しかしながら、…
9ヶ月前

Kafka のパーティションとの付き合い方
Repro Tech Blog
Platform Team/Core Unit の村上です。 Repro は分散メッセージングシステムである Kafka を用いたイベント駆動アーキテクチャで構築されています。 私が所属している Core Unit は、Repro のコアとなる基盤を支えているチームであり、Kafka のストリームアプリケーションを日常的に扱っています。 私は Repro に入ってから Kafka のストリームアプリケーションを触るようになりましたが、一般的な Web API や Worker アプリケーションの実装とは異なるマインドセットが求められると感じます。 その中で特に重要だと考えているのが Kafka…
10ヶ月前

Reproで実感したスケーラブルな世界の入口
Repro Tech Blog
こんにちは。新規事業部門でエンジニアをやっている重本です。2025年5月にReproへ入社し、この記事を書いている今でちょうど3ヶ月が経ちました。 わずか3ヶ月ながらも、プロダクトの一部を担う責任や、技術的に解くべき課題の難しさ、そしてそれらを支える人や文化に、日々驚きと学びの連続でした。入社を検討している方や、同じような課題意識を持つ方の参考になればと思い、この記事を書くことにしました。 入社経緯 私はこれまでSESを中心に、複数の会社・案件で開発を経験してきました。ある程度のアプリケーションは作れるようになってきた反面、「この先、エンジニアとして何を積み上げていけば良いのか?」という漠然と…
10ヶ月前