I regularly organise events for groups, and doing so usually involves selecting a date which works for as many people as possible. In the past I’ve used services such as Doodle, but unfortunately they have started collecting more and more data about their users, and I’m not comfortable with this from a privacy perspective.
To address this problem, I decided to build a simple web application for running polls which would adhere to the following principles:
- Strong focus on privacy, collecting as little data as possible and deleting it as soon as it is no longer required.
- Simple accessible design that would work across as many devices and use cases as possible (e.g. screen readers).
- Minimal CSS and JavaScript, in order to load as quickly as possible and work on low bandwidth and high latency connections.
The result of my efforts is Pick a Date. It uses:
- Slim Framework for most of the business logic.
- Doctrine ORM for mapping database tables to PHP objects.
- MariaDB for data storage.
- Simple.css for a very basic stylesheet.
Key points include:
- Semantic HTML that should be accessible across devices.
- Minimal JavaScript – all using the built-in browser functionality.
- No third party assets such as stylesheets, fonts etc. Everything is served directly from pickadate.uk.
- No cookies.
- Automated closing and deletion of polls (and votes) after a set period.
Poll creation is open to anyone and you don’t have to create an account – everything is done via sharing URLs. Please let me know if you have any feedback – I’d love to hear from you.