Öffentlicher, funktionierender Code, keine Portfolio-Folie: Supply-Chain-Planning-Tools, ein KI-Konfigurationssystem, eine Offline-Sprachdiktier-App und das Designsystem, aus dem diese Seite selbst gebaut ist. Klick auf eine Karte, um zu sehen, was sie wirklich tut.
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
The third column is the honest one. It empties only when the gap does — not before.
Zwei Live-Tools, die zeigen, wie Planungs-Trade-offs sich wirklich verhalten. Keine Folien, kein Handwaving.
Das ist kein eingebetteter Chatbot. Es ist eine Cloudflare Pages Function, die Workers AI direkt aufruft — an diese Domain gebunden, pro IP rate-limitiert, mit einem Systemprompt, der ihr sagt, sie soll „Ich weiß es nicht“ sagen, statt einen Kundennamen oder eine Zahl zu erfinden. Frag sie etwas zu S&OP oder Bestandsplanung.
Eine Demo: ein Sprachmodell mit einem kurzen Prompt in meiner Stimme. Es kann überzeugend falsch liegen — handle nicht nach dem, was es sagt. Frag es zu S&OP, IBP, o9, Beständen.
Frag alles zur Planung. Der Zwilling antwortet in meiner Stimme.
Twin self-grade — Tone: close. Facts: unverified by anyone, including me. Model: @cf/meta/llama-3.3-70b-instruct-fp8-fast, capped at 512 tokens, prompted to say "I don't know" rather than invent a client name or a number. A guardrail, not a guarantee.
KI-generiert · kein Ersatz für den echten 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 →
Beweg die Stellschrauben, die ein Planer wirklich kontrolliert — und sieh zu, wie die Trade-offs in Echtzeit mitgehen. Illustratives Modell.
Ausgeglichener Betriebspunkt. Der Service hält sich nahe am Ziel, Bestand und Auslastung in einem gesunden Bereich.
What this hides: one SKU, one line, one season. Obsolescence here is a proxy, not a write-off model. The version I get paid for has a demand plan arguing with the statistical baseline — that argument is where the trade-off actually gets settled.
EOQ (wirtschaftliche Bestellmenge), Sicherheitsbestand und Bestellpunkt aus deinen eigenen Zahlen — die Mathematik hinter jeder Dispositionsregel.
Bestellung von 4,767 Stück, etwa 25.2× pro Jahr. Nachbestellen, wenn der Bestand 5,183 erreicht — 563 Stück Sicherheitsbestand halten einen 97 %-Servicelevel über eine Beschaffungszeit von 14 Tagen.
What this hides: σ is daily demand variability, not forecast error — the production version uses forecast error, which is bigger and less polite. The z-value comes from a ten-row table, not the full normal curve. And 97% is only a target — check whether the safety stock is sized for the service level you actually promised.
Ein kleines Zucken im Regal wird zum Sturm flussaufwärts. Sieh zu, wie sich die Nachfragevolatilität Stufe für Stufe verstärkt. Illustratives Modell.
Kleine Nachfrageschwankungen im Regal verstärken sich zu großen Bestellschwankungen flussaufwärts — auf Stufe 4 (Regionaler DC) wird ein CV von 20 % zu einem Bestellindex von 173. Nachfragetransparenz, kürzere Durchlaufzeiten und geglättete Bestellungen dämpfen die Peitsche.
What this hides: each tier multiplies the swing by one-plus-CV — a teaching model, not a simulation. Real whips are gamed rationing and batched orders. The dampeners in the note are the ones that survive contact with a real order book.
Fünf Feature-Branches — Home, Work, Library, Travel, Games, About, 404 — jeder unabhängig über rund zwei Wochen gebaut und ungemerged liegen geblieben. Heute wurden sie zu einem Branch: fünf Merge-Commits, drei brauchten manuelle Konfliktauflösung — alle in derselben Datei, alle durch das Behalten beider Seiten gelöst, ein echter Duplicate-Import-Bug entdeckt und gefixt, bevor er live gehen konnte.
Was fast verloren ging: 207 Dateien und etwa 10 MB früherer Arbeit — neue Motion-Komponenten, ein Frame-für-Frame-Pull-Apart-Rig, ein 3D-Build mit beiden bekannten Bugs gefixt, der Vorgänger genau dieser Seite — waren nie committed. Lag in einem Ordner auf einem Laptop. Mit einem Befehl gefixt; ein einziger böser git clean hätte gereicht, und alles wäre weg gewesen.
Was noch offen ist: Die Pipeline, die diese Arbeit gemacht hat, kann die Seite kompilieren und ihr HTML zurücklesen, aber keinen Pixel rendern. Jede Animation auf dieser Seite — und auf den vier Seiten davor — wird derzeit durch Code-Review und menschliche Augen verifiziert, nicht durch eine KI. Diese Lücke steht hier absichtlich drin, sie wird nicht glattgebügelt.
Selbstbewertung — Planung: 8/10 (eine Spec existierte und wurde befolgt). Verifikation: 4/10 (visuelles QA in dieser Umgebung blockiert — echte Lücke, offengelegt, nicht versteckt). Ohne Rückfrage getroffene Entscheidungen: mehrere (die neue Bundle-Obergrenze, der Stil der Merge-Konflikt-Auflösung, das Committen der bisher uncommitteten Arbeit) — alle reversibel, keines nach Production gepusht.
Next entry, not yet written: giving the pipeline eyes — a headless browser in CI that renders this page's animations and diffs each frame against the last known good one. If it lands, the Verification score above moves. If it doesn't, this line stays, undated, as the receipt.
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.