I'm working on a new project votEm. The goal is to give independent candidates a platform to introduce themselves to get elected for a political office.

My main reason is that today, it's too expensive to run for an office. Some politicians in the US spend as much as 30 million dollars (!) for a single campaign. That money is better spent elsewhere. In a similar fashion, people who want to change countries like Egypt, could use such a platform to present themselves.

Now I expect a lot of emotions and pressure on my site. People with a lot of money (and a lot to lose) will try to game it (political parties, secret services of ... errr ... "not 100% democratic countries", big companies, ...)

To avoid as many mistakes as possible, I need a list of resources, ideas and tips how to keep such a site out of too much trouble.

  • Making posts CW is apparently not generally available any more, only to users having high reputation (something like over 15000... I couldn't find the exact info). Feb 21, 2011 at 8:35
  • 3
    "To avoid all the possible mistakes". You can't. "All Possible Mistakes" is imponderable. It might help if you either listed specific mistakes that worry you, or stop using phrases like "all possible".
    – S.Lott
    Feb 21, 2011 at 11:05
  • @S.Lott: Agreed. I'll update my question. Feb 21, 2011 at 13:37
  • ++ Good luck. Let us know how it does, and what you find out. Feb 21, 2011 at 13:44

2 Answers 2


People with a lot of money (and a lot to lose) will try to game it

Until you define "game it", you're essentially doomed.

"To avoid as many mistakes as possible" is so vague that you cannot make progress. You have doomed yourself through lack of focus.

You have to actually state the use cases.

You have to figure out how people will authenticate themselves.

You have to figure out who will be authorized to execute the use cases. And you have to be absolutely clear on who can do what. If you're not clear in your own mind, you cannot write any code that will actually work.

You have to document this. Actors, Use Cases, Authorizations. Written down. In detail.

And you have to understand that -- realistically -- you cannot possibly think of all the various things that will go wrong. Instead of pre-worrying about things which you cannot foresee, just build something that simply does the use cases correctly.

Read the OWASP Vulnerability list. Pick reliable, simple, simple, simple, proven frameworks. Write the least volume of code you can possibly write, leveraging everyone else's security policies and frameworks. The less you do, the more secure it can be.

Also, find a hosting service that can handle the DDoS attacks that you seem to be hinting at.


This may not be exactly what you are after, but in Finland there is a site where they collect election candidates' opinions about various issues and help people select the right candidate for them. I.e. you fill in a questionnaire on said topics, then they find the candidate whose public opinion best matches yours. My wife used it on several occasions and she says it's very helpful.

In general, I believe it may be helpful to pull information about the various candidates from the available news sources and media rather than allowing them to push the info they want. Of course this in itself would overrepresent the candidates with the highest media presence, so there should be an option available for the rest to publish their thoughts and ideas. The obvious way could be to let them answer the same questions in the questionnaire, possibly with some added reasoning about their aims, motives, priorities etc.

However, this possibility should be offered only selectively, to reduce the chances of gaming the system. Otherwise the bad guys could e.g. upload thousands of fake candidates to flood their opponents in a sea of fake names.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.