In a totally predictable outcome, my interest in politics and programming have won out: The focus of my first IDS will be informing the British Columbian electorate, and assisting them in the 2017 general election. This will encompass various categories, from government, to computers (for my solution, as typical, is a website and an app), to promotion. To the extent that this project fits within the planners and documents I’ve been given, I’ll try to outline it; otherwise, I’ll throw in random details that I think contribute to building a better idea of what I’m working on.
The project is called VoteMate. The smaller goals are to build a website and app that:
- Connects users with the candidates in their various constituencies, so that they can ask them questions.
- Lists candidate and party policies, and comparisons between such, so that users can make a more informed decision while voting.
- Provides more information about each candidate, such as biographical information.
What resources can help me towards my goal? When it comes to programming, the answer is easy: most APIs, all programming languages, and hopefully a large amount of the bizarre and confusing concepts created by people with code minifiers, have documentation.
Sources for the data used by VoteMate will come from various APIs, such as OpenNorth’s Represent API, which lists constituencies (as well as MPs, MLAs and councilors) for a given location; CBC; ElectionsBC (although no of their data is in an easily-usable format); party websites; Wikipedia and various other Wikimedia projects; and the candidates and their campaigns themselves.
Oooh, and then there are the anticipated problems. Well, most people I know who run startups say that you should never thing about problems, because if you do, you’ll get depressed and won’t do anything amazing. I don’t buy that, so…
- Bizarre programming problems. Really, you can never predict these, and instead you just pray to the various gods of programming, computers and Ramen, and hope for the best.
- Inability to attract a user-base. This is incredibly likely.
- Inability to attract candidates. This is somewhat likely, but somehow, I’ve done it before with VoteVancouver. Considering that I had even less experience then, I am now armed by overconfidence.
- Legal issues. Interestingly, talking about political issues during a BC election is illegal, and can result in up to a year in prison. I will of course be contacting ElectionsBC, which does much of the interpretation for this law, to confirm that what I’d be doing is legal.
- Security. Lots of websites end in being hacked. In the end, all websites are vulnerable, but there is a fair amount that I can do to lower the likelihood.
- Way, way more. Really scary stuff.
How I’ll gauge my progress and when I’ll be done are coming in a later post. For now, I’m just going to keep on programming (I’ve already got the foundations of the website and some of the data ready to go).