Invenio
Full Stack Development
2017-2018

My involvement in the creation of Invenio has spanned across many aspects of product development, including the development of a robust and expandable application front end using React and Electron, architecting and performance testing big data queries using Elastic Search, and implementing continuous integration for deployment.

I joined the project after initial user research and a first draft of the information architecture had been completed, but no decisions had been made regarding development and deployment strategies. We chose to proceed with creating a React application wrapped in Electron, allowing us to support customers on multiple platforms and take advantage of native OS features such as push notifications.

Video demonstration available upon request
Because of the large amount of data we needed to show users, we looked to include charts as a way of showing data aggregations. No charting frameworks were available that could meet our requirements, so I took it upon myself to create bespoke data visualisations using D3 that matched our style guide and supported natural interactions, such as dragging across a portion of a timeline to change the time range being shown.
I was responsible for all aspects of the data flow between the server and application, which involved building a highly performant API using GraphQL and Elastic Search. It was important that any interactions a user made within the application that changed the data being displayed would load quickly.
We built our development environment to support automated application updates for users through continuous integration and deployment using Amazon Web Services. This enabled our development team to focus on features and improvements instead of spending time manually compiling and distributing updates.
Invenio is in continuous development with updates shipping regularly and has been exhibited at Infosecurity Europe since 2017.