PoliTree Dev Update: May 2022

The following is part of a larger series discussing the ongoing development of PoliTree, an attempted political-compass killer which has been way too long in the making. To find out more, visit the introduction.


It has been quite a while since the last update, but I have good reasons. For you see, the test’s design has been pretty much finished. It is literally now just a matter of rewriting the code for the site, which I’ll be looking for a collaborator to assist me on. We’ve already begun on that, will be proceeding with the same sort of bottom-up approach to making it that I did for the test design itself.

As for some minor notes:

  • As a page, Social Democrat has been added. I’m going to have to rework the interbranch questions for the Progressive leaf as a result.
  • I’m debating adding Agrarian to the Populist leaf but I’d rather not think about that now.
  • I’ve been periodically going back and updating the sources on the reference pages. As I learn more about these perspectives, the more literature I’m getting which would fit.
  • Presently the site is designed in a way where all text is hardcoded. A key part of the rewrite is going to be breaking information down into JSON form so it’s easier to load, edit, and query.

The main hurdle I had between October and now pertained to the canopy questions. What I figured out in the previous updates definitively gave me a way to return the user a Leaf in any of the three clusters. But for leaves in between, there was no real defined way to get those.

The obvious thing to do would be to have it so two-way ties in Focus would result in that, but there’s some issues with that approach. One, that would be far too narrow of a criteria and would disproportionately put people outside of those categories even though that shouldn’t necessarily be the case. Two, it would not properly account for the other forms of overlap or the ways in which those Other categories are specifically designed.

The solution I came up with is to have certain answers in combination set off a flag. For example:

  • The flag for Accelerationist is raised if one selects either of the following:
    • the History question (providing an Abolish answer)
    • the Production question (providing either an Abolish or a Regenerate answer)
  • The flag for Progressive is raised if one selects both of the following:
    • the Distribution question (with an Abolish answer)
    • the Power quesiton (with an Advance answer)
  • The flag for Populist is raised if one selects both of the following:
    • the History question (with a Regenerate answer)
    • either the Conflict question (with an Abolish answer) or the the Identity question (with an Advance answer)

If any of these flags are raised, the test will proceed to a second stage of the Canopy in which there will be a single slot intended to weigh any leaves which had their flags raised against the closest result obtained the normal way.

As for three-way ties, there’s no real clean solution. The most obvious one is to have a prime number of slots but doing that will screw up the test design in one way or another. It has to be six. My current plan is to have a drop-down of options with whichever set of leaves can be narrowed down to and then allow the user to continue the test from there. It’s rare enough of a case where it shouldn’t be a major issue.

There are two other ideas I’ve been juggling, but haven’t made a priority of implementing.

  • A confidence meter which displays how confident the site can be in the user’s result. Would not be too difficult to implement and could come up with a scoring system to track uncertainty across tests. If it’s getting added, it’ll occur during the code rewrite.
  • Including links to publications or think-tanks promoting certain views. Would like to do this since not many people have time or motivation to read books, but would require a great deal of effort to gather for every page. It’d be like doing references all over again, which is why I’m hesitant. Also I’m still not sure where on the webpage I’d put it.

Leave a Reply