Challenge
The overarching challenge of the project was ensuring that the processes behind the information processing and static-site generation were both frictionless endeavours. For this reason, ensuring that performance was satisfactory would be at the forefront of every development decision made hereafter.
Solution
With performance at the helm of our decision-making process, NorthLink opted for GatsbyJS as our site-generation tool of choice: a package that combines the associated functionalities of React, GraphQL and Webpack into a unified, open-source framework.
NorthLink leverages Gatsby to provide blazingly-fast static-site generation with automated optimisation, security and scalability in order to maximise site responsiveness upon generation. As a crucial sidenote: Gatsby allows for the development of sites (using React) that will work with virtually any required data source.
To style the UI, NorthLink uses Tailwind CSS: a utility-driven, highly-customisable CSS framework that allows us to deliver tailor-made, pixel-perfect visual design in tandem with the bespoke static webpages being generated.
The use of Tailwind offers additional benefits to the development process, including the acceleration of CSS styling procedures; the added responsiveness and security of pre-built classes and the fact that Tailwind has proven to be a stable, lightweight and responsive framework since its inception.
Finally, the static-site would require a means to visually manipulate and present the data being provided from its sources to the user. To this end, we utilise a series of D3 visualisations (via D3.js: a JavaScript library for manipulating data documents using HTML, SVG and CSS) to visually represent the information provided in a way that adheres to modern web browsers and standards: this ensures that data manipulation is undertaken in a fundamentally efficient way.
In closing, the combination of GatsbyJS static-site generation, Tailwind styling and D3 data visualisation results in a lightweight, high-performance, data-driven platform that can acclimate to all manner of data due to be processed at our client’s request.
Technology Stack
- D3.js
- GatsbyJS (GraphQL, React, Webpack)
- HTML/CSS
- JavaScript
- Tailwind (CSS)