ケーススタディ · 2021—現在

エンジニアからプロダクトデザイナーへ、同じプロダクトで。

AI契約書レビューSaaSのデザイン基盤再構築とロール移行を、同じチームに5年以上在籍しながら進めた事例。トークンベースのデザインシステム導入、Vue → Next.js移行、FEエンジニアからプロダクトデザイナー + PdMへ。

期間

2021 — 現在
5年以上

ロール

FEエンジニア →
プロダクトデザイナー + PdM

スタック

Next.js, TypeScript,
Figma, Dev Mode

チーム

1—10名
リーガルテックSaaS

実顧客を抱えたプロダクトが、初期UIの限界に近づいていた。

株式会社リセは、日本の法務チーム向けにAI契約書レビューを提供するリーガルテックスタートアップ。参画時点でプロダクトには実顧客と相応の複雑性があり、UIは機能追加の中で有機的に成長していた一方で、Vueのコードベースは「足す」より「進化させる」方が難しい状態だった。

FEエンジニアとして実装に従事しながら、より大きなレバレッジはチームがUIや意思決定をどう形作るかという上流にあると見えてきた。この気付きが、ロールをプロダクトデザインとPdMへ移していった。

画面単位の改善だけでは、チームの速度は戻らない。

表面的にはプロダクトは動いていたが、内部では4つの要因がチームを継続的に遅らせていた。

プロダクトを止めずに、共通語彙とUIスタックを作り直す。

「全部書き直すために手を止める」選択肢はなかった。各ステップが、前よりリリース可能なプロダクトを残すことを条件にした。

共通言語としてAtomic Designを導入

コードに手を入れる前に、チームにはUIを語る共通言語が必要だった。Atomic Designを思想ではなく語彙として導入。Atom・Molecule・Organismが揃うと、デザイナーとエンジニアが同じ名詞でUIを語れるようになり、既存UIは再利用可能なパーツへ整理されていった。

Atoms
Molecules
Organisms
Templates
Pages
Fig 01 — デザイナーとエンジニアの共通語彙としてのAtomic Design。

Raw → Semantic の二層トークンを設計

Rawトークンはブランドのプリミティブ(hex / pxの値)を、Semanticトークンは意図(この色は何を意味するか)を表現。コンポーネントはSemanticトークンのみを参照するため、ダーク/ライトモードやブランド調整、アクセシビリティ対応は1レイヤーで完結する。

Rawトークン
Semanticトークン
brand-pink-500
→
accent
gray-950
→
surface-canvas
gray-100
→
text-primary
gray-500
→
text-muted
Fig 02 — 二層トークンモデル。コンポーネントはSemantic層のみを参照する。

Vue → Next.js移行の軸をデザインシステムに置く

移行は常にリリース可能なフェーズに分割。新規機能はNext.jsで、レガシーVueはフィーチャーフラグの裏で画面単位に移行。共通UIプリミティブは社内パッケージとして切り出し、両スタックが同じコンポーネントを共有できるようにした。フレームワークではなくデザインシステムを移行の軸に置いたのが意思決定の核だった。

PHASE 01
コンポーネント棚卸し & Atomic Design
既存UIを棚卸しし、Atom/Molecule/Organismに分類、ギャップを文書化。
PHASE 02
Figma上で Raw → Semantic トークン
Figma Variablesで二層トークンモデルを構築し、Dev Modeでのハンドオフをリリース。
PHASE 03
Next.js + 共通パッケージ
新規機能でNext.jsを採用、共通UIプリミティブをGitHub Packagesに切り出し、Vue/Next両方で共有。
PHASE 04
PdM視点で新規プロダクト面を設計
新規AIレビューワークフローについて、要件定義・Figmaデザイン・デザインシステム運用を担当。
Fig 03 — 移行フェーズ。各段階で「リリース可能」を維持する。

機能コードではなく、プロダクトデザインをリードする

基盤が安定するに従い、ボトルネックは「どう作るか」から「何を、なぜ作るか」に移った。新規プロダクト面ではプロダクトデザイナー + PdMとして、要件定義・Figmaデザイン・デザインシステム運用、実装フェーズでの伴走までを担当。直接機能コードを書く機会は減ったが、エンジニアリングのバックグラウンドはコンポーネント・状態・トークンの粒度設計、そして「Figmaが他者の手でそのまま実装可能なコードに落ちる」設計に効き続けている。

基盤づくりは、プロダクトデザインの仕事へつながった。

5年+
同一プロダクトに在籍、ロールを進化
2 → 1
UIスタックがNext.jsに集約
1レイヤー
テーマ・ブランド変更が完結する場所

Figmaが、そのまま実装の会話に入れる状態を作る。

このプロジェクト以降、デザインの完成度は画面の見た目だけでは判断しない。コンポーネントの粒度、状態の持ち方、トークンの命名、実装時に迷う余白がどれだけ減っているかまで含めて設計と捉えている。エンジニアとしての経験は、デザインをコードへ翻訳するためではなく、最初からコードに落ちる構造で考えるために使っている。