作品 02 · 案例研究Work 02 · Case study

Gate 是阶段评审关口。PM Gate 把项目状态、交付物和评审放在同一处。A gate is a stage review. PM Gate brings project status, files and reviews together.

≈ 1 分钟速览 · ≈ 7 分钟上手 · 数据全部虚构,刷新即重置≈ 1 min skim · ≈ 7 min hands-on · all data fictional, resets on refresh

为什么是黄的 · AX10-B2Why yellow · AX10-B2
进行中6健康0关注5阻塞1待评审0逾期交付格16
AX10-B2点 G3 看原因Electric Oil PumpHalcyon Motors · Daniel Wu
进行中⚠ 1 逾期
ZR305Coolant Pump ModuleNordfjell · Sophie Zhang
进行中⚠ 2 逾期
M-Line Gen2Thermal Management ValveAurora EV · Daniel Wu
进行中⚠ 4 逾期
Active6Healthy0Watch5Blocked1To review0Overdue cells16
AX10-B2Tap G3 to see whyElectric Oil PumpHalcyon Motors · Daniel Wu
Active⚠ 1 overdue
ZR305Coolant Pump ModuleNordfjell · Sophie Zhang
Active⚠ 2 overdue
M-Line Gen2Thermal Management ValveAurora EV · Daniel Wu
Active⚠ 4 overdue
试试点那颗黄点。Try itClick the yellow dot.

这颗点不是谁涂上去的。它是算出来的。Nobody painted this dot. It was computed.

1 分钟速览ONE-MINUTE OVERVIEW

让项目状态有据可查Make project status explainable

问题:计划、评审结论和文件分散,颜色有了,原因却要到处问。我的职责:独立完成产品设计、业务规则、开发与维护。

The problem: scattered plans, verdicts and files made a colour easier to find than its cause. My role: product design, business rules, development and maintenance, end to end.

已投入使用,项目经理和部门可在同一处核对交付状态。

In use: project managers and departments can check delivery status in one place.

  1. ① 颜色现算1 · Derive the colour健康变了,当前 Gate 和看板一起变。Health, the current gate and the dashboard stay in sync.
  2. ② 改动留痕2 · Keep the reason改评级先写原因,再滑动确认。Record a reason, then slide to confirm a rating change.
  3. ③ 一个交付口径3 · Share one definition两种身份看同一份数据,权限各有边界。Two roles share data with distinct editing permissions.
  4. ④ 日期有锚点4 · Anchor the dates评审日期一改,依赖它的计划随之更新。Move a review date and its dependent plan dates follow.

颜色在说话,但没人知道它为什么这么说The colours talk. Nobody can say why.

做 Gate 评审,材料天然是分散的:日期在计划表里,结论在会议纪要里,文件在各个部门手里。一颗黄点能告诉你「有问题」,却答不出是谁、什么时候、从什么变成什么、为什么。想知道一个项目卡在哪,往往要问好几个人。

Stage-gate work scatters by nature: dates live in the schedule, verdicts in the minutes, files with each department. A yellow dot can tell you something is wrong, but not who changed it, when, from what, or why. Finding out where a project is stuck usually means asking several people.

同一颗黄点 · AX10-B2 · G3The same yellow dot · AX10-B2 · G3
汇报页 · 项目状态AX10-B2

汇报页上的黄:只有一个颜色

PM GateAX10-B2 · G3 工装样件

PM Gate 的黄:点开就是来龙去脉

Status slideAX10-B2

Yellow on a slide: just a colour

PM GateAX10-B2 · G3 Off-tool

Yellow in PM Gate: click it for the whole story

试试两颗点各点一下。Try itClick both dots.

整个产品,装在一扇窗里The whole product, in one window

先从仪表盘查看项目,再进入评审、交付物或开发计划;也可以切换到部门负责人的视角。六个页面,两种身份,共用一份数据。在这里改动,后面的演示和回执都会跟着变。

Start with a project on the dashboard, then explore its reviews, files or plan. Switch to a department lead’s view, too. Six pages and two roles share the same data; changes here also update the demos below and your receipt.

整个产品 · 六个页面 · 两种身份The whole product · six pages · two seats
PM Gate

项目仪表盘

健康项目0占 0%
关注项目5占 83%
阻塞项目1占 17% · 需立即处理
待评审0占 0%
逾期项目6共 16 个逾期交付格

