My Polling App - Check it Out

myPoll - Share, Vote & Create Polls

myPoll on Heroku

Technology Setup

  • up on Heroku after a day or two of figuring things out
  • React Frontend with Apollo, React Router, ReCharts, etc
  • Node Backend with Express, Graphql, Passport, Jsonwebtoken, etc
  • split into two separate apps, both are node express apps


  • Everyone Can View and Vote on Polls
  • Authenticated Users Can Create Polls
  • Authenticated Users Can Add Extra Options to Any Poll
  • log in with Facebook, Github, Google, Twitter or Standard Email - Username - Password
  • real time updates with graphql subscriptions
  • view pie chart or bar chart

Issues Unresolved

  • Sharing Link Problems - I am using React Helmet to inject Open Graph Meta Tags, which are visible in devtools but are not being picked up by facebook link debugger - not sure what i need to do to fix - open to any suggestions
  • On Heroku Free Tier - Not sure how much Traffic myPoll App can handle, have not really used Heroku before

Feedback Of All Kinds Welcome

If I vote on a poll, go to another poll, and come back to the first poll, I can vote again for the same or different and it seems to count it. Maybe you could use localstorage to prevent multiple votes on same poll, since you are not authenticating the voting process.

true. i made it so the buttons disable after one vote - at least someone can’t click away. but yah as you said you can just refresh or re-navigate to the page and vote again. i could implement something with local storage, but even that wouldn’t necessarily prevent multiple votes, i don’t think…just clear local storage and vote again right? i guess the average user wouldn’t know how to do that though, and short of making users authenticate i think you have the best idea for a deterrent. and thank you for taking the time to check out my app.

A malicious users would clear local storage to vote again. I was just thinking about the user who could not remember if they had already voted on a particular poll. You only have 5-6 polls now, but if you had 1000 polls, the average user might not remember which ones they voted on.

i thought about making it so users need to authenticate before voting - i’m still pretty new to this whole development thing - i wonder what the thinking is on that? Meaning is it effective and gets more people to sign up, or if it would deter people from participating?