Configuration management for physical things

It worked last month. What's different now?

Layertrail keeps a living record of how your lab, test site, or installation is put together: every room, rack, assembly, part, and version. Save that record at the moments that matter, and Layertrail will show you exactly what changed between any two of them.

  • Test and development labs
  • Industrial test sites
  • Installed plants
  • Customer configurations
  • Museum exhibits

Free and open source · macOS, Windows, Linux · your data stays in a file on your computer

Layertrail comparing two snapshots of a lab. The tree marks two controllers and a test server as changed, a waveform generator as renamed, and a signal analyzer as removed. The side panel lists each change, such as controller firmware 4.1.7 changed to 5.0.2.Layertrail comparing two snapshots of a lab. The tree marks a test server and two controllers as changed, and the side panel lists each firmware change, such as 4.1.7 to 5.0.2.
A regression test failed after an upgrade. Comparing the last good configuration with the failing one finds six differences, including two controllers on new firmware, a server BIOS update, and an analyzer that left for calibration.

The problem

Configurations drift. The records don't keep up.

Spreadsheets lose the structure

Real equipment lives inside other equipment: a part in an assembly, in a rack, in a room. A flat sheet can't show that, and it has no memory of how things looked last week.

Nobody remembers what changed

Firmware gets updated, a unit goes out for calibration, a switch moves to another rack. Each change is small. Weeks later, finding out which one mattered takes days.

Tools built for software don't fit

Tools that track changes to code describe them as edited lines of text and expect you to manage commits and branches. That's the wrong language for a pump, a rack, or a display case.

What Layertrail is

Three ideas, working together.

Everything Layertrail does comes from three building blocks. Once these make sense, the rest of the app does too.

  1. 1

    A tree of what you have

    Your project is a hierarchy of nodes: sites, rooms, racks, assemblies, parts. Each node carries properties such as model, serial number, firmware version, or calibration date. Optional templates give every device the same typed fields and flag missing required values.

  2. 2

    Snapshots of important moments

    When the configuration is in a state worth remembering, such as before an upgrade or after a passing test, save a snapshot. It's a named, permanent copy of the whole tree, with an optional note about why it matters.

  3. 3

    Comparisons that explain

    Pick any two snapshots, or a snapshot and the current state. Layertrail lists every node that was added, removed, moved, renamed, or changed, with before and after values.

How it works

One lab, one bad week, start to finish.

These screenshots are from the real app, following a lab through a change that goes wrong. Select any screenshot to see it full size.

Step 1

Describe what you have

Build the tree by hand or import it from a CSV file or a NetBox export. Select any node to see and edit its properties. Layertrail saves as you go to a readable file in a folder you choose.

Layertrail showing a lab as a tree: Integration Lab with a Systems Room (Racks 2, 4, and 5) and a Bench Area. Controller C-2 is selected, showing its Device template properties: model BC-400, serial number, firmware 4.1.7, status in service.
Step 2

Snapshot the moments that matter

Save a snapshot before and after each change, with a note: the work order, the test run, the result. The timeline keeps every snapshot in order, and each node has its own history, so you can see when a controller's firmware changed and why.

A controller's history beside the snapshot timeline. Snapshots read initial-lab-config (regression run 6, all tests pass), new-equipment-installed, and software-upgrade-test-fails (regression run 8 fails). The controller history shows its firmware changing from 4.1.7 to 5.0.2 and back after a revert.
Step 3

Compare any two moments

Here, a power monitor was added and a switch moved from Rack 2 to Rack 4. Layertrail knows it's the same switch in a new place, not one removed and another added. It marks where the switch used to be and names its old and new parent.

A comparison between two snapshots. The tree marks Power Monitor PM-9 as added and Switch SW-14 as moved, with a faded entry where the switch used to be. The side panel explains the move: previous parent Rack 2, new parent Rack 4.
Step 4

Find the cause, then go back

After the upgrade, the regression run fails. Comparing the last passing snapshot with the failing one narrows the search to six changes. Revert to the good configuration with a note saying why. The failed attempt stays in the timeline, so the record is complete, and the comparison exports as a self-contained HTML, Markdown, or CSV report for anyone who doesn't use Layertrail.

Try this walkthrough yourself →

The comparison between new-equipment-installed and software-upgrade-test-fails. The tree marks Test Server TS-1 and both controllers as changed. The side panel lists each firmware change, such as 1.10.2 to 1.12.0 and 4.1.7 to 5.0.2.

What it's for

If it has parts, places, and versions, Layertrail can track it.

Layertrail doesn't assume what your things are. You choose the levels of the tree and the properties that matter. A few of the ways it fits:

Test and development labs

Rooms of racks, each machine with its own hardware and software versions. When a regression appears, compare the lab before and after and see the cause.

  1. Integration Lab
  2. Systems Room
  3. Rack 4
  4. Controller C-2
  5. firmware 5.0.2

Industrial system test sites

Hundreds of mechanical, electrical, and software components that change every week. Snapshot each test configuration and know exactly what was under test.

  1. Propulsion Test Site
  2. Test Cell 3
  3. Hydraulic Power Unit
  4. Pump P-201
  5. seal kit rev C

Installed plants and sites

What is actually installed in the field, line by line and station by station. Record each maintenance outage and see what it changed.

  1. Riverside Plant
  2. Line 2
  3. Filling Station
  4. PLC-07
  5. program v3.4.1

Customer configurations

One project per delivered system, or one tree of every customer. Before you ship an update, check exactly what each customer is running.

  1. Customers
  2. Northwind Labs
  3. Site A
  4. Analyzer System #114
  5. option pack 2

Museums and collections

Galleries, exhibits, cases, and objects, with loans, rotations, and conservation status. Snapshot each installation and keep a record of every change.

  1. City Museum
  2. East Gallery
  3. Maritime Exhibit
  4. Case 12
  5. loan ends 2027-06

Anything with parts that change

If it has a structure, properties worth tracking, and a history you need to explain later, it fits: AV installations, vehicle fleets, network closets, stage rigs.

  1. Your project
  2. Area
  3. Assembly
  4. Component
  5. any property

Is it for you?

A good fit, and what it isn't.

Layertrail fits if…

  • your configuration lives in spreadsheets, wiki pages, or someone's memory
  • you're regularly asked "what changed?" after something breaks
  • audits, handoffs, or test reports need the state of things at a recorded point in time
  • where something is installed matters as much as what it is
  • you need a history that can't be quietly rewritten: snapshots are permanent

Layertrail isn't…

  • a discovery or monitoring tool. It doesn't scan networks or read sensors. You record the configuration, or import it.
  • a shared server. It's a desktop app. A project is a folder you can copy, back up, or archive into a single file.
  • a version control system to learn. It uses Git internally for durable history, but you never see commits, branches, or merges.

Try it on a copy of your own configuration.

Layertrail is free and MIT-licensed. It's in early release, so it changes quickly, and feedback from real projects shapes what comes next.

Latest: Manifest v0.1.0-alpha.1 (alpha), October 23, 2026. What's new