This is a simple frontend for a smart contract that I wrote for the ConSensys Smart Contract Developer Bootcamp final project.
For details on the contract, see https://github.com/shaneauerbach/blockchain-developer-bootcamp-final-project.
Toggle your MetaMask to Rinkeby for the rest to work. You'll also need a tiny amount of Rinkeby test eth for transactions.
When you vote, it's always for the active proposed entry, i.e. the one with proposed entry ID equal to "Entries proposed" in the summary.
To open up a What for a new entry, first you must reject (or accept through voting) the current entry.
If you enter a new name for a what, it should allow you to complete a 0 eth transaction in MetaMask where you just pay ~0.001 gas.
If MetaMask suggests there is a Transaction Error, your entry may be over the byte limit.
After hitting Create, wait ~20 seconds for a transaction hash to be displayed.
Same instructions from (4) above, except this proposes a new entry to an existing What.