Labnetik - Digitizing The Materials Testing Industry
The materials testing industry is a societal foundation that ensures that our civil structures are compliant, quality controled, and of the highest safety standards. It is valued at USD $6.5B and has continued to grow year over year for decades. As populations have increased so too have the demand for infrastructural buildings to facilitate their growth, increasing the demand beyond current capabailites. To increase the efficiency and overall effectiveness the materials testing industry needed a solution that addressed their innovational debt and ushered them into a new digitized era.
A cloud full-stack web and mobile-native application that facilitates the testing, scientific calucations, and client liasing of the Materials Testing industry.
Table of Contents
The Technology Stack
Labnetik starts with a fundamental design built to fit the needs of a decentralized organizational structure. One comprised of several stakeholders spanning different environments, responsibilities, and significantly different persona characteristics. At its baseline there needed to be a product that provided a distinctly different set of workflows for each segment of user. To meet the need we created a functions-first design facilitated through a native-mobile app and web-application.
Labnetik being used in its two different applications (mobile & web) with a variety of device specific views.
The Technology Stack
Main Stack
- NestJs - Back-End Framework
- React - Front-End Framework
- React Native - Front-End Framework
- MongoDB - NoSQL Database
Utilities & Libraries
- Redux - Application State Manager
- ReactQuery - Data Fetching Management
- Docker - Containerization
Infrastructure & Tooling
The Architecture
In Materials testing a significant amount of their work is facilitated by their satellite testing laboratories ran by teams of dedicated technicians. The Data architecture of our application decouples the organizational layers and allows the institution to separate, the Organization into Laboratory entities, that can hold or share various data objects. This allows the organization to fine-tune the passage of information between different laboratories without any need for duplicate information or worries about data security.
The admin page for creating, editing, and linking projects data.
With a flexible underline asset architecture we wanted to ensure that our user experience didn't dead-lock the functionality of our overall application. Like the parent-child relationship of organizations and laboratories, users can also be decoupled from organizations so they can belong to multiple laboratories, or multiple organizations. Something that is important for technicians that sit between organizations, like stakeholders overseeing regional processes.
To ensure this wasn't done at the cost of confidentiality, integrity, or availability, Labnetik ensures the ability for organizations to self-govern their information access management through a robust and flexible role or attribute base permissions system.
From a technical perspective the application was built on a monorepo in a monolithic arhitecture that was designed to be observable, flexible and scalable. From a product development perspective we were adament about developing a client-centric architecture that aligned with a product hierarchy of values that we believed would ensure the best adoption from the indsutry. Without listing every design decision of our architecture we can assert that we built everything with the following in mind; Security & data handling, compliance, client & employee management, Automation & Optimization.
The Workflow
Labnetik did many things, but it's core foundation was an engine for business process automation. Due to the the breadth of stakeholders,diversity in roles, and distributed locations the handling of documents was of the highest importance. Labnetik needed the kernel of its innovation to start with digitizing and simplifying document handling. That alone was no easy feat...
Example documents from a series of materials testing labs and test types.
To go through all of the workflows that were ingested and broken down into; swimlanes, process diagrams, and other visualizations would require more time than intended to take in this product document. Instead only one of the most common workflows is visualized below. This is in itself an abstraction and simplification of a generic test, but has enough information to provide a general understanding of the complexity of the workflows.
A highly simplified and abstracted workflow diagram of a test.
Features
With a shared reference of understanding we can start to examine some of the features that were built to facilitate the needs of this workflow alone.
Loose Business Requirement | Features |
---|---|
Creating An Organization with Labs | Registration + Authentication, Role Based & Attribute Based Permissions System, Organization Based Lab entities, Project sharing or isolating between labs, ... |
Creating Worker profiles | Profile creation system, Credential uploading system, geo-location tracking, ... |
Ticket Bidding & Assignment | Ticket sending and queueing system, Credential matching system, geo-location based approval calculations, ... |
Technician Dispatching | Work load scheduling, close-to real-time viewing of assets, chat communication system, ... |
Field Test Conducting | Offline-mode for low-connectivity, Shared back-end for singular test integrity, Ability to save and continue work when needed, Autofilling fields, ... |
Lab Scientific Operations | Advanced flagging of test anomolies or errors, Ability to facilitate complex multi-phase tests, Robust preset functionality to minimize input duplication, ... |
Document Genertation | Document creation system to customized the needs for every organization/lab/test, ... |
Client Liasing & Document Archiving | Document archive to view all completed reports, Ability to send documents from the application and track their status, Robust archive sorting and filtering, ... |
A table that is not an exhaustive list, but collection of some features and their associated business requirements.
All of these features contributed to the overall success of the application in providing a solution that increased their productivity, efficiency, and effectivness.
Feature: Organization Governence & Test Management
Feature: Scheduling & Dispatching
Feature: Document Generation & Client Liasing
The Outcomes
Labnetik was one of over 5+ projects that the team at Gyroscopic Inc delivered in its 4 years of operation. The product was one of our two main revenue lines that helped us ultimately secure our +3M in funding to continue our growth. It saw adoption from some of the largest materials testing companies in the North America and was met with praise from several industry partners.
Due to a series of business variables & market factors, the company was ultimately dissolved in 2023. At the moment the landing page can still be seen at labnetik.com though will most likey be taken down in the near future.
Regardless of the outran financial runway, the goal of creating a solution that would quantifably help the industry was met. A very ambitious and passionate team of engineers, designers, and business professionals came together to create a product that was truly innovative and impactful in a space that was in dire need of it. Though Labnetik will not be the product that transforms the industry, it will be the one to learn from for the next products that will ultimately do so.
Contributors
The entirety of this project was built by the amazing team at Gyroscopic Inc who I was so very lucky to work with. For archival significance some of the key contributors that I could reach for their permission are listed below.
type Contributor = {
name: string
role: string
linkedIn: string | null
}
const WaunBroderick: Contributor = {
name: 'Waun Broderick',
role: 'CTO & Dev Manager',
linkedIn: 'https://www.linkedin.com/in/waunbroderick/',
}
const ChrisBeetham: Contributor = {
name: 'Chris Beetham',
role: 'CEO & President',
linkedIn: 'https://www.linkedin.com/in/chris-beetham-566047185/',
}
const AidanPotts: Contributor = {
name: 'Aidan Potts',
role: 'CRO & Sales Director',
linkedIn: 'https://www.linkedin.com/in/aidanpotts/',
}
const KatieBurton: Contributor = {
name: 'Katie Burton',
role: 'Head of Product Design',
linkedIn: 'https://www.linkedin.com/in/k-burton/',
}
const TaylorMcLean: Contributor = {
name: 'Taylor McLean',
role: 'Staff Engineer',
linkedIn: 'https://www.linkedin.com/in/taylor-mclean-1b1b1b1b/',
}