LS0/100लोड हो रहा है
सीधे कॉन्टेंट पर जाएँ
Llavisahu
संपर्क
प्लान जो टिकते हैं। आपूर्ति श्रृंखलाएँ जो पलक नहीं झपकतीं।
नमस्ते कहें ✦संपर्कसंपर्क
होमकामलाइब्रेरीसफ़रगेम्सलैबBlogपरिचय
LinkedInGitHubEmail
© 2026 Lavi Sahu
07लैब — बिल्ड लॉग

मैं यह साइट उसी तरह बनाता हूँ जैसे चाहूँगा कि कोई AI वेंडर प्लानिंग सिस्टम बनाए: पिच नहीं, डिफ़ दिखाइए।

लैब — ओपन सोर्स

आठ रिपो, मॉकअप नहीं

पब्लिक, चलने वाला कोड, पोर्टफ़ोलियो स्लाइड नहीं: सप्लाई-चेन प्लानिंग टूल्स, एक AI-कॉन्फ़िग सिस्टम, एक ऑफ़लाइन वॉइस-डिक्टेशन ऐप, और वही डिज़ाइन सिस्टम जिससे यह पेज बना है। हर कार्ड पर क्लिक करके देखिए वह असल में क्या करता है।

Explore GitHub @LaviSahu
Resilience Radar — Python (stdlib only) — self-contained HTML dashboard
View on GitHub →

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
What the code actually does
# 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).

लैब — बिल्ड लॉग

Verification ledger — what's above, and how each piece was actually checked

Seen by human eyes

Every animation on the rebuilt pages

The merge-conflict resolutions of 2026-09-19

Read, not run

The twin's system prompt

Each repo description (2 of 8 carry verbatim code excerpts)

Nobody has checked

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.

लैब — बिल्ड लॉग

सिर्फ़ मेरी बात मत सुनिए — लीवर ख़ुद घुमाइए।

दो लाइव टूल्स जो दिखाते हैं कि प्लानिंग के ट्रेड-ऑफ़ असल में कैसे चलते हैं। ना स्लाइड्स, ना हवा में बातें।

लैब — बिल्ड लॉग

असली AI फ़ीचर, मॉकअप नहीं

यह चैटबॉट एम्बेड नहीं है। यह एक Cloudflare Pages Function है जो Workers AI को सीधे कॉल करती है — इसी डोमेन पर लॉक, हर IP पर रेट-लिमिटेड, और सिस्टम प्रॉम्प्ट यह कहता है कि क्लाइंट का नाम या नंबर गढ़ने के बजाय ‘मुझे नहीं पता’ कहो। इससे S&OP या इन्वेंटरी प्लानिंग के बारे में पूछिए।

मेरे AI ट्विन से पूछें

बीटा

एक डेमो: भाषा मॉडल, मेरी आवाज़ में एक छोटा प्रॉम्प्ट। यह पूरे यक़ीन से ग़लत हो सकता है — इसकी बात पर अमल मत कीजिए। इससे S&OP, IBP, o9, इन्वेंटरी के बारे में पूछिए।

प्लानिंग के बारे में कुछ भी पूछिए। ट्विन जवाब देगा — मेरी आवाज़ में।

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.

AI-जनरेटेड · असली Lavi की जगह नहीं

लैब — बिल्ड लॉगमर्ज किया, शिप नहीं किया।

बिल्ड लॉग — 2026-09-19

लैब — बिल्ड लॉगrefkit

Refkit — 28 ports, 1 in production

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.

Lab — essays

Five frameworks, worked through properly

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 →

S&OP सिनेरियो सिमुलेटर

लाइव

प्लानर जिन लीवर को सच में कंट्रोल करता है, उन्हें घुमाइए — ट्रेड-ऑफ़ रियल टाइम में हिलते देखिए। इलस्ट्रेटिव मॉडल।