前四块按每个项目「当前 Gate 的显示评级」分档:通过算健康,有条件算关注,未通过算阻塞,还没评审算待评审;四块相加 = 当前筛选下的 6 个项目。「逾期项目」是横切统计:有逾期交付格的项目数,会和前四块重叠,不参与相加。卡片墙列出有完整档案的虚构项目;业务数据看板另含只有汇总字段的演示行。

Aurora EV (1)

投放风险投放 2026-12

Corvina (1)

投放风险投放 2027-12

Halcyon Motors (2)

投放风险投放 2028-04
投放风险投放 2027-09手动

Nordfjell (1)

投放风险投放 2028-09

Solis Vanta (1)

投放风险无风险
PM Gate

Programs

Healthy00% of these
Watch583% of these
Blocked117% of these · act now
To review00% of these
Overdue616 overdue cells

The first four tiles sort each program by the rating its current gate shows: Passed counts as healthy, Conditional as watch, Not passed as blocked, not reviewed yet as to review. Together they add up to the 6 programs in the current filter. Overdue cuts across them: programs with at least one overdue file cell, so it overlaps the other four and is not added in. The wall lists the fictional programs with full records; the business data board also has summary-only demo rows.

Aurora EV (1)

Launch riskLaunch 2026-12

Corvina (1)

Launch riskLaunch 2027-12

Halcyon Motors (2)

Launch riskLaunch 2028-04
Launch riskLaunch 2027-09Manual

Nordfjell (1)

Launch riskLaunch 2028-09

Solis Vanta (1)

Launch riskNo risk
试试从产品导航切换页面;「换椅子」可切换到部门负责人的视角。手机上导航位于窗口顶部。Try itUse the product navigation to switch pages; “Switch seat” opens a department lead’s view. On phones, navigation sits at the top of the window.侧栏把项目页、矩阵和计划做成了直达入口;产品里它们从项目卡点进去。For this demo the sidebar links straight to the project pages; in the product they open from a project card.

难点不是画图,是口径The hard part wasn’t the charts. It was the definitions.

我以为难点是把图画出来。做下去才发现,真正难的是让每个人对「逾期」「红」「交齐」只有一个定义。

I thought the hard part would be drawing the charts. It turned out to be getting everyone to share one definition of “overdue”, “red” and “complete”.

这三句话,在代码里各只写在一处。Each of these lives in exactly one place in the code.

决策 ①Decision 1

当前 Gate 的颜色,不另存。Derive the current gate’s colour.

Gate 颜色不另存,每次显示时现算The gate colour isn’t stored. It’s computed every time it’s shown.

如果 Gate 的颜色和健康各存一份,就得有人记着同步它们。迟早会出现「质量已经红了,Gate 还挂着绿灯」。所以当前 Gate 的颜色不落库:七项健康里有红就红,有黄就黄,都没有才看评审结论。连手改的结论也要让位,因为它反映的是评审那天,健康反映的是今天。这条规则只写在一处,卡片、彩条和看板都调用它。

Store the gate colour and the health checks separately and someone has to keep them in sync — sooner or later quality is red while the gate still shows green. So the current gate’s colour is never saved: any red health check makes it red, any yellow makes it yellow, and only otherwise does the review verdict show. Even a manual verdict gives way, because it describes the review day and health describes today. The rule lives in one place; the cards, the gate bar and the dashboard all call it.

图 1 · 健康 → Gate · AX10-B2Fig. 1 · Health → gate · AX10-B2

跨职能健康点一下切换:绿 → 黄 → 红 → 不适用

Gate 评级

由跨职能健康推得(进度、供应链)

仪表盘卡片

AX10-B2Electric Oil Pump

Cross-functional healthClick to cycle: G → Y → R → N/A

Gate ratings

Derived from cross-functional health (Timing, Supply chain)

Dashboard card

AX10-B2Electric Oil Pump
试试点「质量」,看 G3 和卡片上的点在同一帧变色。Try itClick “Quality” and watch G3 and the card dot change in the same frame.

决策 ②Decision 2

改颜色,先说为什么。Change a colour, say why.

改评级,先留原因,再滑动确认Record a reason, then slide to confirm a rating change

