When you roll out a feature flag to 30% of users, every user needs a stable answer: in or out. That answer has to be the same every time they load the page, across devices, without storing anything in a database. Each user's assignment is a Bernoulli trial: a single yes/no event with a fixed probability (your rollout percentage) of being "yes."
Hashing solves this. You feed the user ID and flag name into a hash function, get a number back, and check if it falls below your rollout threshold. Same inputs always produce the same output. No state needed. The hash turns each user into an independent coin flip with the exact probability you set.
The Builder tab lets you watch this happen. Add users, see their hash outputs and bucket positions, then drag the rollout slider to see who falls in and out.