0%
100%
95%
4 हफ़्ता
अनुमानित सेवा स्तर90.5%
कैपेसिटी यूटिलाइज़ेशन100%
इन्वेंटरी इंडेक्स (प्लान = 100)100
अप्रचलन रिस्क0%

संतुलित ऑपरेटिंग पॉइंट। सेवा स्तर टारगेट के पास टिका रहता है, इन्वेंटरी और यूटिलाइज़ेशन हेल्दी रेंज में।

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, सेफ़्टी स्टॉक और रीऑर्डर पॉइंट — हर रिप्लेनिशमेंट पॉलिसी के पीछे का गणित।

4,767
EOQ (यूनिट)
563
सेफ़्टी स्टॉक
5,183
रीऑर्डर पॉइंट

साल में करीब 25.2× बार 4,767 यूनिट ऑर्डर करें। 5,183 स्टॉक पर दोबारा ऑर्डर करें — 14 दिन की लीड टाइम में 97% सेवा स्तर टिकाने के लिए 563 यूनिट सेफ़्टी स्टॉक साथ रखते हुए।

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.

बुलव्हिप विज़ुअलाइज़र

लाइव

शेल्फ़ पर हल्की-सी हरकत ऊपर की तरफ़ तूफ़ान बन जाती है। डिमांड वेरिएबिलिटी को टियर-दर-टियर बढ़ती देखिए। इलस्ट्रेटिव मॉडल।

20%
4
100रिटेलर120डिस्ट्रीब्यूटर144थोक विक्रेता173क्षेत्रीय DC

शेल्फ़ पर डिमांड के छोटे उतार-चढ़ाव ऊपर जाकर ऑर्डर के बड़े उतार-चढ़ाव बन जाते हैं — टियर 4 (क्षेत्रीय DC) तक, 20% CV ऑर्डर इंडेक्स 173 बन जाता है। डिमांड विज़िबिलिटी, छोटी लीड टाइम और ऑर्डर स्मूदिंग इस बुलव्हिप को शांत करती हैं।

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.

> cat build-log.md

पाँच फ़ीचर ब्रांच — Home, Work, Library, Travel, Games, About, 404 — हर एक करीब दो हफ़्ते में अलग-अलग बनी, बिना मर्ज पड़ी रहीं। आज वे एक ब्रांच बनीं: पाँच मर्ज कमिट्स, तीन में मैन्युअल कॉन्फ़्लिक्ट रिज़ॉल्व करना पड़ा — सब एक ही फ़ाइल में, सब दोनों साइड रखकर हल किए, एक असली डुप्लीकेट-इंपोर्ट बग शिप होने से पहले पकड़ा और ठीक किया।

जो लगभग खो गया: 207 फ़ाइलें और करीब 10MB पुराना काम — नए मोशन कंपोनेंट्स, फ़्रेम-दर-फ़्रेम पुल-अपार्ट रिग, दोनों ज्ञात बग ठीक किए हुए एक 3D बिल्ड, इसी पेज का प्रीकर्सर — कभी कमिट ही नहीं हुआ था। एक लैपटॉप के फ़ोल्डर में पड़ा था। एक कमांड से ठीक हुआ; एक ग़लत git clean से हमेशा के लिए जा सकता था।

जो अब भी खुला है: यह काम करने वाली पाइपलाइन साइट कंपाइल कर सकती है और उसका HTML पढ़ सकती है, पर एक पिक्सेल भी रेंडर नहीं कर सकती। इस पेज और उससे पहले के चार पेजों का हर एनिमेशन अभी कोड रिव्यू और इंसानी आँखों से वेरिफ़ाई होता है — किसी AI की नहीं। यह गैप यहाँ जान-बूझकर लिखा गया है, छिपाया नहीं गया।

