We're using a custom Python script which was specifically programmed for this giveaway. It uses the Twitter Public API to download a list of all @dbrand followers, as well as a list of all @UnboxTherapy followers.
Once the full lists have been loaded, the script generates a list of IDs which exist on both lists. This ensures that the potential winner is following both @dbrand and @UnboxTherapy.
From this pool of unique account IDs, a random entry is picked using a randomly generated seed based on the NumPy project. This random pick is the resulting winner.
For every subsequent winner selection, the script will run again. This triggers the Twitter Public API follower IDs fetch again. The script will download the newest followers and keep going until it reaches the followers which were downloaded during the previous run. What this does is save us from having to download a list of over 1.3-1.5 million followers (at the time of writing) every time a winner is selected \u2013 while also ensuring that everyone is included and has an equal chance of winning for each random draw.