One solution would be to use Automations.
So you have a single “Ranking” column that all users will use to enter their ranking (can be any format – slider, scale, number, …). You then have an automation that is triggered whenever there is a change to any project row such that the “Ranking” column is no longer the default value (i.e. initialization value). You could then have this automation either
populate the ranking column in the Projects table for the current logged in user (e.g. the “Chase Ranking” column if “Chase” is the logged-in user) with the ranking score, or
create a new row in an associated “Project Rankings” table that has this shape: Ranking(Person, Project, Score) where “Person” is a username column, and “Project” references the Projects table, and Ranking is the same ranking format as the “Ranking” input column in the Projects table.
Then the automation would reset the input ranking column in the Projects table.
With the second approach, the data would be fully normalized, and automatically supports new people ranking projects. It would also be much easier to operate on the ranking data, for example to aggregate the average ranking for a project. With the first approach, it may be difficult to reference the column for the logged-in user in a formula if the number of users that can rank (i.e. number of ranking columns) is large. It would also be difficult to operate on the ranking data, for example aggregating the average ranking for a project would require extracting the ranking value from each column individually, which may be difficult or impossible depending on the number of users, and may require refactoring anytime a new user is added.