一个颜色会影响所有人对项目的判断。所以每次改动都要写一句为什么(不超过 100 字),并永久留在变更链里:第几次、从什么到什么、谁、精确到秒。第一次设定算补录,不要求原因。确认用滑动,不用「再点一次」:二次确认的按钮恰好出现在指针底下,手快的人连点两下就穿过去了。

A colour shapes how everyone reads a project, so every change needs a one-line reason (100 characters at most) and stays in the change chain for good: which change it was, from what to what, who made it, to the second. Setting a colour for the first time counts as data entry and needs no reason. Confirming is a slide, not a second click: a confirm button appears right under the pointer, and a quick double-click goes straight through it.

图 2 · 改评级 → 原因 → 变更链 · AX10-B2Fig. 2 · Rating → reason → change chain · AX10-B2
Gate 评级右键格子,或点 ✎

由跨职能健康推得(进度、供应链)

颜色变更总览悬浮或聚焦箭头看原因

G0报价
原始未评审
通过首次设定 · Daniel Wu
G1立项
原始未评审
有条件首次设定 · Daniel Wu
G2投资
原始未评审
未通过首次设定 · Daniel Wu
通过Daniel Wu · 55 天前
G3工装样件
原始未评审
G4量产准备
原始未评审
G5量产移交
原始未评审

对照小实验

「再点一次确认」
滑动确认

快速双击左边的按钮试试

Gate ratingsRight-click a cell, or tap ✎

Derived from cross-functional health (Timing, Supply chain)

Colour change overviewHover or focus an arrow for the reason

G0Quote
OriginalNot reviewed
PassedFirst setting · Daniel Wu
G1Approval
OriginalNot reviewed
ConditionalFirst setting · Daniel Wu
G2Investment
OriginalNot reviewed
Not passedFirst setting · Daniel Wu
PassedDaniel Wu · 55 d ago
G3Off-tool
OriginalNot reviewed
G4Launch
OriginalNot reviewed
G5Handover
OriginalNot reviewed

Side-by-side test

“Click again to confirm”
Slide to confirm

Try double-clicking the left button quickly

试试右键 G2(或点格上的「改评级」),写一句原因,把滑块拖到头。Try itRight-click G2 (or tap “Change rating”), write a reason, then slide to confirm.

决策 ③Decision 3

「逾期」只有一种算法。“Overdue” has one formula.

两把椅子,看同一个格子Two seats, one cell

两把椅子是两种角色:项目经理和部门负责人,看的是同一份底层状态。文件矩阵的每一格只回答一个问题:这个部门在这道 Gate 该交的,交了没有。有底色说明有事要管,没底色说明还轮不到你。先数关键件;一个关键件都没有的格子才按全部件数,否则 0/0 会凭空变绿。项目经理和部门看到的是同一份数据:部门交了一份,项目经理那格立刻变;部门说「期限赶不上」,系统先停止催他,等项目经理看过再说。

The two seats are two roles, a program manager and a department lead, looking at one underlying state. Each cell of the file matrix answers one question: has this department delivered what this gate needs? A tint means something needs attention; no tint means it isn’t your turn yet. Critical files are counted first; only a cell with no critical files falls back to counting all of them — otherwise 0/0 would turn green out of nowhere. The PM and the department read the same data: when the department uploads, the PM’s cell changes at once; when they say they can’t make the date, reminders pause until the PM has read it.

图 3 · 文件矩阵 · 九态 · AX10-B2Fig. 3 · File matrix · nine states · AX10-B2
文件提交矩阵AX10-B2现在:Daniel Wu · 项目管理
部门G0报价G1立项G2投资G3工装样件G4量产准备G5量产移交
项目管理
1/1
2/2
1/1
1/1
0/1
0/1
销售
2/2
0/1
1/1
0/1
0/0
0/1
工程
1/1
1/1
1/1
1/3
0/1
0/1
供应链
1/1
1/1
1/1
0/2
0/1
0/1
制造
—
1/1
1/1
1/2
0/1
0/1
质量
1/1
1/1
1/1
0/1
0/2
0/1
未到12今日到期1逾期1不到一半1过半1交齐17已通过 · 不再催1待定条目1不需提交1
派给我 · ◆ 关键AX10-B2 · G3 工装样件
  • 供应商 PPAP 资料◆ 关键
    期限 10.04已逾期 5 天
    ⏸ 已反馈,暂停催办,等项目经理处理
    反馈原文

    期限赶不上 · 供应商 PPAP 资料下周才能齐,申请顺延一周。

  • 供应商产能评估◆ 关键
    期限 10.11还剩 2 天 5 小时

