Tech stack

Jul 2, 2025 ยท 2 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.
  • nginx - current ingress controller
  • Google cloud, 3 server configuration (nothing is specific to cloud provider, can run on your own).

Core 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 - caching. Majority redis for connection management, but used Dragonfly (redis compatible) for the nodlin op-processor to utilise sharded key capabilities for distribution, performance. Operates in multi-node cluster.
  • imgproxy image processing (security and compression)

Monitoring & Observability

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 - for graph visualisation (quickchart as server in nodlin cluster).
  • 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.

ChatGPT
Authors
ChatGPT
Conversation AI
Conversational AI on almost any topic.