Tech stack

Jul 2, 2025 ยท 3 min read

The following list is not meant to be exhaustive, but rather to give a sense of the technologies used in Nodlin and what I found to be the most productive. I know there are many more & strong opinions around this. Its just what I found to be the most productive as nodlin was being developed.

Development environment

  • Golang - chosen for fast development, speed and scalability
  • Vue3/typescript - for WWW development. Modern, fast, reactive, component based.
  • Hugo server - landing page and documentation, an efficient CMS
  • Golang & Webstorm from jetbrains - for development.
  • make - for build automation (because it just works)
  • github - for source control.
  • vite - frontend build tool

Containerisation & Deployment

  • Docker - for containerisation, & with kubernetes for local development
  • Kubernetes - for container orchestration.
  • Helm - for deployment automation. A HELM file is provided to install on your kubernetes cluster, either a public provider like GKE, or to a local Docker k3d on your local machine.
  • nginx - current ingress controller
  • Google cloud, 3 server configuration (nothing is specific to cloud provider, can run on your own).

Core Services

  • Caddy is the front-door, a lightweight web server that automatically manages TLS and routes incoming requests, acting as the secure entry point that handles HTTPS and forwards traffic to the right internal services.
  • cert-manager is a Kubernetes controller that automates the issuance and renewal of TLS certificates, ensuring secure HTTPS communication across Nodlin services.
  • DGraph - graph database, horizontally scaleable, fast (optimised for SSD)
  • NATS - for messaging. This is pub/sub topic based. Extremely fast (non-persistent) and scalable. All communication between agents, services is NATS based. Operates in multi-node cluster. Small and simple. Can be included as a ’library’ into builds if required to reduce network hops.
  • Redis & Dragonfly is a high-performance, Redis-compatible in-memory data store used for caching, fast data access, and transient state within Nodlin.
  • imgproxy is an on-the-fly image processing service that resizes, crops, and optimizes images dynamically before delivering them to users. This uses signed URLs and strict request validation to ensure only authorised image transformations are executed, preventing arbitrary access, abuse, or exposure of internal resources.
  • minio is an S3-compatible object storage service that stores and serves files such as documents and media. Files can be attached to nodes in nodlin and can also be accessed by the agents as required in processing. Only office documents are recorded in Minio.
  • Keycloak - is an identity and access management service that handles user authentication, single sign-on, and secure token issuance for accessing Nodlin services.
  • PostgreSQL is a robust relational database used to store structured data, transactions, and system state utilised by Grafana and Only Office for document collaboration.

Optional services

  • OnlyOffice is a document editing and collaboration service that provides in-browser editors for files like Word, Excel, and PowerPoint, integrated directly into Nodlin. The community version is installed by default but you can change for a fully supported enterprise licence.

Monitoring & Observability

  • Prometheus - metrics collection
  • Grafana for observability, Prometheus collects metrics, while Grafana and Loki provide dashboards and log analysis.

Visualisation & UI Libraries

  • cytoscape.js - for graph visualisation. Not ideal for reactivity - but made various enhancements. Cluster arrangements also lacking so (employed binpacking algo) into the mix.
  • quickchart and chart.js is a stateless chart rendering service that generates charts from simple configuration data, returning them as images for embedding in Nodlin outputs. This is accessible to all nodlin agents.
  • excalidraw & veury - for diagrams (veury required to allow Vue3/react integration)
  • vueform - for form generation
  • codemirror - for code editor.

Scripting

  • starlark - for ‘python like’ scripting. Extended to integrate with Nodlin.

Nodlin agents designed to be stateless and will scale based on configuration in nodlin admin panel. All services are designed to cater for high availability.

John Harrington
Authors
John Harrington
Founder
A technology leader and software architect with 20+ years in financial services and enterprise systems, founder of Nodlin Technologies Ltd๏ฟผ, building connected AI-driven operational intelligence platforms.