Political Dichotomy Assessment: Project Journal and Development Timeline

Here's a quick insight into the progress I've made since I've started this project, hopefully it gives you a better idea of how something comes about, and what effort I've put in to constantly refine it.

Disclaimer: All sections before October 2019 were written in retrospect.

May 2018

As part of some of the changes I was rolling out to an old Discord server of mine, I had the idea of creating a test to help people choose roles. The two main differences from other tests at this point were:

Version 1

While this proved accurate for more common beliefs and had a clean front-end, behind the scenes it was scaling horribly: the amount of questions and possibilities to be accounted for grew exponentially as the scope of ideology broadened.

July 2018

Following some discussions and the retiring of the old bot, I returned to the drawing board and began drafting a chart in an attempt to categorize ideology; the main purpose at the time was to prove that a political center did not exist, and that ideology was not a left/right gradient.

I used the Political Triangle as a model, basically drawing on top of it in OneNote. As you can see, it was incredibly crude and inaccurate in a lot of places. A lot would have to be fixed, but you can begin to see concepts being ironed out such as the usage of a table before the logic gates.

Unsurprisingly, it got posted on /r/badpolitics; mocking aside, I actually did end up getting important feedback on the design from a few people in the thread.

Version 2

August 2018

The triangle itself was rather confusing without a proper explanation, and up until this point I had simply gave the explanation on the spot whenever I posted it; I felt it was more efficient and sensible to bundle the explanation with it onto a “poster” of sorts. It came with a warning and a guide to what each of the various colors represented.

Version 2.5

October 2018

The chart design badly needed an update, not just due to how ungodly ugly it was, but also because making changes was difficult when all the layers get merged on a standard image.

So I decided to sit down and remake the chart from scratch, but as an SVG this time. This would allow me to change colors, text, and positioning easily without affecting the rest of the image. This ended up being a good move, because over the next few months, the chart would go through countless minor revisions here and there.

Version 3

November 2018

I concluded my design was too complex for solely a chart, not just in a matter of execution, but also due to the nature of the topic itself. Too simple and it becomes just as inaccurate as the other charts I intended to replace, too dense and it's incomprehensible.

So, a new idea came to me: the other charts are known to use websites which are able to set up a test of sorts to walk people through the process. With a test I'd be able to convey these concepts without overwhelming the user with the information density.

At this point in time, I had no idea what I wanted the site to look like, so I focused on the more mechanical parts of the test with minimal CSS.

Main Page (11/18) Canopy Page (11/18)

I settled on a model that fused the table-chart with the flowchart questions of May's design. The chart would narrow down the person to a specific “leaf” or sector of ideology, and then the flowchart would narrow it down to something specific.

In order to do this, I drafted a list of final results, or “branches”, and began making questions to bridge the leaf to the branch.

Branches Brainstorming Questions Brainstorming

December 2018

I eventually got around to setting up the site's CSS, using the aesthetic theme of another website I was running as a model. Things felt a lot more organized now that I could visualize the direction the test was taking and I had a clearer idea of how I wanted to execute the project.

Main Page 12/18 Canopy Page 12/18

April 2019

After an extended hiatus, I returned back to work on the site, finally creating the page for the second question and changing up the color palette.

Second Canopy Page 4/19

June 2019

With the site coming further underway, and the SVG going through its countless revisions, I decided to shift my strategy. If I were to work on the questions first and make the results later, any changes I'd make to the results would force me to rework the questions that are dependent on them too.

I decided to go back and rework the branches themselves, since a lot of them were mostly either filler or too similar to others. I took notes until I settled on a balance of around two to three per leaf. This greatly helped me narrow things down and get a better understanding of exactly what I was adding to the test instead of just taking everything I could find off of Wikipedia.

Branches Sketch

July 2019

Now that I had narrowed down the branches and started to get a more consistent idea of my plan for the leaves, I began my strategy of working backwards. In order to better complement the quiz portion and make the whole project more accessible to people newer to political theory, I'd shape the info/results pages for the leaves and branches around the goal of giving people a primer on the various ideologies that are being discussed in the test.

My plan was to provide a definition for each one, some key facts to clear misconceptions, and also a list of historical figures who would fall under each category.

Notes on People

August 2019

By this point, the project had been moved to GitLab for a few months. It was around this time I began taking my planning from July and began on the execution. The list of historical figures got scrapped: the difficulty of accurately pigeonholing was not worth the effort when a list of names didn't exactly serve as a useful reference for those who weren't already familiar with their work.

The development of the “primer” aspects of the leaf and branch pages involved the following:

Branch Pages

September 2019

As per the feedback I was receiving, I went ahead and made cosmetic changes to the site. Icons were added for each leaf, the triangle was completely recolored with contrast toned down, and the site was minimized, with unnecessary patterns/effects removed and the theme reduced to three main colors.

I started by sketching the icons, then eventually found similiar ones online that matched what I was going for. I edited them to match the color scheme of the site, then imported them in.

