Everyone's Library for Brighton and Hove Libraries

React, Bootstrap, Google Firebase, Google Cloud Functions, ReCAPTCHA

I partnered with Brighton and Hove Libraries and creative agency Boyle and Perks on a public installation promoting their Everyone's Library campaign.

The installation invited users to share what the library means to them. The installation attracted nearly 600 contributions over a two week period during January, 2024, at Brighton’s central Jubilee Library.

Brighton and Hove Libraries hope to take the project on tour.

The campaign builds on the idea that the library is a space that means different things to different people. What you make of the library is up to you, but what is always true is that it’s free and open to everyone. The hope was to inspire the next generation of library users.

The project was made of three parts. Each part was a page of a website. The site was built with React and Bootstrap. Google Firebase and Google Cloud Functions were used for the backend.

The onsite iPads allowed visitors to submit comments. The iPads were put in guided access mode and the Add to Home Screen feature of iOS was used to make them feel like native apps. A profanity filter and ReCAPTCHA were used for security.

The comments submitted were shown on a large digital wall display, in a random grid that grew progressively, as more submissions were made. Users could customise the shape and colours of their messages.

A secure admin panel was available to library staff to manage the campaign. From here comments could be pinned as favourites or deleted. It was also possible to download comments as images and to download the contents of the database.

Technical skills

Core skills are those that I use every day, or at least frequently. Legacy skills are those that are deprecated or that I rarely use and my experience is likely to be a few versions behind.
  • JavaScript
  • React, JSX
  • CSS3 and SASS
  • Bootstrap
  • HTML5
  • Adobe CS
  • Sketch, Zeplin, Figma
  • GIT cli, GitHub, SourceTree
  • Webpack, Gulp, Grunt
  • JIRA, Confluence
  • Agile, SCRUM
  • Visual Studio Code, Sublime Text, WebStorm
  • StackOverflow
  • AngularJS
  • jQuery
  • Foundation
  • Adobe Flash
  • ActionScript
Deep dives
Deep dives are where I’ve completed, or contributed to, a significant personal or professional project, but would not consider myself to be up to commercial standards.
  • iOS, Swift, XCode
  • C#, Unity
  • C#, .NET
  • Java
  • Vue.js
  • Node.js
  • PHP, Laravel
  • Python
  • Arduino
  • Processing
  • C++
  • Zilog Z80 assembler
  • Motorola 68000 series assembler
  • Multiple BASIC compilers
  • Pascal
  • MAX
  • FMOD

Non-technical skills

  • Project management
  • Can work in teams or independently
  • Writing briefs
  • Documentation
  • Wireframing
  • Sympathetic to financial, business, and technical constraints
  • High standard of written English
  • Creative writing
  • Able to present technical subjects in simple terms
  • Able to communicate appropriately with clients
  • Able to communicate effectively with all roles found in a typical production environment
Personal qualities
  • Calm, friendly, and approachable
  • Solution-focused, can-do attitude
  • Willing to go outside my comfort zone
  • Curiosity
  • Eye for detail
  • Eagerness to learn new things
  • Fast learner