Markus Brigl · Model-driven and spec-driven development

SoftwareArchitect

I'm a software architect and fullstack developer in the field of model-driven and spec-driven development.

My vision See the projects

Product Owner at Würth IT Italy, Bolzano

23 yrs

building software, since 2003

8 yrs

as CTO, 2016 to 2024

CAFM · GIS

enterprise domains

01 / Vision

Models and specs outlive the stack

Software should be described by what it means, not by the technology it happens to run on.

Since 2003 I have worked on one idea: describe the system first, then let tools produce the technology. From UML-based ERP frameworks and an Eclipse code generator to a low-code platform on hexagonal architecture, the stack changed many times. Today, with AI in the loop, the written specification takes the same role: specs and architecture decisions define the intent, and coding agents build against them. What stays is the description of intent.

STAYS

Model and spec

The description of intent

  1. 2003

    ERP/CRM platform

    Model-oriented Java · UML

  2. 2005

    Eclipse code generator

    UML2 designer · enterprise Java

  3. 2016

    Low-code CAFM platform

    MDA · hexagonal · Java, C++, Rust

  4. 2026

    Spec-driven with agents

    Specs · ADRs · coding agents

The stack changed with every generation. The description of intent stayed.
01

Start from the model

Describe what a system means, independent of any platform. Technologies change, the model stays.

02

Write the spec first

Specifications and architecture decision records define intent before code. People decide, agents implement, and the spec is the contract between them.

03

Keep the core independent

Hexagonal architecture keeps business logic free of frameworks, so the stack can evolve without disrupting it.

04

Generate, don't repeat

Generators, templates and coding agents turn models and specs into running code, so effort goes into decisions instead of boilerplate.

02 / Projects

Selected repositories from my account and from the HiveVM organization.

Fleet management based on OpAMP. A Rust implementation of OpenTelemetry's OpAMP protocol with an API-first server and a native client that supervises many agents.

  • Rust
  • OpAMP
  • Hexagonal
  • Specs + ADRs
Rust Apache-2.0 144 commits Updated Oct 2026

HiveVM CC, a parser generator forked from JavaCC. Tree building is defined inside the grammar; a Gradle plugin generates parsers in Java, C++ or Rust.

  • Parser generator
  • Gradle plugin
  • Java · C++ · Rust
Java BSD-3-Clause 1,327 commits Updated Oct 2026

Node-based visual workflow engine and UI coordinator. A browser node editor on WebGL2 with a Rust engine compiled to WebAssembly, built for tens of thousands of nodes.

  • Rust
  • WebAssembly
  • WebGL2
  • Specs + ADRs
Rust · TypeScript MIT 22 commits Updated Oct 2026

View and edit Git repositories. A Git client that draws history as a lane graph, as desktop app (Tauri), terminal app or read-only remote server.

  • Rust
  • Tauri
  • Git
  • Web UI
Rust · TypeScript MIT 52 commits Updated Oct 2026

SQLite loadable extension for GeoPackage file access. A fork of luciad/libgpkg, revived with a specification, conformance notes and ADRs.

  • C++
  • GeoPackage
  • SQLite
  • Specs + ADRs
C++ Apache-2.0 367 commits Updated Aug 2026
hivevm/nuc Public

Template for agentic development in a Dev Container. A written specification and architecture decision records guide the work, and one AGENTS.md rules file is read by all coding agents.

  • Spec-driven
  • Dev Container
  • AGENTS.md
Shell MIT 16 commits Updated Oct 2026

03 / Career

Platforms built from models

Every role since 2003, from a UML-based ERP platform to product ownership with AI in development.

  1. 2026 – today

    Product Owner · Würth IT Italy

    NetEye: monitoring, observability and security

    Product Owner of NetEye, with around 100 people across development and sales. Responsible for backlog, roadmap, stakeholders and prioritization up to the product vision. Brought AI into development at scale and fostered communication between the teams.

    • Product ownership
    • Roadmap
    • AI-assisted development
  2. 2025 – 2026

    Software Engineer · PRO DATA

    ERP for crafts, fruit and wine growing

    Senior engineer in a small team. Modernized the development process from Subversion to Git with automatic builds, built a container-based integration test environment on real databases and introduced code generation for business applications. Brought in a graphical scheduler and declarative modeling, and developed a tunnel with automatic updates for secure remote access to customer devices such as POS systems and printers via the cloud.

    • Git
    • Containers
    • Code generation
    • Remote access
  3. 2007 – 2024

    CTO & Partner · TOL GmbH

    1. 2016

      Territorium Online integrated into TOL GmbH

    2. 2008 – 2016

      Software Architect & Partner · Territorium Online

      WebGIS 3.0 and mobile GIS

      The third generation of the WebGIS platform, at around 30 customers, mostly public administrations, with several thousand users, built with a team of three to four. A layered architecture on the WMS and WFS standards, a UI fully in JavaScript and communication via REST. Native mobile apps for iOS and Android capture data in the field, store it offline and synchronize it, rendering maps on the device through a port of the MapServer C library. A model-driven web application brought GIS into facility management.

      • WMS/WFS
      • REST
      • C++/Qt
      • UMN MapServer
      • pgRouting
    3. 2007

      Software Developer · Territorium Online

      Web GIS for public administrations

      A web GIS application for public administrations in northern Italy and southern Germany, in a team of two. Designed an architecture with a clear separation of UI and business logic, and introduced version control and a ticket system.

      • JavaScript
      • HTML5
  4. 2005 – 2006

    Co-founder & CEO · Alpisco

    UML2 designer and code generator for Eclipse

    Co-founded with two colleagues to make software modelable end to end. A graphical UML2 designer plugin for the Eclipse IDE with automated code generation for enterprise Java applications and business process automation.

    • Eclipse
    • UML2
    • EJB
    • Linux
  5. 2003 – 2004

    Requirements Engineer · Würth Phoenix

    Model-oriented Java platform for ERP/CRM

    A model-oriented Java platform for building ERP/CRM systems, which became the basis of the ERP system for the Würth Group. Grew from platform developer for the application layer to Requirements Engineer of the entire platform, in a team of about 15.

    • UML
    • Java
    • Linux

Let's talk architecture

Model-driven and spec-driven development, platform architecture or a collaboration.

LinkedIn GitHub