Pennantportfolio demo

Bucketing visualizer

Percentage rollouts have to be deterministic: the same user lands in the same bucket on every page refresh, every device, every server. Pennant uses sha256(flagKey + ":" + userId + ":" + seed)[0..8] / 0xffffffff. Both the Laravel server and the TypeScript SDK ship the same implementation; the corpus enforces parity.

Rollout target
25.0%
Actual hits
258
Actual %
25.80%

Distribution falls within ±2% of the target at 1000+ users. The first 50 bucket placements are shown below for inspection.

UserBucketIn rolloutPosition
user-00.93750637no
user-10.80576688no
user-20.00867198yes
user-30.54051149no
user-40.51977116no
user-50.69001657no
user-60.23051943yes
user-70.44201833no
user-80.65517259no
user-90.11753015yes
user-100.37886491no
user-110.81366779no
user-120.88070349no
user-130.13246090yes
user-140.18037317yes
user-150.27343448no
user-160.70556257no
user-170.19483395yes
user-180.74155177no
user-190.73424357no
user-200.27278315no
user-210.00433567yes
user-220.16840011yes
user-230.56598044no
user-240.87374908no
user-250.56394060no
user-260.10099494yes
user-270.13118847yes
user-280.20693192yes
user-290.38789261no
user-300.82763406no
user-310.08975909yes
user-320.91984730no
user-330.26425633no
user-340.91731956no
user-350.01214269yes
user-360.99477075no
user-370.81359799no
user-380.38974040no
user-390.52466192no
user-400.82343911no
user-410.51852944no
user-420.11300119yes
user-430.93170335no
user-440.11714631yes
user-450.48328341no
user-460.61266501no
user-470.11596317yes
user-480.37310631no
user-490.73990408no