Every device configured by hand is a chance for drift, inconsistency and an undocumented change. We automate the work that should never vary, using Python, Ansible and your devices' own APIs, so a small team can run a large, consistent network.
Automation earns its place when manual work can no longer keep up with scale, consistency, or the number of systems that have to agree. That pressure shows up two ways: many sites that should be identical, and single environments complex enough that their tools drift apart.
Dozens or hundreds of locations that should match. Configured by hand, each one takes hours and quietly diverges from the rest.
One campus or data centre where network, access control and address management live in separate systems that get reconciled by hand.
Devices that started identical have diverged through local fixes and undocumented changes, with no reliable way to detect it.
A handful of engineers cannot touch every device by hand. Automation lets a small team operate at a much larger scale.
We automate the repetitive, error-prone work and leave the judgement to your engineers. We build in Python and Ansible, against the APIs and CLIs of the gear you already run: Cisco, MikroTik, Extreme, Infoblox, and our own products where they fit.
Complete device configs generated from a template. Ship the hardware, plug it in, done. Zero-touch.
Firmware rolled out in stages across the fleet, with automated validation before and after each step.
Automated checks against your standards. Drift is detected and surfaced, not discovered during an incident.
Version-controlled configurations: backups, diffs and a clean roll-back when a change goes wrong.
Network, access control and address management kept in sync automatically. We connect tools like Infoblox, Extreme and Cisco so host data flows between them without manual comparison.
Portals and APIs that let the people making a request fulfil it themselves, instead of a ticket queue.
We automate with the open, standard tools your engineers can read, run and own. Python for the logic, Ansible for orchestration, a source of truth for the data, version control for history, and the devices' own APIs and CLIs underneath.
That keeps the automation portable and vendor-neutral. It stays yours after we hand it over, and it plugs into whatever you already run.
❯ nwos toolchain toolchain ├─ logic Python - Jinja ├─ orchestration Ansible - Nornir ├─ source-of-truth NetBox - Nautobot - OpsMill - Infoblox ├─ interfaces REST - gNMI - NETCONF - SSH └─ history Git # your devices; any vendor, API or CLI ❯
We build automation on top of what you already run, then hand it over so your team can carry it.
Understand the devices, vendors, site types and workflows, and find the automation that pays back fastest.
Establish templates, naming conventions and configuration baselines for each device and site type.
Build provisioning, firmware, compliance and integration workflows in Python and Ansible, against your devices' own APIs and CLIs, whatever the vendor.
Documented, version-controlled workflows plus training, so your team can maintain, extend and evolve the automation independently.

«sciCORE, the scientific high-performance computing center of the University of Basel, depends on a stable and reliable network infrastructure. Working with narrowin helps us to ensure this.»
In practice: the Ansible automation we developed with sciCORE has been released as open source.
Three networks, three automation problems: scaling many sites, integrating a campus, and standardising a research fabric.
From 20 to 2,000+ sites with template-based config generation and zero-touch deployment at telecom scale.
Infoblox, Extreme XMC and the Cisco WLC integrated into one automation layer, with a self-service portal that lets a small team run a large campus.
A standardised, lab-validated network fabric for high-performance computing that stays consistent and manageable as it grows.
Your existing stack. We work in Python and Ansible against your devices' APIs and CLIs, with a source of truth such as NetBox, Nautobot or Infrahub at the centre. The toolchain is vendor-neutral: if a device exposes an API or a CLI, we can automate it. Our own products plug in where they help, never as a requirement.
Almost certainly, and no rip-and-replace. We have shipped automation across a wide range of platforms, from core switching and routing to firewalls, wireless and industrial gear. Anything reachable over an API, NETCONF or SSH is in scope.
Templates support site-specific parameters and overrides. Not every site is identical, but the structure should be. Exceptions are documented and tracked, not hidden in local configs.
We build the automation and hand it over documented and version-controlled, with training. Day-to-day operation does not require deep scripting. Extending it benefits from basic Python and Ansible familiarity, which the training covers.
How automated operations play out on real customer networks.
Fig. — campus integrationInfoblox, Extreme and Cisco integrated into one automation layer, with a self-service portal for a small team.
Read →
Fig. — zero-touchA secure, segmented, zero-touch connectivity architecture that scales to hundreds of sites.
Read →
Fig. — sciCOREA standardised, lab-validated fabric for the University of Basel's scientific computing centre.
Read →If manual configuration is holding you back, let's find the automation wins that pay back fastest.
Discuss automation