सेल्फ़-ग्रेड — प्लानिंग: 8/10 (स्पेक थी और उसी का पालन हुआ)। वेरिफ़िकेशन: 4/10 (इस एनवायरनमेंट में विज़ुअल QA अटका — असली गैप, खुलासा किया, छिपाया नहीं)। बिना पूछे लिए जजमेंट कॉल: कई (नया बंडल सीलिंग नंबर, मर्ज-कॉन्फ़्लिक्ट रिज़ॉल्व करने का तरीका, पहले के बिना-कमिट काम को कमिट करना) — सब रिवर्सिबल, कुछ भी प्रोडक्शन में पुश नहीं किया।

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

The port wall

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.

VeAnimatedTooltipVengeanceUI port
What is this?
VeMaskedAvatarsVengeanceUI port
  • Ada
    Ada
  • Bram
    Bram
  • Cleo
    Cleo
  • Dario
    Dario
  • Esme
    Esme
VeDiagonalCarouselVengeanceUI port

Harbor Line

Kiln Study

North Pier

Paper Hills

Tidal Steps

VePerspectiveCarouselVengeanceUI port

Harbor Line

Kiln Study

North Pier

Paper Hills

Tidal Steps

VeImageTrailVengeanceUI port
VeStatsCounterVengeanceUI port
0ports
0batches
0new deps
VeInteractiveBookVengeanceUI port

Porting Notes

refkit

Porting Notes

Interactive Edition

1

Why port

Each piece starts as a registry component and lands here as one TSX file plus a CSS batch.

2
2
3

Token pass

Tailwind classes go first, swapped for POP tokens: ink outlines, hard shadows, cream ground.

4
4
5

Motion pass

Springs move to motion/react and every animation learns to sit still under reduced motion.

6
6

The End

Click to Open
VeScrollDissolveRevealVengeanceUI port — WebGL, mounts on scroll
VeLineHoverLinkVengeanceUI port
Slide underlineArc underlineScribble underline
VePerspectiveGridVengeanceUI port
VeImageRevealListVengeanceUI port
  • Field Notes on Slow Mail01Field Notes on Slow MailEssay
  • The Torii Trail at Dawn02The Torii Trail at DawnTravel
  • Shipping a Type Foundry03Shipping a Type FoundryInterview
  • Notes from the Night Market04Notes from the Night MarketPhoto
VeTeamRevealGridVengeanceUI port

The people behind the product

Meet the team

A small, multidisciplinary team building thoughtful tools for ambitious people.

VeGlowBorderCardVengeanceUI port
glow ring
VeTypingKeyboardVengeanceUI port
VePixelatedImageTrailVengeanceUI port
VeAsciiGlitchRippleVengeanceUI port
VeMorphTextVengeanceUI port
SHIPSHAPESHOW

one word morphs into the next

VeLiquidTextVengeanceUI port — WebGL, mounts on scroll
VeAnimatedFooterVengeanceUI port

Refkit

VeImageScatterVengeanceUI port

VeStaggeredGridVengeanceUI port
POP
ExploreProjects
ExploreWriting
ExploreContact
ExploreProjects
ExploreWriting
ExploreContact
ExploreProjects
ExploreWriting
ExploreContact
ExploreProjects
ExploreWriting
ExploreContact
ExploreProjects
ExploreWriting
ExploreContact
ExploreProjects
Builds

Builds

Builds
Notes

Notes

Notes
Reach out

Reach out

Reach out
ExploreWriting
ExploreContact
Built with refkitMore demos
VeCircularGalleryVengeanceUI port
VeVerseCardsVengeanceUI port
Work
Atlas
Nimbus
Vertex
Harbor
Quill
Click the front card to deal it away.
VeGooeyTextRevealVengeanceUI port

Goo in, goo out.

Lines split, blur, and snap back into focus.

VeInteractiveParticlesVengeanceUI port — WebGL, mounts on scroll
VeMusicPlayerVengeanceUI port — dark zone, white-on-glass UI
Paper Signals artwork
Paper Signals
Refkit Radio
VeBooksShowcaseVengeanceUI port — WebGL, mounts on scroll
VeCreepyVengeanceUI port
Don't hoverDon't hover
btn-ve-pophand-made — refkit-vengeance.css