PoliTree: A Political Test That Doesn't Suck

#tech #politics

Table of Contents

*UPDATE: v1.0 of the test is finally live! You can finally take the test for yourself at this link!


Typically, when we want to talk about politics and what we believe we might use terms like “left”, “right”, or even “center” to sort of really neatly and quickly get across where we fall. But of course, a lot of us are more complex than that and often find ourselves not really feeling like we fit into any of those boxes. When this happens, the natural response of a lot of people is to ask “well then, what do I believe”?

For a lot of these people, they’ll turn to the Internet and likely will stumble across one of many “political tests”. Some of these tests (like the Political Compass or 8Values) are already quite popular, and have gone on to inspire countless similar spinoffs.

A political test is basically a form of online self-quiz which attempts to help people figure out their political views by asking questions and then using the answers to those questions to estimate a result. Problem is, a lot of these tests… kind of infamously suck.

Of course, this is kind of already known by those more involved within politics. To the point that when I asked around, a lot of people thought it would be genuinely impossible to create a test that was actually capable of providing useful information to someone who genuinely wanted to know more about what they believe. However, that’s where I beg to differ.

I wanted to make a test of my own, but unlike the countless others who have tried this before, I’d do it by creating something totally unlike any other test that has come before. Introducing the PoliTree:

I didn’t want to just slightly tweak some questions, slap on a new name, and call it a day. I wanted to dig deep and actually strike at the fundamental problems all of these tests have in their structure. If you’re someone whose taken a lot of these tests, you know that they tend to assign you a “score” based on your answers and then judge you based on where your score falls. This might be a coordinate on a grid or a set of percentages on left/right.

Unlike the political compass, unlike 8-Values, the PoliTree avoids using a scoring system to judge you. Percentages and coordinates are ultimately meaningless when translated into real-world terms.

Instead the PoliTree works like, well… a tree. It starts from the abstract, first figuring out what is fundamental to your world view (what type of issue matters the most to you, how do you approach said issue), and from there, slowly narrows down.

The test kind of works like a table, and the goal of the questions is to get a sense of just two core assessments about the person taking the test:

  1. What types of issues does this person care the most about? What does this person see as being the types of forces which dictate history, political change, and social organization?

  2. What is this person’s attitude towards said issue? On is issue they care about, how does this person feel about the status quo? Are they mostly satisfied with the current order? Do they have a radically different kind of order they would prefer?

As you take it, you’ll notice the test doesn’t ask about policy but instead focuses on philosophy — two people can support the same policy for wildly different reasons. The various exercises within the PoliTree are less focused on finding out what you do or don’t support and more focused on the deeper questions of why.

Unlike the other tests, I tried to design this in a way where everything is manually curated. The possible results you can get, the personalized suggestions for further reading, and the contents of the questions were all carefully researched, pored over, and discussed with various experts in the respective fields.

And unlike other tests, which have a habit of blindly throwing on as many questions as possible in the hopes it’ll be more accurate, I designed this with the goal of being short. 16Values takes about 30-60 minutes to for a person complete, the PoliTree takes about 10 minutes.

The test is made relatively short, because I want people to take it and experiment over and over again, to find new stuff and toy around with different ideas. My goal going into this was not just to make any political test, but to try and make the best one out there.

With this project, what I hope to do is:

  • Help people new to politics get started, even if they don’t know where to look

  • Encourage people to approach politics with nuance, and discover high-quality reading on their information as opposed to junk

  • Show that political beliefs are qualitatively rather than quantitatively distinct

Why is this project necessary?

This might seem like a rather nerdy thing to spend time on, but I do think helping people learn more about these subjects is important. Having that personal awareness helps us reflect not just on how we vote but something more important — how we as people relate to and make sense of the larger world around us. What kind of information we’re being fed, the level of curiosity and nuance we have when learning about or discussing these subjects, ends up playing a large role in shaping the sort of civic engagement we end up taking and how we treat our fellow citizens.

The sort of politics you see all over the news and on social media is pop politics : more focused on signalling and pushing partisan agendas as opposed to honest discussion. It treats its audience not as students, but as customers. It discourages learning, because learning means independence and with critical thinking comes questioning. So people who are immersed in this sort of environment only really understand who they support , rather than what they actually believe at the core. The why is just as important as the who or what when it comes to action, because it allows us to know we’re going along the path that we truly want.

It’s in this sort of environment we see a large amount of people who remain unsure of what they believe, and these people will often seek out online tests in the hopes that they can better understand themselves. But — as the title of this post (rather bluntly) states — these tests are garbage. Notoriously so. The sort of results you get from the political compass or 8Values, while fun, don’t really do much to actually tell you about your politics or where to go from there.

To quickly get a bit more specific about what problems I’m talking about:

  • The traditional left-right spectrum ends up falling short because “left-wing” and “right-wing” are relative terms. There is no universal “left” or “right”, depending on what kind of society and time period you’re in these words can take wildly different meanings.

  • The political compass tries to fix this by using more concrete terms, but runs into its own set of issues. It comes at things too strongly from a policy perspective. All of its questions are about policy, it defines its spectrum based on how much a democratic government (similar to the USA) should intervene. This completely falls apart when you have ideologies which step outside of policy matters.

  • 8Values attempts to fix this by adding more axes, but all it does is kick the can down the road. The scores tell me nothing about what I believe apart from a set of numbers with no real-world application and the questions still remain contextual. The “ideology” tags it gives you are often meaningless and correlate arbitrarily to the score.