New Site and Icons New Triangle

October 2019

A large chunk of October was dedicated to finishing up the bio pages for the various branches. As of the 31st of October, 19 out of the 34 pages have been completed, with 87 books being linked as further reading material. Some of these books were more difficult to get than others, especially the Futurist Cookbook, which I am still working on getting together.

The Futurist Cookbook by F.T. Marinetti is an incredibly fascinating work, with one caveat. Digital copies are region-locked to the United Kingdom. So instead, I have taken to manually transcribing a physical copy I found at my library using LaTeX. Here's a preview of what I've done so far: Preview of Futurist Cookbook

On top of that I've been experimenting with a few ways to improve the bio pages.

One of them being a “metadata” block for each book, detailing important information such as length and difficulty: Metadata planning doc

Another one was having specific, traceable schools of thought mentioned on the branches with a short definition, to give people something to connect to. Not sure if I'm going to keep this idea or not, but it's still a possibility for the time being.


November 2019

By the end of November, I had finished up all the pages in the Radical and the Reformist clusters. A lot of this month was dedicated to cleaning up the various reading materials and grinding out a lot more of the boring stuff as we approach the end of the results pages. As for transcribing The Futurist Cookbook, currently I have completed a third of the whole thing.

Behind the scenes I have been consulting others for advice and beginning work on preparing for manually testing this with focus groups. I'll most likely begin putting this into action when the results are more concretely laid out.

February 2020

The months of December and January were mostly dedicated to finishing up the results pages. As of today, only two results pages have to be done and I have already begun work on the next step in the process, which is creating the questions to filter from the leaves to the results respectively.

The methods of filtering vary depending on how many branches are contained in each respective leaf, but the overall format is the same. At first, I was doing logic-gates to filter; however, I scrapped that idea as the ordering of questions would simply introduce too much bias. Instead, I've decided to do it in terms of meters; each meter contains a principle which distinguishes the specific branch from the other ones within the leaf.

The core concept is similar to the meters present in 8Values, but the execution is very different, as you'll see very soon.


The most basic implementation of this is on leaves with two branches, such as the Moderate leaf. Within the Moderate leaf, the two branches are Syncretic and Pluralist.

  1. I started by asking myself about what fundamentally separates a syncretist from a pluralist. What I decided is that they are both varying approaches to reconciling ideas; the syncretist resolves differences in opinion by fusing elements of ideas while the pluralist believes in the mutual conflict of ideologies and interests in order to keep each other in check.

  2. We'll label our principles as Competition and Cooperation for the sake of simplicity. And this is where the inspiration from 8Values comes in; a set of ten binary questions will be asked, each contributing varying amounts to either Convergence or Coexistence, depending on their individual importance. For example, if I asked: “Are the best solutions typically found in the middle?”, that would give some points to the Cooperation but not to the Competition side of the meter.

  3. And because we only have to filter between two, evaluating these results is as simple as comparing which one has the majority of points at the end.

The next level of complexity occurs if we have four branches on our leaf, such as what occurs in the Communist leaf. Within the Communist leaf, we have Autonomist, Councilist, Syndicalist, and Vanguardist as branches.

  1. Now that there is more than one, let us introduce the concept of matchups. Our meter system gives us the ability to evaluate one branch against the other, but we won't be able to add any more into each comparison. We will have to break this down into one versus one.
  2. Since there is an even number of branches, we can make our first matchup a two versus two. We will need a shared characteristic for each pair however, as to fit it into the 1v1 nature of the matchup. These shared characteristics we will label Democratic and Organic respectively.
  3. We can do this because both the Syndicalist and the Vanguardist branches ascribe to democratic forms of organization while both the Councilist and Autonomist branches ascribe to organic forms of organization. Being able to know which the test-taker fits into eliminates half the field.
  4. Because half of four is two, we can simply use the same process we used for the two-branch for each remaining pair, to get our final result.

And finally, let us discuss what is by far the most complex implementation, the three-branch. The reason I made it more complex is because we deal with an issue known as the Condorcet Paradox. In simple terms, it just means that when applying a matchup method to a field of three candidates, there is a specific scenario in which no winner can be determined. Due to the way we're applying the matchup method, this scenario is a lot more likely to occur than it normally should be, so we will have to find a way around this.

To demonstrate this, I'll use the Anarchist leaf, which happens to have three branches (Pacifist, Intersectionalist, and Communalist).

  1. I begin by deciding that we will need every combination of matchups between each of the three candidates for the results to be evaluated fairly. The required combinations and their principles are as follows:

    • Pacifist v. Intersectionalist – Clemency/Retribution

    • Pacifist v. Communalist – Nonviolence/Insurrection

    • Communalist v. Intersectionalist – Majority/Minority

  2. In the situations where a candidate wins twice, the dilemma is quickly solved; however, what happens if each one wins once? A possible fallback could be to check margins of victory: perhaps one victory is stronger than the other. However, that would introduce another issue, which is: what if the margins of victory are equal? We'll end up back where we started.

  3. So, instead I have devised a definitive fallback, known as disqualifying matchups. To explain, let assume our winning principles are as follows: Clemency, Insurrection, and Minority. Insurrection as a principle is inherently antithetical to Pacifism, outright disqualifying it from being a possibility. This leaves Communalist and Intersectionalist remaining, and we have the Majority/Minority matchup to tell us which one wins. In this case, the “tie” would result in Intersectionalist being the final result.

