We're using a custom Python script which was specifically programmed for this giveaway. It uses the Twitter Public Rest API to download a list of all @dbrand and @RandomFrankP Twitter 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 accounts.
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 full list of followers 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.