UPSIDER Tech Blog

法人カード基盤の外部提供にも耐えうる不正利用対策基盤の構築

1. 導入 こんにちは、UPSIDER 不正利用対策(Anti-Fraud)チームのRyutaroです。 Anti-Fraudチームは、その名の通り不正利用対策を専門に担うチームですが、実際の守備範囲は「不正検知」だけに留まりません。3Dセキュア認証によるカード利用者の本人確認、…

AIが実装しレビューする時代に、プロダクトエンジニアは何をするのか

はじめに こんにちは、お客様向け管理画面チーム(以下、Irisチーム)TLのakariです。法人向けカード基盤提供事業において、BFF兼オーケストレーターに位置づけられるサービス(社内通称Iris)の開発をしています。Irisチームは、社内の基盤サービスを駆使し…

UPSIDERのカード基盤を「外部提供できる形」にするまで——マイクロサービス化とマルチブランドアーキテクチャ

EMのmitsuiです。UPSIDERは2025年7月、法人カード基盤の外部提供を発表しました。自社ブランドのカードを立ち上げられるこのプラットフォームは、どのように設計・構築されたのか。マイクロサービスへの分割と、マルチブランド対応のアーキテクチャを、実装…

仕様から手を取り合う ―POとQAの早期協働で品質とチームを守るプラクティス―

はじめに UPSIDERでPOをしているterryです! このblogは、CfPで落選してしまったネタを供養するものです。 早速ですが、みなさんこんな経験はありませんか? リリース間近となった時に、 「この挙動は期待通りですか?」 「追加のバグチケットが4件あります…

モバイルアプリのリリース時におけるシステム変更管理を自動化した話

はじめに こんにちは。 UPSIDERでモバイルアプリの開発を担当している App team です。 App team では現在、UPSIDER App と PRESIDENT CARD App の 2 つのモバイルアプリを開発しており、2週間のスプリントで定期的にリリースを行っています。 本記事では、…

Flutter で実現するカード券面の描画

こんにちは。 今回は UPSIDER でモバイルアプリの開発を担当している app team から、UPSIDER / PRESIDENT CARD アプリにおいて、カード券面をどのように描画しているのかについて紹介します。 カード券面の描画は、一見すると単なる UI 表示のように見えま…

サンタとトナカイのわくわくバグークリスマス 🎄✨

こんにちは!PRESIDENT CARDチームでQAを担当しているmizukiです。 この記事は、UPSIDER Tech アドベントカレンダー 2025の12月17日公開の記事です。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、それぞれのチームメンバ…

CTO歴10年の節目に向き合った「役割の再定義」——UPSIDER入社時に整理したCTOタスクマップ

こんにちは、UPSIDERで支払い.com事業部のCTOを努めている赤沼です。 この記事は、UPSIDER Tech アドベントカレンダー 2025の12月23日公開の記事です。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、それぞれのチームメン…

金融インフラへと進化するために、変化に強いプロダクトを作る舞台裏

こんにちは、UPSIDERでエンジニアリングマネージャーを務めている小池です。 この記事は、UPSIDER Tech アドベントカレンダー 2025の12月17日公開の記事です。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、それぞれのチ…

なぜ私は「課題」ではなく「解決策」に恋をしてしまったのか

こんにちは!法人カード「UPSIDER」(以下、UPSIDERカード)開発チームでPdMをしているShoheiです。これは、UPSIDER Tech アドベントカレンダー 2025の16日目の記事です。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、そ…

UPSIDERと私とGo言語〜3年半のGo勉強会の歴史と変遷〜

みなさん、こんにちは! UPSIDERでエンジニアリングマネージャーをしていますMikiです。 この記事は、UPSIDERのTech Advent Calendar 2025の12月15日公開の記事です。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、それぞ…

PoCで終わらせない。PRESIDENT CARDにおける「AIネイティブ」な開発フロー

こんにちは!PRESIDENT CARDでソフトウェアエンジニアをしているアダチ(@dikxs118)です。 PRESIDENT CARDではAI活用が非常に盛んで、ChatGPTやClaudeはもちろん、Gemini, GitHub Copilot, Devin, v0, Cursorなど... エンジニアは自分に合ったAIツールを選び…

タイピング、(一部)やめました - 生成 AI 時代の音声入力活用術

本記事は UPSIDER Tech Advent Calendar 2025 の12月9日公開の記事になります。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、それぞれのチームメンバーが日替わりでさまざまな内容をお届けします。 Techはこちら: UPSID…

不確実性の中でUPSIDERカードチームが「悩みながら選び続ける」4つのトレードオフ

こんにちは、法人カード「UPSIDER」(以下、UPSIDERカード)開発チームのShunsukeです! これは、UPSIDER Tech アドベントカレンダー 2025の12月8日公開の記事です。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、それぞ…

QAエンジニアが考える「見やすさ」の追求

こんにちは、株式会社UPSIDERでQAエンジニアをしているkitazawaです。 これは、UPSIDER Tech アドベントカレンダー 2025の5日目の記事です。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、それぞれのチームメンバーが日替…

法人カードの不正利用対策に挑む:その難しさと面白さ

本記事は UPSIDER Tech Advent Calendar 2025 の3日目の記事になります。 2日目のAnti-Fraud(不正利用対策)チームの Tech Lead の Sho さんに引き続き、Anti-Fraud チームの EM のRyutaroが担当します。ぜひ2日目の記事もご覧ください! UPSIDERのアドベン…