April 2020

April was an unexpectedly productive month for the project. Starting with the minor changes:

The two major changes for this month is the overhaul to the manual/FAQ and the progress made on the filter questions.

Beginning with the manual:

The filter questions have been developed for both the Progressive and Proprietarian branches, and the layout should follow the below template:

Filter Questions version 1

As for other long-term goals, I'm planning to implement the metadata pages I was considering following the site's overhaul. For now the main priority is finishing the filter questions.

June 2020

May and June were mostly wrapping things up with the branch pages and making actual progress on filter questions:

These filter questions are subject to revision as I am constantly testing them with various people I know from online political communities.

August 2020

One of the things I didn't expect to complete by now was the metadata, but it has been added for every branch page. I put these inside drop-downs as not to overwhelm the reader with information. Check the wiki to learn more about how it works.


When creating these drop-downs, I had to consider how I wanted to split up the information. At first I was considering setting up a section for Importance, but eventually decided to roll that into a Seminal type for the key readings.

Even after I decided on the list of tags, there were still things I had to reconsider. A rating for Length is one of these, as the site currently contains documents ranging from 1 to 1000 pages. The original plan was to make every star worth 200 pages and every half-star worth 100, but ultimately this left a lot of resources with either a one or two-star length rating. Eventually, I decided to take into account what the most common page ranges are and developed a solution: ranges would get wider on the fringes (with incredibly short or incredibly long documents) and narrow towards the middle. This means that a two-star rating might cover a range of about 50 pages (books between 250 and 300 pages long), while a five-star rating would cover triple that (books between 850 and 1000 pages long). This would allow for nuance between the ratings of books of average lengths.

Currently, the Difficulty rating I'm doing rather loosely: I read random passages in the book, and judge its difficulty. However, I am considering a rubric of sorts in the future, it would just take some more brainstorming.

Genre was initially limited to a set of about five options (the way Type is handled), but eventually I decided the library is too diverse to keep it limited. Readers should be able to understand what each Genre tag means anyways, so this should not be a big deal.

Type, on the other hand, is using terms with a very particular meaning in this context, so it has to remain limited. I might add definitions for each type in the wiki later.

In addition:

December 2020

I've been on a semi-hiatus between August and November due to me being stuck on the filter questions. Eventually I had to come to the conclusion that this went beyond my individual motivation, and that the structure of the filter questions was simply unworkable. It was a tough pill to swallow considering it'd mean discarding my progress, but I eventually decided to go through with it. My issues with the filter questions as a concept are as follows:

These doubts kept growing in the back of my mind and made it rather difficult to just trudge through and do all the questions. When I looked at the calendar and saw that it was already November, I decided that this wasn't just me second-guessing myself and that I had to take action.

So, here is the new model:

Dealing with the most obvious question first, yes, the page is borked. CSS is an absolute nightmare to work with, and considering the fact that I'm planning to redo the whole site's code after a foundation is worked out, I decided there's better things to do with my time than trying to fix it. Apart from the whack positioning, this is the layout I'm planning to go with, with one thing that still needs to be set up: notches for the slider (indicating the five positions it can be set to) and labels on each end representing the respective side as belonging to Passage A or Passage B.

Now onto the logic of the activity itself. When you arrive at the page, you're presented with a question, two passages, and a slider. Each passage makes a short argument for each side of the debate and it's up to you to decide which passage you agree with more. You indicate this by dragging the slider closer or further away from the side you agree with more. Think of it as similar to those “how much do you agree” questions on other tests (such as the one pictured below):

So now onto how this should alleviate the problems with the previous design:

The passages themselves are taken from primary sources (mostly theoretical texts and polemics), and then paraphrased to ensure that: one, they are short enough to keep the user's attention, and two, make sure both passages are equally accessible as to eliminate writing style as a skewing factor. The sources are still linked not just for citation purposes but also so that its easier for people to give feedback/suggestions on the paraphrase and selection of passage.

Currently three of these have been completed.

In other news, I have been somewhat considering the addition of a new branch, although it's still very much up in the air whether or not I consider it worthwhile: a “Radical Democracy” branch for the Populist leaf. This branch would cover things such as consensus democracy, participatory democracy, and so on, filling the space that used to be covered by the Third Position leaf. Question is what to call it, and whether or not it truly even warrants its own branch, as opposed to just implementing some of the stuff into other branches.