只列派给你的条目。你交一份,项目经理那一格立刻变。

往期已交 · 4 份
  • 长周期物料清单.pdfG2 投资 · v1 · 66 天前
  • 模具订单.pdfG2 投资 · v1 · 66 天前
  • 供应商定点清单.pdfG1 立项 · v1 · 141 天前
  • 关键物料询价.pdfG0 报价 · v1 · 216 天前
File matrixAX10-B2Now: Daniel Wu · Program Mgmt
DepartmentG0QuoteG1ApprovalG2InvestmentG3Off-toolG4LaunchG5Handover
Program Mgmt
1/1
2/2
1/1
1/1
0/1
0/1
Sales
2/2
0/1
1/1
0/1
0/0
0/1
Engineering
1/1
1/1
1/1
1/3
0/1
0/1
Supply Chain
1/1
1/1
1/1
0/2
0/1
0/1
Manufacturing
—
1/1
1/1
1/2
0/1
0/1
Quality
1/1
1/1
1/1
0/1
0/2
0/1
Not yet12Due today1Overdue1Under half1Over half1Complete17Passed · no reminders1To define1Not required1
Assigned to me · ◆ criticalAX10-B2 · G3 Off-tool
  • Supplier PPAP documents◆ critical
    Due Oct 45 days overdue
    ⏸ Feedback sent — reminders paused until the PM reads it
    What you wrote

    Can't make the date · Supplier PPAP documents won't be complete until next week; asking for a one-week extension.

  • Supplier capacity assessment◆ critical
    Due Oct 112 d 5 h left

Only what is assigned to you. Deliver one and the PM’s cell changes at once.

Delivered at earlier gates · 4
  • Long-lead parts list.pdfG2 Investment · v1 · 66 d ago
  • Tooling purchase order.pdfG2 Investment · v1 · 66 d ago
  • Supplier nomination list.pdfG1 Approval · v1 · 141 d ago
  • Key material RFQ.pdfG0 Quote · v1 · 216 d ago
试试拖动「今天」,再坐到供应链 Leo 的椅子上交一份文件。Try itDrag “today”, then take Leo’s seat in supply chain and upload a file.演示版规则有简化:按自然日算,格子的期限取没交条目里最早的一条。The demo rules are simplified: calendar days, and a cell’s due date is the earliest open one.

决策 ④Decision 4

日期是关系,不是数字。A date is a relationship, not a number.

计划里的每个日期,都锚在数据源上Every date in the plan hangs off a source

开发计划里写的不是「3 月 12 日」,而是「OTS 前 120 天」。客户一改 OTS,整张计划自己重排,没有人需要再手工挪一遍。拖动一条,改的也只是偏移天数,所以拖完它仍然跟着数据源走。拖到相邻行端点 3 天以内会自动接上;拖手柄至少留 1 天,不会出现倒置的条。数据源缺了,依赖它的行就不画,而是列出来,不去猜一个日期。

The plan doesn’t say “12 March”; it says “120 days before OTS”. When the customer moves OTS, the whole plan reflows and nobody re-drags a thing. Dragging a bar only changes its offset, so it keeps following its source afterwards. Within three days of a neighbour’s end it snaps on, and a bar always keeps at least one day, so it can never turn inside out. If a source date is missing, the rows that depend on it aren’t drawn — they’re listed instead of guessed.

OTS = 工装样件;PPAP = 生产件批准;SOP = 量产开始。排期是演示用的示例模板。

OTS = off-tool sample; PPAP = production part approval; SOP = start of production. The schedule is a sample template for this demo.

图 4 · 锚点甘特 · AX10-B2Fig. 4 · Anchored plan · AX10-B2
开发计划AX10-B2每个日期 = 锚点 + 偏移天数
里程碑
OTS
PPAP
SOP
设计与样件
A 样件制作已完成
工装模具开发
DV 设计验证试验
软件
软件 B 版(全功能)
产线
设备与工装安装调试
试生产与爬坡
批准
PV 验证与 PPAP 提交
客户批准
缺数据源0
Development planAX10-B2Every date = anchor + offset in days
Milestones
OTS
PPAP
SOP
Design & samples
A-sample buildDone
Tooling development
DV design verification
Software
Software B (full)
Production line
Equipment install & debug
Trial runs and ramp-up
Approval
PV & PPAP submission
Customer approval
Missing source0
试试把 OTS 旗往右拖一个月。Try itDrag the OTS flag a month to the right.

