公开、能跑的代码,不是作品集幻灯片:供应链规划工具、一套 AI 配置系统、一个离线语音听写应用,还有搭起这个页面本身的那套设计系统。点开卡片,看看它究竟能干什么。
Supply chain resilience control tower — risk radar, what-if simulation (time-to-recover / time-to-survive), and mitigation ranking. No dependencies to install; the dashboard is one self-contained HTML file.
git clone https://github.com/LaviSahu/resilience-radar.git# risk_score = likelihood(1-5) * impact(1-5), range 1-25.
TIER_THRESHOLDS: list[tuple[int, RiskTier]] = [
(20, RiskTier.CRITICAL),
(12, RiskTier.HIGH),
(6, RiskTier.MEDIUM),
(1, RiskTier.LOW),
]
def likelihood_score(event: Event, classification: Classification) -> int:
"""1-5, from event confidence (0-1) plus a source-reliability adjustment."""
base = event.confidence * 5
adjustment = SOURCE_RELIABILITY_ADJUSTMENT.get(classification.source_category, 0)
return _clamp(base + adjustment, 1, 5)src/resilience_radar/scoring.py — classic likelihood × impact risk scoring, plus a per-source reliability adjustment (geopolitical/regulatory signals score noisier than, say, a supplier or logistics event).
Every animation on the rebuilt pages
The merge-conflict resolutions of 2026-09-19
The twin's system prompt
Each repo description (2 of 8 carry verbatim code excerpts)
Everything the twin tells you
Whether anyone has ever used these repos
第三列才是诚实的那列。它只在缺口消失时才会清空 — 不会更早。
三件能上手玩的工具 — 情景模拟器、库存计算器、牛鞭效应图。没有幻灯片,没有空话:你扳动杠杆的每一刻,每个数字都在你的浏览器里实时算出来。
这不是内嵌一个聊天机器人。这是一个 Cloudflare Pages Function 直接调用 Workers AI — 域名锁定到本站,按 IP 限流,系统提示词要求它宁可说「我不知道」,也不编造客户名字或数字。问问它 S&OP 或库存规划。
一个演示:一个语言模型,带上一段用我的口吻写的短提示词。它可能错得信心十足 — 别照它说的话行事。问它 S&OP、IBP、o9、库存。
问任何关于规划的事。分身会用我的口吻回答。
Twin 自评 — 语气:接近。事实:没有任何人核实过,包括我。模型:@cf/meta/llama-3.3-70b-instruct-fp8-fast,上限 512 tokens,提示词要求它说「我不知道」而不是编造客户名字或数字。这是一道护栏,不是一份保证。
AI 生成 · 不能替代真正的 Lavi
Every card below is a real VengeanceUI port — working code, not a screenshot. Exactly one of them, VeCreepy, is actually load-bearing right now: it's the Connect link in this site's own footer. The other twenty-seven are verified to render, not yet asked to carry a real page's weight. Same rule as the build log above — a component only counts as shipped once it's doing a job, not once it looks good in a gallery.
Not case studies from my own client work — original, research-driven essays on real named frameworks and formulas (bullwhip ratio, TTR/TTS resilience, the Kraljic matrix, Theory of Constraints, digital twins), each grounded in a cited real source, not invented. Pick a card for the summary, or read the full essay.
For the fuller story behind the bullwhip math — two 2000s-era factory fires and what they cost — see Buffer Shock, on the Blog →
扳动规划员真正能控制的那些杠杆 — 看取舍实时移动。示意模型。
均衡运营点。 服务水平贴着目标走,库存和利用率都在健康区间。
这个模型藏掉了什么:单个 SKU、单条产线、单个季度。这里的呆滞是个代理指标,不是报废模型。我收钱做的那一版,需求计划和统计基线是要吵出结果的 — 那场争吵,才是取舍真正落定的地方。
用你自己的数字算 EOQ、安全库存和再订货点 — 每一套补货策略背后的那点数学。
每次订购 4,767 件,一年大约订 25.2 次。在手持量降到 5,183 件时补货 — 备上 563 件安全库存,撑过 14 天提前期,守住 97% 的服务水平。
这个模型藏掉了什么:这里的 σ 是日需求波动,不是预测误差 — 正式版本用的是预测误差,它更大,也没这么客气。z 值来自一张十行的表,不是完整的正态曲线。还有,97% 只是个目标 — 去查查安全库存到底是不是按你真正承诺过的服务水平来定的。
货架上一丝小抖动,到上游成了风暴。看需求波动逐层放大。示意模型。
货架上的小幅需求摆动,向上游放大成大额订单摆动 — 到第 4 层(区域配送中心),20% 的 CV 会变成 173 的订单指数。需求透明、更短的提前期、订单平滑,都能给牛鞭效应降幅。
这个模型藏掉了什么:每一层都把波动乘上一加 CV — 这是教学模型,不是仿真。真实的牛鞭来自被博弈的配给和批量下单。笔记里的那些阻尼器,是真正在真实订单簿面前存活下来的那几招。
五个功能分支 — Home、Work、Library、Travel、Games、About、404 — 每个都各自搭了大约两周,一直挂着没合并。今天它们合成了一个分支:五笔合并提交,其中三笔要手工解冲突 — 全都出在同一个文件,全都用「两边都保留」解掉;还有一个真实的重复导入 bug,赶在上产线之前抓出来修掉了。
差点弄丢的东西:207 个文件、大约 10MB 的既有成果 — 新的动效组件、一套逐帧拆解动画的 rig、一个修好了两个已知 bug 的 3D 场景、还有这一页自己的前身 — 从来没有被 commit 过。就躺在一台笔记本的文件夹里。一条命令救了回来;再差一步,一条 git clean 就能让它们彻底消失。
还没解决的事:做出这些成果的流水线能编译整个站点、能读回它的 HTML,但渲染不出一个像素。这一页、以及之前四页上的每一个动画,目前靠代码审查和人眼验证 — 不是靠 AI。这个缺口是有意写在这里的,没有被抹平。
自评 — 规划:8/10(有 spec,也照着做了)。验证:4/10(视觉 QA 在这个环境里做不了 — 真实缺口,如实披露,没有掩盖)。没先问就拍的决定:好几处(新的 bundle 体积上限数字、合并冲突的解法风格、把之前没提交的工作提交了)— 全部可逆,也都没有推上生产。
下一篇日志,还没写:给流水线装上眼睛 — 在 CI 里放一个无头浏览器,把这一页的动画渲染出来,每一帧都和上一版已知正确的帧做对比。做成了,上面的验证分数就会动。做不成,这行字就留在这儿,不带日期,当一张凭证。
refkit · VengeanceUI ports
28 components ported from the VengeanceUI registry to plain POP-token CSS — every demo below is live. The heavy WebGL pieces wait until you scroll to them. Tap a card's name for what it demonstrates and its real-vs-demo status.
Interactive Edition
Each piece starts as a registry component and lands here as one TSX file plus a CSS batch.
Tailwind classes go first, swapped for POP tokens: ink outlines, hard shadows, cream ground.
Springs move to motion/react and every animation learns to sit still under reduced motion.
The End
The people behind the product
A small, multidisciplinary team building thoughtful tools for ambitious people.
one word morphs into the next
Lines split, blur, and snap back into focus.