リアルタイム決済を支えるAnti-Fraudシステム開発の1年

こんにちは、Anti-Fraud(不正利用対策)チームのTech LeadのShoです。 これは、UPSIDER Tech アドベントカレンダー 2025の2日目の記事です。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、それぞれのチームメンバーが日…

KotlinアプリのCIを並列化して実行時間を27%短縮した話

はじめに こんにちは。UPSIDERのカード事業でバックエンド開発を担当している三井です。 これは、UPSIDER Tech アドベントカレンダー 2025の1日目の記事です。 UPSIDERのアドベントカレンダー2025 では、Tech・Corporate・Bizの3つに分かれて、それぞれのチ…

作って学ぶMySQLプロトコル

カード事業部でバックエンドエンジニアをしている Mimura です。弊社ではマイクロサービスごとに要件や特性に合ったデータベースが選定されますが、私の関わるサービスではMySQLが選定されることが多いです。 普段は database/sql や ORMライブラリを通じて…

「あれ?Localでは動くのにDockerではKtorが起動しない」原因を追ってOSSに貢献した話 〜Ktor ConfigLoaderのハマりポイントと解決まで〜

こんにちは!PRESIDENT CARDというプロダクトのエンジニアをしていますRyuheiです! 最近の個人的ニュースは、Kubestronautになれたことです。ジャケットが届いたら、それを着て散歩かランニングでもしてみようかなと思います。 prtimes.jp Ktor 突然ですが…

Flutterと歩んだ僕たちの最高のアプリの作り方

なぜUPSIDERは「アプリ体験」にこだわるのか 株式会社UPSIDERが提供する法人カードサービスには、2つのアプリが存在する。 ひとつは、経理担当や従業員が日常業務で使う法人カード「UPSIDER」(以下、UPSIDER)のアプリ。 もうひとつは、会社オーナーや経営…

Cloudflare Workers + Honoで作るシンプルなURL短縮サービス

支払い.com事業本部でモバイルアプリエンジニアをしているTominagaです。 なぜCloudflare Workersを選定したのか 技術選定の背景 私たちのチームではCloudflareとGoogle Cloudを中心に技術スタックを構築しています。URL短縮サービスの実装にあたり、以下の…

「開発環境をパッケージングする。"ワタシノカンキョウデハウゴクノニ..."を撲滅する - なぜDev containersでなくDevboxなのか」

こんにちは、UPSIDERで請求関連機能の開発を担当しているチームです。 昨今はAI技術の活用が急速に進み、猫も杓子もAI ┗(゚ Д゚ )┛ワッショイ ┗( ゚Д ゚)┛ワッショイ ┗(゚ Д゚ )┛ という世の中で、個人の生産性が高まっていますが、金融領域らしく「複利の力」を意識し、日々…

UPSIDERの“見えない防衛線”を担う──入社3ヶ月で見えてきたQAの視点

はじめに はじめまして。UPSIDERでQAエンジニアをしているKazukiです。 UPSIDERに入社してから約3ヶ月が経ち、現在は不正利用対策を専門に行う「Anti-Fraudチーム」でQAを担当しています。 Anti-Fraudチームでは、UPSIDERのカードサービスを安全に利用しても…

Flutter Golden Test の実践的な導入と運用

はじめに こんにちは。 今回はUPSIDERでモバイルアプリの開発を担当しているApp teamから、Golden Testの実践的な導入と運用について紹介します。 App teamでは開発効率と品質向上の両立を目指しており、全ての画面でGolden Testを活用し、80を超える画面でU…

Workload Identity FederationをGKEに導入しセキュリティを強化する

こんにちは、UPSIDER Anti-Fraud チームの小針です。 UPSIDERでは、Google CloudにおけるKubernetesクラスタのマネージドサービスであるGKEを活用し、サービスの成長に伴い多くのワークロード(Kubernetes上で稼働するアプリケーション)を稼働させています…

Diversity & Inclusion at UPSIDER / UPSIDERにおける多様性とインクルージョン

1. An Autumn of Technology and Togetherness Hello! As autumn settles in over Chiba, the cool breeze feels refreshing, and the trees are slowly beginning to change color — a quiet reminder of the beautiful season ahead. Inside our office, t…

「git worktree × mise」による開発環境構築

はじめに こんにちは。カード事業部でバックエンドエンジニアをしているMitomiです。 近年、AIエージェントの普及により、エンジニアの開発効率は飛躍的に向上しています。私自身も Cursor や Claude Code を複数同時に起動し、AIに作業を任せつつ自分は別の…

金融事業の裏側を支える──UPSIDERの事業特性から逆算するインフラ設計

こんにちは。Dev HRのNarisaです。 ファインディ株式会社さん主催で開催された「インフラアーキテクチャ選択のジレンマー5社の設計思想と意思決定のリアル」に当社エンジニアの金正が登壇しましたので、その内容をまとめたレポートをお届けします。 findy-to…

UPSIDERアプリにおける PAN 入力フィールドの工夫

こんにちは。 今回は UPSIDER でモバイルアプリの開発を担当している app team から、クレジットカード番号(PAN: Primary Account Number)を入力するためのテキストフィールドに関して、UX を高めるために UPSIDER アプリで行っている実装上の工夫について…