汇流Convergence

一份数据,很多视图。One state, many views.

你在前面做的改动,都已经在这里了Everything you changed above is already here

看板没有自己的数据。环、柱、KPI 都从同一份项目数据现算,就是你在前面几块图版里改过的那一份。数字直接写在图上,不靠悬浮,因为看板常常是投在会议室的墙上看的;选中靠描边,不靠换色,因为颜色已经有业务含义了。

The dashboard has no data of its own. The ring, the bars and the KPIs are all computed from the same project data — the very data you changed in the demos above. Numbers sit on the chart rather than in tooltips, because dashboards get read off a meeting-room wall; selection is an outline rather than a colour, because colour already means something.

图 5 · 汇流看板 · 全部项目Fig. 5 · One-source dashboard · All programs
进行中
暂停
已完成
逾期交付格
进行中 18,暂停 2,已完成 3,逾期交付格 16
项目状态外圈是状态;内圈只细分进行中的项目,按当前评级
停在哪道 Gate每柱是当前停在这道 Gate 的项目,按当前评级堆叠
通过有条件未通过未评审

还没动过?回到决策 ① 改一项健康,再回来看。
数据表 · 23 行
项目客户PM级别状态当前 Gate当前评级SOP 年
HV Junction Box P2Solis VantaSophie ZhangL3进行中G0 报价有条件2028
Fan ShroudCorvinaKevin ParkL2进行中G0 报价未评审2029
Coolant ManifoldTessaroSophie ZhangL3进行中G0 报价未评审未定
ZR305NordfjellSophie ZhangL3进行中G1 立项未通过2028
Pump ControllerHalcyon MotorsDaniel WuL2进行中G1 立项通过2028
DC Link BusbarSolis VantaSophie ZhangL2进行中G1 立项有条件2028
Gear DamperKestrel MobilityKevin ParkL2进行中G1 立项未评审2029
Wren HybridCorvinaKevin ParkL2进行中G2 投资有条件2027
Gear Set PackBrightwaterDaniel WuL3暂停G2 投资有条件2028
Oil Cooler KitAurora EVSophie ZhangL3进行中G2 投资有条件2028
Pump Housing LHelvorKevin ParkL3暂停G2 投资有条件未定
Thermal PlateLumen DriveGrace LinL1进行中G2 投资通过2028
Inverter LidTessaroGrace LinL2进行中G2 投资未通过2028
AX10-B2Halcyon MotorsDaniel WuL2进行中G3 工装样件有条件2028
Inverter BusbarHalcyon MotorsGrace LinL2进行中G3 工装样件有条件2027
E-Drive CoverNordfjellGrace LinL1进行中G3 工装样件未通过2027
Rotor ShaftBrightwaterDaniel WuL2进行中G3 工装样件通过2027
M-Line Gen2Aurora EVDaniel WuL2进行中G4 量产准备有条件2026
Valve Body SAurora EVKevin ParkL3进行中G4 量产准备通过2027
Filter Housing MiniKestrel MobilityDaniel WuL3进行中G4 量产准备有条件2026
Motor Housing S3HelvorKevin ParkL3已完成全部通过通过2026
Sensor BracketCorvinaDaniel WuL3已完成全部通过通过2025
Seal CarrierLumen DriveSophie ZhangL3已完成全部通过通过2025
Active
On hold
Closed
Overdue file cells
Active 18, on hold 2, closed 3, overdue file cells 16
Program statusOuter ring: status. Inner ring: active programs only, by current rating
Where programs sitEach bar: programs at that gate now, stacked by current rating
PassedConditionalNot passedNot reviewed

