About Project Hope

Project Hope alpha test

What this is about

This is a voter intention information system intended to be used by the 'Yes' side in the next Scottish independence referendum. Design documentation is here.

The data in this demonstration system

Although addresses in the database mostly are real, all personal data in the database is randomly generated and does not represent real people.

Logging into the demonstration system

At present, you may log in in one of six roles, with the following usernames:

In each case, the password is exactly the same as the username.

As each different class of user, you'll see a different view of the system, with only the features you're entitled to use available.

The app

If you log in as test_canvasser, one of the options you will see is the App. The app is intended to be used by canvassers as they go door to door talking to electors. Consequently, it's designed to work on mobile phones.

The current state of the software

Most of the planned funtionality is in place, but in this preliminary demo you cannot create, edit or delete any records.

How the project is managed

The project is managed through Github. Please add issues that you encounter there. If you intend to collaborate on the project, I strongly recommend you also sign up to ZenHub (it's free; you'll need a Github login first).

Help wanted

UX and CSS

The existing stylesheets are ones I hacked up myself. I'm a software geek, not a visual designer. I'm sure something better can be done. Documentation on the user interface design is here. Volunteers?

Database administration

I have done preliminary work on how to scale the database, see here. I think this will roughly work. However, I'd appreciate someone with more experience of scaling large web systems taking a look at my plan, and, ideally, taking over responsibility for this side of the project. Especially, having someone on the team with Kubernetes experience would be really helpful.


At this stage you can't really test this, since you can't modify data. But you can see whether the functionality you would need to perform your role is present, and you can suggest modifications. To do so, please raise issues here.

In particular it would be helpful, if the app does not work on your mobile phone, if you could add details of your phone (and what didn't work) here.


The bulk of this system is written in Clojure. However, additional user interface functionality could be added in Javascript technologies, particularly React; and data analysis tools could be written in any language, although I'd particularly recommend work on using the data with QGIS.

In any case, whichever technologies you are skilled in, help would be very welcome. If you'd like to become involved, please let me know; but pull requests which address current issues will be welcomed.

Training and training materials

If this system is going to be of use to the Yes movement, we're going to have to train thousands of people to use it, and we're going to have to train them fast. I've tried to design the system to be as simple as possible, but training materials will be necessary. Help with these would be extremely welcome.

Direction and Governance

I've boostrapped this project pretty much on my own. If it's going to be of use to the Yes movement, it's going to need to be directed from here on in by the Yes movement. I've built it very much in the hope that it might be adopted by the Radical Independence Campaign, but whether RIC does choose to adopt it or not, there will need to be a group of people both to direct the project and to help find resources for it. Is this something you could do?

Simon Brooke, 19th July 2018

This website stores session information as a 'cookie' on your browser. This helps us show you the content you want to see. This cookie does not identify you, and cannot be read by other websites. It is deleted by your browser as soon as you leave this site. This website does not use any third party cookies, so your visit here cannot be tracked by other websites.
About cookies