All of these view politics as a matter of quantity rather than quality; ideas are treated as if they’re numbers which can be placed along a spectrum. That if you “add up” a “left-wing” idea and a “right-wing” idea, it’ll somehow sum up and cancel out to a “centrist idea”. In order to think like that, you have to oversimplify your understanding of politics, which leads to a vaguer understanding of the terms we use.

I believe that whatever result you get at the end of a test should be an actual result, the label it assigns you should have a definition that is both clear and has meaning in the real-world.

Through the years I’ve worked on this project, I’ve gotten a lot of flak from people telling me that it’s impossible to make a good political test, that a test can’t summarize something so complex. Maybe this won’t be the perfect political oracle, but I’m more focused on giving it value as an educational tool. It’s why I’ve put so much effort towards carefully curating the reading material and information presented on the site. On the internet, there’s an unimaginably large amount of information out there, and that information can often conflict or be unreliable. If you don’t know what you’re doing, processing it all can get overwhelming. What I want is for people — instead of facing these questions feeling paralyzed or misled — to have a jumping off point to learn about politics in a truly constructive fashion.

Bonus: Developer Journal

Below is my devlog — a detailed journal of my progress throughout development and the challenges I faced. The process of raw engineering the overall design and structure of the test required a TON of research on the relevant subjects and continually swapping, tinkering, and breaking down various potential approaches until I found solutions that met my criteria.

But also, this was a process of learning for me when it came to the actual coding itself. This is the first major web development project I have ever undertaken and I ended up structuring it as a single-page application (SPA) written entirely in vanilla HTML/CSS/JS without the assistance of frameworks.

Through the process of working on this, I had to greatly sharpen both my skills as a researcher and a developer. The below log shows how over the years I worked on this, I gradually came to understand the value of organization, resourcefulness, simplicity, and a clean codebase with enough documentation to easily pass on to others.

May 2018 through November 2019

This period marks the initial conception stages of the model, as the concept runs through various incarnations. It also shows the beginning of the website’s development, as I begin to experiment with layout/style, before setting on a brown design that would serve as the site’s foundation until the 2023 redesign.

February 2020

This update has me fleshing out the branch concept, figuring out how to divide up leaves into branches, and what distinctions could be used to funnel a test-taker from a leaf into a branch.

April 2020

This update has me designing the filter questions, coming up with a specific way to take the distinctions developed in February 2020 and develop them into actual questions.

June 2020

This update was minor, the work done was mostly just writing up the various branch pages and filter questions.

August 2020

In this update, I design and implement a “metadata” system, which gives a brief collection of information on the various reading references the test will recommend you on the results’ pages. These serve to make diving into the literature easier and aid your decision in what to read first.

November 2020

Not much happens here, but I do begin considering an overhaul to the filter questions design since I was running into serious snags with designing questions that were elegant/relevant.

March 2021

This update mostly centered around implementing the overhaul of the entire filter question system, replacing the old literal questions with a system where two paragraphs (representing each view in the aforementioned distinction) are presented and one is asked what they agree with more. I also begin brainstorming ideas on how to approach the canopy questions (the initial questions which would filter you down to a leaf).

May 2021

This update doesn’t have much in the way of test design, as documentation/hosting was the bigger focus for the month. It mostly centers around the relocating of the site from a GitHub page over to a proper VPS, and the establishment of a proper wiki and documentation on Mkdocs.

July 2021

I finally come up with an approach on how to tackle the canopy questions and implement it, making use of a dropdown system where both your selection of questions (a large pool with limited slots) and selection of answers intersect to provide the necessary intersection of Approach and Focus to yield a leaf result.

October 2021

This update involves me actually implementing the canopy questions, and tackling some logistical issues pertaining to how they’d be assessed.

May 2022

This update mostly centered around progressing on the canopy questions and considering the problem of how to handle mixed-category leaves with the dropdown approach I’m using for the canopy questions.

August 2023

After an incredibly long hiatus (mostly due to college taking my focus), I return, ready to begin the long-awaited site overhaul. In the time between updates, I completed the bulk of questions and results, and studied up more on web development in preparation for the rewrite. My priority this month was overhauling my software development practices, as my previous way of doing things was very ad-hoc and tended to make headaches for me down the line. The codebase was ported to Codeberg, a second contributor was brought on, documentation was made a priority, tasks broken down into clearly-defined short-term goals, and a routine for issue tracking developed.

The previous hardcoded way of putting in branch/leaf/book information needed to be done away with, so I developed a JSON-based system by which information can be dynamically loaded in from modules.

November 2023

The time I spent over the last months overhauling my workflow very quickly bore fruit, as I found myself rapidly drilling through the early stages of web development I previously struggled with. November likely marks the most significant milestone this project’s development has seen in years. The site’s foundation was created, the codebase structured, the plan laid out, and modularization implemented.

February 2024

This was the final update before the site hit v1.0, becoming fully released to the public. While there’s some remaining bonus features I plan to eventually add for a potential v.1.1, the core functionality has been established and I am satisfied to drop off here and take another hiatus to work on other projects. I spent these months doing a ton of focus-testing with a wide variety of potential users, ironing out various confusions with the question wording and various display bugs.