Nothing changed yet? Flip a health check in Decision 1 and come back.
Data table · 23 rows
ProgramCustomerPMLevelStatusCurrent gateCurrent ratingSOP year
HV Junction Box P2Solis VantaSophie ZhangL3ActiveG0 QuoteConditional2028
Fan ShroudCorvinaKevin ParkL2ActiveG0 QuoteNot reviewed2029
Coolant ManifoldTessaroSophie ZhangL3ActiveG0 QuoteNot reviewedTBD
ZR305NordfjellSophie ZhangL3ActiveG1 ApprovalNot passed2028
Pump ControllerHalcyon MotorsDaniel WuL2ActiveG1 ApprovalPassed2028
DC Link BusbarSolis VantaSophie ZhangL2ActiveG1 ApprovalConditional2028
Gear DamperKestrel MobilityKevin ParkL2ActiveG1 ApprovalNot reviewed2029
Wren HybridCorvinaKevin ParkL2ActiveG2 InvestmentConditional2027
Gear Set PackBrightwaterDaniel WuL3On holdG2 InvestmentConditional2028
Oil Cooler KitAurora EVSophie ZhangL3ActiveG2 InvestmentConditional2028
Pump Housing LHelvorKevin ParkL3On holdG2 InvestmentConditionalTBD
Thermal PlateLumen DriveGrace LinL1ActiveG2 InvestmentPassed2028
Inverter LidTessaroGrace LinL2ActiveG2 InvestmentNot passed2028
AX10-B2Halcyon MotorsDaniel WuL2ActiveG3 Off-toolConditional2028
Inverter BusbarHalcyon MotorsGrace LinL2ActiveG3 Off-toolConditional2027
E-Drive CoverNordfjellGrace LinL1ActiveG3 Off-toolNot passed2027
Rotor ShaftBrightwaterDaniel WuL2ActiveG3 Off-toolPassed2027
M-Line Gen2Aurora EVDaniel WuL2ActiveG4 LaunchConditional2026
Valve Body SAurora EVKevin ParkL3ActiveG4 LaunchPassed2027
Filter Housing MiniKestrel MobilityDaniel WuL3ActiveG4 LaunchConditional2026
Motor Housing S3HelvorKevin ParkL3ClosedAll passedPassed2026
Sensor BracketCorvinaDaniel WuL3ClosedAll passedPassed2025
Seal CarrierLumen DriveSophie ZhangL3ClosedAll passedPassed2025
试试点一个状态芯片,环、柱和四个数一起滑到新值;再点环上的一片,看它是哪些项目。Try itPick a status chip and the ring, the bars and the four figures glide to their new values; then click a slice to see which programs it holds.

投入使用,也经得起动手核对In use, and open to hands-on checks

真实项目 · 使用状态REAL PROJECT · USE

已投入使用,项目经理和部门可在同一处核对交付状态。

The product is in use. Project managers and departments can check delivery status in one place.

本页演示 · 可核对的行为THIS DEMO · CHECKABLE BEHAVIOUR

演示数据全部虚构。这些检查验证本页的交互与规则;真实业务的使用人数和效率提升尚未公开量化。All demo data is fictional. These checks validate this page’s interactions and rules; real-world adoption and efficiency gains have not been publicly quantified.

你的改动Your changes

演示数据预置Preset in the demo data

    你You 0

      你还没有改过任何东西。上面每块图版都能动手。You haven’t changed anything yet. Every demo above is hands-on.

      ← 回到主站← Back to xilaiwang.com

      这些改动只在你的浏览器里,刷新就没了。These changes live only in your browser and vanish on refresh.

      COLOPHON

      本页如何做成How this page was made

      1. 展示页以 HTML 重画产品界面:原生 ES 模块,零依赖,零第三方请求。The showcase redraws the product interface in HTML: native ES modules, no dependencies, no third-party requests.
      2. 每块图版的规则都是纯函数,有单测钉住;页面在构建时用同一组函数预渲染,没有 JavaScript 也能看到真界面。Every demo’s rules are pure functions pinned by unit tests; the page is pre-rendered at build time with the same functions, so the real interface shows even without JavaScript.
      3. 人名、客户、项目、日期全部虚构;所有操作只在你的浏览器里,刷新即重置。演示版规则有简化。Names, customers, projects and dates are all fictional; everything happens in your browser and resets on refresh. Rules are simplified for the demo.
      4. PM Gate 本身:Next.js 14 · React 18 · TypeScript · Prisma · Tailwind · SSE · 手写 SVG 图表。PM Gate itself: Next.js 14 · React 18 · TypeScript · Prisma · Tailwind · SSE · hand-written SVG charts.
      5. 来历:源自作者在一家汽车零部件制造企业实习期间的 PM 流程数字化实践。Origin: built from the author’s work on digitising PM processes during an internship at an automotive parts manufacturer.