{
  "commit": "616ff42ca88d39fab9c727500247b7c72302fe62",
  "root": "Robert Blust",
  "rootId": "identity",
  "types": [
    {
      "type": "experience",
      "folder": "experiences",
      "owner": "profile",
      "singular": false
    },
    {
      "type": "experience-kind",
      "folder": "experience-kinds",
      "owner": null,
      "singular": false
    },
    {
      "type": "identity",
      "folder": null,
      "owner": null,
      "singular": true
    },
    {
      "type": "proficiency-level",
      "folder": "proficiency-levels",
      "owner": null,
      "singular": false
    },
    {
      "type": "profile",
      "folder": "profiles",
      "owner": null,
      "singular": false
    },
    {
      "type": "skill",
      "folder": "skills",
      "owner": null,
      "singular": false
    },
    {
      "type": "source",
      "folder": "sources",
      "owner": null,
      "singular": false
    },
    {
      "type": "value",
      "folder": "values",
      "owner": null,
      "singular": false
    },
    {
      "type": "vision",
      "folder": null,
      "owner": null,
      "singular": true
    }
  ],
  "entities": [
    {
      "id": "experience-kinds/community",
      "type": "experience-kind",
      "name": "Community",
      "tagline": "Work done in public — a talk, a seat, a working group, a published case.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A period whose output is addressed to a public rather than to one organization: a conference\ntalk, a board or committee seat, a user group, a case study published under someone else's\nname, a tool put out in the open. Who paid for the time does not decide the kind; an employer\ncan host a talk or publish an article and the period is still this kind, because the audience\nis. `organization` names the host where there is one — the conference, the group, the\npublisher, the employer when it published the work itself — and is absent when nobody hosted\nit.\n\nA talk writes `end` equal to `start`; a board seat held for years does not. Both are this kind:\nwhat makes it community work is the audience, not the duration.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/experience-kinds/community.md"
    },
    {
      "id": "experience-kinds/education",
      "type": "experience-kind",
      "name": "Education",
      "tagline": "A degree, a certification, a course.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A period whose output is a qualification rather than a delivery. `organization` names the\nawarding body — the school, the certifying institute — the one case where the field does not\nname somewhere work was done.\n\nLearning that happened during a role is not this kind. Every role teaches something; what makes\na period education is that the qualification is the point of it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/experience-kinds/education.md"
    },
    {
      "id": "experience-kinds/independent",
      "type": "experience-kind",
      "name": "Independent",
      "tagline": "A self-directed period with no employer and no client.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A period worked for oneself: what to build and whether to build it were the same person's\ndecision, and nobody commissioned the result. `organization` is absent, because there is none —\nwhich is the difference a reader would otherwise have to infer from an empty field.\n\nIt is not a project: nobody asked for the delivery, and the period is not bounded by it. It is\nnot a role: there is no organization to hold a position in. Those two readings are what this\nkind exists to avoid having to choose between — a career break spent building products is\nneither, and saying so is cheaper than pretending it is one of them.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/experience-kinds/independent.md"
    },
    {
      "id": "experience-kinds/project",
      "type": "experience-kind",
      "name": "Project",
      "tagline": "A delivery worth naming on its own, inside a role or beside one.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A period defined by what it produced rather than by whom it was spent with: a platform, a\nmigration, a launch. Client work and internal work alike. `organization` names the client, or\nwhoever the work was done for when that is not the employer. Where the client cannot be named,\nit names the employer the work was done through, and the body says the client is unnamed.\n\nIt ends when the delivery does. A project with no end and no deliverable is a role described by\nits current work.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/experience-kinds/project.md"
    },
    {
      "id": "experience-kinds/role",
      "type": "experience-kind",
      "name": "Role",
      "tagline": "A position held in an organization — the employment history.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A period spent working for an organization under an arrangement that outlasts any one piece of\nwork: employment, a long contract, a partnership. `organization` names the employer.\n\nIt is not a delivery. What was built during a role is a project of its own, and a role whose\nachievements describe one system is usually two periods written as one. The test is whether the\nperiod would have continued had the work changed: if it would, it is a role.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/experience-kinds/role.md"
    },
    {
      "id": "identity",
      "type": "identity",
      "name": "Robert Blust",
      "tagline": "A company of one: technology leadership and business architecture, and the models that let people and agents both work inside a business.",
      "fields": {
        "source": "Local",
        "email": "robert@blust.ch",
        "location": "Wallisellen, Switzerland",
        "url": "https://blust.ch"
      },
      "sections": [
        {
          "heading": "What it is",
          "text": "One person, described in CompanyGraph as a company would be. The work is technology\nleadership, business architecture and model-driven engineering — lately turned on the business\nitself, so that a company is legible to the people who run it and to the agents that\nincreasingly work alongside them.\n\nThis instance is both the description and the proof: the same discipline sold to a company,\napplied first to its author.",
          "tables": []
        },
        {
          "heading": "Also at",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Where",
                "URL"
              ],
              "rows": [
                [
                  "GitHub",
                  "https://github.com/robertblust"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Where",
              "URL"
            ],
            "rows": [
              [
                "GitHub",
                "https://github.com/robertblust"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "model/identity.md"
    },
    {
      "id": "proficiency-levels/competent",
      "type": "proficiency-level",
      "name": "Competent",
      "tagline": "Reliable alone. Unsupervised work with a predictable result.",
      "fields": {
        "source": "Local",
        "rank": "20"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Someone at this level works with it unsupervised and the result is predictable. They recognize\nthe common failure modes, having run into them.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/proficiency-levels/competent.md"
    },
    {
      "id": "proficiency-levels/expert",
      "type": "proficiency-level",
      "name": "Expert",
      "tagline": "Knows the limits. Has worked below the surface, shaped it, or taught it.",
      "fields": {
        "source": "Local",
        "rank": "40"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Someone at this level knows where it breaks down and where it is simply wrong. They have worked\nbelow its surface, shaped it, or taught it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/proficiency-levels/expert.md"
    },
    {
      "id": "proficiency-levels/familiar",
      "type": "proficiency-level",
      "name": "Familiar",
      "tagline": "Needs support. Real use, with guidance or frequent reference.",
      "fields": {
        "source": "Local",
        "rank": "10"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Someone at this level has used it on real work, with guidance or frequent reference. They can\nfollow a conversation about it and make sense of other people's work in it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/proficiency-levels/familiar.md"
    },
    {
      "id": "proficiency-levels/proficient",
      "type": "proficiency-level",
      "name": "Proficient",
      "tagline": "Exercises judgment. Chooses between alternatives and can say why.",
      "fields": {
        "source": "Local",
        "rank": "30"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Someone at this level makes judgment calls in it and can explain why the alternatives are\nworse. Other people bring them their questions.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/proficiency-levels/proficient.md"
    },
    {
      "id": "profiles/robert-blust",
      "type": "profile",
      "name": "Robert Blust",
      "tagline": "Technology executive and business architect — over 25 years building platforms and products from explicit models, now modeling the company itself so people and AI agents can both work inside it.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "Skills",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Skill",
                "Level",
                "Evidence"
              ],
              "rows": [
                [
                  "Agentic AI development",
                  "Expert",
                  "Built LIKE MAGIC's internal AI marketplace on Claude, giving teams governed access to assistants and agents grounded in the Mental Model (2022–2026). Built CompanyGraph and GuestGraph agent-first under written conventions that encode the failure modes: an unresolvable reference is an error rather than a warning, and every validation pass names what it did not check (2026)."
                ],
                [
                  "Agile delivery",
                  "Competent",
                  "Served as Scrum Master and technical lead on central UBS Wealth Management & Swiss Bank initiatives (2009–2015). Certified SAFe 4 Practitioner (2016)."
                ],
                [
                  "AI governance",
                  "Proficient",
                  "Defined LIKE MAGIC's AI governance and held the company to it: a Human Oversight principle, guardrails against training external LLMs on internal context, multi-provider tooling and cost governance (2022–2026)."
                ],
                [
                  "AI strategy",
                  "Proficient",
                  "Authored and executed LIKE MAGIC's company-wide AI strategy, from the internal rollout of assistants across planning, delivery and operations to shipped customer-facing AI, with d3x, ailean and onsai integrated into the staff solution (2022–2026)."
                ],
                [
                  "AI tool integration (MCP)",
                  "Competent",
                  "Wired Atlassian, Google Drive and Slack MCP servers into the agent that maintained the LIKE MAGIC Mental Model, each command scoped to a named allowlist of tools, so the knowledge base stayed in step with the systems it described (2022–2026). No server authored: the platform's own MCP layer was still roadmap at exit, as CompanyGraph's is now"
                ],
                [
                  "API design",
                  "Expert",
                  "Established API and data management for UBS Wealth Management & Swiss Bank with generated XML-Schema and WSDL service contracts (2009–2015). Set 3AP's reference architecture so the service cut decided what each service exposed (2015–2022). Gave Stay KooooK its API surface from the first commit, REST specified in OpenAPI, generated from the code and secured by OAuth 2.0 (2020–2022). Led LIKE MAGIC's API-first strategy to a partner API documented in the open, REST on OpenAPI 3.1 with webhook subscriptions and OAuth 2.0 scopes over property, reservation, guest, messaging, door access and task resources (2022–2026)."
                ],
                [
                  "Business architecture",
                  "Expert",
                  "Drove business architecture and capability modeling on EMF/Ecore at UBS Wealth Management & Swiss Bank (2009–2015). Mapped LIKE MAGIC's 12 business domains as concepts with the capabilities under each, and cut the platform, the teams and the product strategy along that map (2022–2026)."
                ],
                [
                  "Business process modeling (BPMN, DMN)",
                  "Proficient",
                  "Modeled the guest journey from booking to check-out in Camunda BPMN for Stay KooooK (2020–2022). Published the model as the subject of an article on monitoring a process by the message it is still waiting for (2021). Carried the model into LIKE MAGIC, where it ran the journey until the orchestration was replaced (2022–2023)."
                ],
                [
                  "Change management",
                  "Proficient",
                  "Replaced UBS Wealth Management & Business Banking's proprietary engineering process with a market-standard one as owner of its Analysis & Design discipline, coaching project teams into it (2004–2009). Drove LIKE MAGIC's productive rollout of AI assistants across planning, delivery and operations (2022–2026)."
                ],
                [
                  "CI/CD",
                  "Proficient",
                  "Put Jenkins and Sonar in the SDLC toolchain UBS Wealth Management & Swiss Bank released inside (2009–2015). Wrote the delivery pipeline into 3AP's reference architecture so a project inherited it rather than arranging its own, Jenkins at Swisscard, Flawa iQ and Lost-Tag, CircleCI at Conperi and Ursina (2015–2022). Released Lost-Tag's iOS app to the App Store from a scripted pipeline (2016–2021). Made the build the gate on 3AP's platform, every branch analyzed on SonarCloud with coverage attached and a green mainline deploying itself to the cluster (2019–2021). Set LIKE MAGIC's standards on GitHub Actions, with unit and integration tests on every run (2022–2026)."
                ],
                [
                  "Cloud architecture",
                  "Expert",
                  "Targeted 3AP's reference architecture at Kubernetes and no cloud in particular, so a client's platform was a deployment decision, Google Cloud at Aroov and Stay KooooK and AXA's own on-premise OpenShift (2015–2022). Ran 3AP's notification services on Swisscom's Cloud Foundry and Google Kubernetes Engine at the same time, one binding a broker as a managed service and the other running it as a container (2019). Owned LIKE MAGIC's production platform on Google Cloud (2022–2026). Designed GuestGraph for managed platform services without binding it to a provider (2026)."
                ],
                [
                  "Community building",
                  "Expert",
                  "Built internal communities of practice at UBS and led the division's Java Chief Developer committee for two years (2004–2009). Co-led that committee for a further five years (2009–2015). Represented UBS in the Eclipse Modeling Platform Working Group (2010–2011). Co-organized the three Eclipse events UBS hosted in Zürich, MDD Day 2010 and Finance Day 2012 and 2014 (2010–2014). Served on the board of the Swiss Eclipse User Group within JUG Switzerland (2011–2014)."
                ],
                [
                  "Company vision and strategy",
                  "Expert",
                  "Co-founded 3AP and sat on the management team that took it from 5 to about 70 people (2015–2022). Co-founded LIKE MAGIC and set its product, platform and AI strategy (2022–2026). Put two open-core products up for scrutiny with a billing model and a stated outcome each, a clean no included (2026)."
                ],
                [
                  "Consulting",
                  "Proficient",
                  "Created the technical concepts, proposals and pitches for 3AP's client work as CTO and advised Credit Suisse, Swisscard, AXA and Mobiliar on the architecture behind theirs (2015–2022)."
                ],
                [
                  "Container orchestration (Kubernetes)",
                  "Proficient",
                  "Built Conperi's platform on Google Kubernetes Engine from cluster creation up, GPU nodes included (2018–2020). Ran the Aroov and Stay KooooK backends on Google Kubernetes Engine (2019–2022). Stood up Ursina's whole environment, cluster, managed database, certificates, ingress and tunnels, from a script rather than a console (2020). Ran the LIKE MAGIC platform on Google Kubernetes Engine (2022–2026)."
                ],
                [
                  "Context engineering",
                  "Expert",
                  "Built the LIKE MAGIC Mental Model as the organization's shared context layer and shipped it as a skill into the company's Claude environment (2022–2026). Generalized the approach into CompanyGraph, a published meta-model for describing a company as a graph both people and agents can read (2026). Briefed a podcast episode on the career break from the model's own files and read the generated result against its sources before publishing it (2026)."
                ],
                [
                  "Conversational AI",
                  "Proficient",
                  "Architected the integration of d3x, ailean and onsai into LIKE MAGIC's staff solution, unified multi-channel guest messaging with AI agents answering, guest insights and staff handover (2022–2026)."
                ],
                [
                  "Data engineering",
                  "Proficient",
                  "Fed Credit Suisse's Master Data Repository from static source-code analysis and several source systems (2016). Fed Flawa iQ's LoRaWAN telemetry into the ERP (2018–2019). Pulled 3AP's own staff directory and time records onto its platform, kept current by a scheduler rather than by anyone remembering (2019–2021). Built LIKE MAGIC's event and data hub, the sink for every business event its services published, ingested into BigQuery, idempotent on the event id so a redelivery cannot double-count and served back as a queryable event log (2022–2026)."
                ],
                [
                  "Data governance",
                  "Competent",
                  "Built Credit Suisse's Master Data Repository so data stewards could be assigned and the golden-source distribution across the core systems mapped (2016)."
                ],
                [
                  "Data modeling",
                  "Proficient",
                  "Built the canonical data model for UBS Wealth Management & Swiss Bank's enterprise data management (2009–2015). Presented Eclipse data modeling at enterprise scale at Eclipse Day Florence, co-presented with the CDO project lead (2012). Designed the organization model behind the Flatland CDO Server bitemporally, what was in force on a date and what the repository said on a date kept as separate questions (2014–2022)."
                ],
                [
                  "Data protection (GDPR)",
                  "Competent",
                  "Ran LIKE MAGIC's GDPR compliance, including the guardrail that no internal context trained external LLMs (2022–2026)."
                ],
                [
                  "Database design",
                  "Proficient",
                  "Designed DynaRep's repository on Oracle (2004–2009). Built the Swisscard rewrite on MSSQL (2015–2016). Set 3AP's reference architecture on MongoDB for AXA Health, Flawa iQ and Conperi, then moved it to PostgreSQL from Aroov onward once those platforms showed their data was read and written relationally (2015–2022). Ran LIKE MAGIC on PostgreSQL with R2DBC and jOOQ (2022–2026)."
                ],
                [
                  "DevOps",
                  "Expert",
                  "Wrote the delivery pipeline into 3AP's reference architecture so a project inherited it rather than arranging its own, and established the company's delivery process and stack approvals (2015–2022). Built and ran LIKE MAGIC's production platform on Google Cloud as infrastructure as code, GitHub Actions running unit and integration tests on every change and the same team building and operating it (2022–2026)."
                ],
                [
                  "Domain-driven design",
                  "Proficient",
                  "Drove UBS Wealth Management & Swiss Bank's business architecture and capability modeling on EMF/Ecore, where a canonical data model was what every interface contract in the division was defined against (2009–2015). Cut LIKE MAGIC's platform along its 12 business domains and the capabilities under each, so service and team boundaries followed the domain rather than the technical layering (2022–2026)."
                ],
                [
                  "Domain-specific language design",
                  "Expert",
                  "Built DynaRep's repository-based modeling tool and its code generators for UBS mainframe service interfaces (2004–2009). Defined data types, interfaces and service contracts platform-independently on EMF and Xtext for UBS Wealth Management & Swiss Bank (2009–2015). Designed a reusable base vocabulary in Xcore for the Flatland CDO Server and an organization metamodel on top of it, where a derived feature is part of the language rather than code beside it (2014–2022)."
                ],
                [
                  "Engineering leadership",
                  "Expert",
                  "Owned the Analysis & Design discipline in UBS Wealth Management & Business Banking and led the DynaRep project team of ten (2004–2009). Led the team that built UBS Wealth Management & Swiss Bank's Eclipse-based tooling platform and architected the SDLC toolchain several hundred engineers released inside (2009–2015). Owned the frame 3AP's engineering happened in as CTO, the organization and its roles, the reference architecture and stack and the approvals every engagement passed, through its scale to about 70 people in two countries (2015–2022). Set LIKE MAGIC's technology direction and developed its technical leadership from a founding team to 25, holding the platform and AI budget (2022–2026)."
                ],
                [
                  "Enterprise architecture",
                  "Expert",
                  "Architected the Integration Architecture Tool Chain for UBS Wealth Management & Swiss Bank around a canonical data model, with a central API and interface-portfolio repository and a role-based review every team's interfaces passed (2009–2015). Presented its design to the Swiss financial-services community at Eclipse Finance Day (2013)."
                ],
                [
                  "Event streaming",
                  "Proficient",
                  "Ran Kafka as the streaming backbone of Conperi's processing pipeline (2018–2020). Built Stay KooooK's services as producers and consumers on Spring Cloud Stream over a Google Cloud Pub/Sub binder, bindings declared per service and the transport swappable underneath (2020–2022). Carried that into LIKE MAGIC at 89M+ platform events a year (2022–2026)."
                ],
                [
                  "Event-driven architecture",
                  "Expert",
                  "Wrote event-driven communication into 3AP's reference architecture, so the platforms built to it carried their work as events (2015–2022). Built Flawa iQ to consume LoRaWAN device uplinks over AMQP (2018–2019). Ran Conperi's pipeline over a Kafka backbone (2018–2020). Separated accepting a message from delivering one on 3AP's platform, a queue per channel, so a slow vendor delays delivery instead of failing the caller (2019–2021). Built Aroov's backend on Google Cloud Pub/Sub as its event hub (2019–2020). Published and consumed every LIKE MAGIC business event through Pub/Sub (2022–2026)."
                ],
                [
                  "FinOps",
                  "Proficient",
                  "Held LIKE MAGIC's cloud and AI budget, governing spend across dev, test and production with consumption KPIs in the Mental Model and weekly actuals from the Google Cloud billing API routed to owners by role (2022–2026). Held platform cost flat as volume grew to 89M+ events a year, through database and code optimization rather than added capacity (2022–2026)."
                ],
                [
                  "Frontend development",
                  "Proficient",
                  "Built the model browser published with the Flatland CDO Server in AngularJS (2014–2022). Built the Swisscom delivery cockpit's React front end (2015). Built the Angular front end over Credit Suisse's Master Data Repository (2016). Carried Lost-Tag into a browser, a hybrid mobile application and a native iOS app in AngularJS (2016–2021). Built AXA Health's React and Next.js frontend (2017–2019). Built a React front end for Flawa iQ's sensor MVP (2018–2019). Owned Stay KooooK's React and TypeScript frontend (2020–2022). Set LIKE MAGIC's frontend on React, TypeScript and MUI (2022–2026)."
                ],
                [
                  "Identity and access management",
                  "Proficient",
                  "Wrote a plugin authenticating the Flatland CDO Server against LDAP, later taking bearer tokens at the REST boundary (2014–2022). Made identity 3AP's platform concern rather than each service's, Keycloak issuing tokens, social sign-in trusted into it and the gateway verifying before routing (2019–2021). Put Keycloak and OAuth2 in front of every route of the Ursina gateway, with a token relay written as a filter of its own because the framework's never refreshed the token (2020). Built zero-trust API boundaries into the LIKE MAGIC platform (2022–2026)."
                ],
                [
                  "Incident management",
                  "Proficient",
                  "Owned incident response for LIKE MAGIC's production platform, from the alert an SLO breach raised to the fix, on a multi-tenant SaaS where one incident reaches every tenant at once (2022–2026)."
                ],
                [
                  "Information security management",
                  "Competent",
                  "Built LIKE MAGIC's information-security management toward ISO 27001, in progress at exit, with GDPR compliance and zero-trust API boundaries (2022–2026)."
                ],
                [
                  "Infrastructure as code",
                  "Competent",
                  "Built LIKE MAGIC's production platform as infrastructure as code on Google Cloud (2022–2026)."
                ],
                [
                  "Integration architecture",
                  "Expert",
                  "Architected UBS Wealth Management & Swiss Bank's Integration Architecture Tool Chain, built to reduce point-to-point connections to an integration bus over defined concepts and open interface standards (2009–2015). Owned AXA Health's complete integration architecture into Adcubum Syrius (2017–2019). Reached from a cloud application into a broadband operator's own HBase and PostgreSQL for Ursina, over tunnels that left neither exposed (2020). Integrated 3 PMS, Mews, Apaleo and Oracle OHIP, 15+ smart-lock systems and 3 AI communication vendors into LIKE MAGIC (2022–2026)."
                ],
                [
                  "IoT architecture",
                  "Competent",
                  "Designed Flawa iQ's sensing and LoRaWAN connectivity and the backend ingesting device telemetry into the ERP (2018–2019)."
                ],
                [
                  "IT governance",
                  "Expert",
                  "Set the role-based review process for UBS Wealth Management & Swiss Bank's central interface-portfolio repository (2009–2015). Ran delivery governance and technology-stack approvals at 3AP (2015–2022)."
                ],
                [
                  "IT strategy",
                  "Expert",
                  "Owned technology strategy and the reference architecture every engagement had to fit as 3AP's CTO (2015–2022). Defined LIKE MAGIC's platform strategy, API-first with a managed public API, an event and data hub and an MCP-server layer as the direction so agents consume the platform directly (2022–2026)."
                ],
                [
                  "Java",
                  "Expert",
                  "Built UBS's web portals in Java Portlets and JSP on IBM Portal Server (2001–2004). Built DynaRep's Eclipse plugins, web services and generators in Java (2004–2009). Built the Flatland CDO Server as an OSGi product in Java (2014–2022). Put Java and Spring Boot into 3AP's reference architecture so every platform built to it ran on them, Swisscard, AXA Health, Flawa iQ on Java 11, Conperi, Aroov and Stay KooooK (2015–2022). Ran LIKE MAGIC on Spring Boot and WebFlux (2022–2026)."
                ],
                [
                  "Knowledge management",
                  "Proficient",
                  "Established communities of practice at UBS (2004–2009). Built the LIKE MAGIC Mental Model as the organization's shared context layer (2022–2026). Published CompanyGraph so the same layer can be kept as Markdown in a repository with a history (2026)."
                ],
                [
                  "Legacy modernization",
                  "Proficient",
                  "Architected DynaRep, generating COBOL and Java implementations for UBS mainframe service interfaces (2004–2009). Replaced Swisscard's proprietary SOAP data-integration layer with Spring Boot behind the same WSDL contract, so no consumer had to change (2015–2016)."
                ],
                [
                  "Machine learning",
                  "Familiar",
                  "Architected the pipeline, the labeling tool and the serving path for Conperi, 3AP's applied-research proof of concept with ZHAW for reading health-insurance invoices (2018–2020). Followed the modeling closely enough to build what it needed, GPU training nodes, a labeled dataset where none existed and held-out evaluation reported per document; the models themselves were ZHAW's"
                ],
                [
                  "Mentoring and coaching",
                  "Proficient",
                  "Onboarded Java developers onto UBS's portal (2001–2004). Coached UBS project teams in the Analysis & Design methodology and built internal communities of practice (2004–2009). Mentored the engineers at 3AP as it scaled to about 70 people (2015–2022). Developed the technical leadership at LIKE MAGIC as it grew from 5 to 25 (2022–2026)."
                ],
                [
                  "Microservices architecture",
                  "Expert",
                  "Authored 3AP's microservice reference architecture and built AXA Health, Flawa iQ and Aroov to it: event-driven, 12-factor, the service cut driven by business capability (2015–2022). Cut Lost-Tag into Spring Boot services behind a gateway with service discovery (2016–2021). Carried the architecture into LIKE MAGIC as the platform's own, booking, guest, profile, payment, door access, messaging, operation and analytics services, each contract-first and every vendor behind its own connector with a fallback path (2022–2026)."
                ],
                [
                  "MLOps",
                  "Competent",
                  "Set up Conperi's training and serving split, a training service, a registry versioning each model with the metadata to reproduce it and a separate serving service so a model could be replaced without redeploying its consumers (2018–2020). It stayed a proof of concept, so nothing here covers drift, rollback or retraining in production"
                ],
                [
                  "Model-driven engineering",
                  "Expert",
                  "Wrote the degree dissertation on Model-Driven Architecture for component-based and service-oriented architecture (2002–2006). Built UBS's DynaRep model-driven repository and code generator (2004–2009). Built the Eclipse-based Integration Architecture Tool Chain for UBS Wealth Management & Swiss Bank on EMF, Xcore, Xtext and Xtend with a CDO repository (2009–2015). Spoke on models as the enterprise's first-class artifacts at Eclipse MDD Day (2010). Presented Eclipse data modeling at enterprise scale at Eclipse Day Florence (2012). Built the Flatland CDO Server, an Eclipse CDO model repository serving any model over REST without code written for that model (2014–2022). Built Credit Suisse's Master Data Repository on it (2016)."
                ],
                [
                  "Multi-tenant SaaS architecture",
                  "Proficient",
                  "Built and scaled LIKE MAGIC's multi-tenant hospitality SaaS platform, serving 90+ customers, 430+ properties and 16,000+ units across the DACH region as of 2026 (2022–2026)."
                ],
                [
                  "Observability",
                  "Proficient",
                  "Traced a message across a queue hand-off with Spring Cloud Sleuth on 3AP's platform, so one that never arrived could be followed past the hand-off rather than lost at it (2019–2021). Published a way to monitor a business process by its own model, a receive task and a timer per milestone, so a stalled journey announces itself (2021). Instrumented LIKE MAGIC's production platform on Cloud Monitoring and Cloud Trace with alerting driven by defined SLOs, traceability being a principle the services were built to rather than instrumentation added afterward (2022–2026)."
                ],
                [
                  "Open-source stewardship",
                  "Proficient",
                  "Published the Flatland CDO Server under the Eclipse Public License and kept it public for eight years, forked by three strangers and used as the foundation of Credit Suisse's Master Data Repository (2014–2022). Published CompanyGraph and GuestGraph as open core under Apache 2.0: a license saying what is open and what could be paid for, conventions for a contributor, specs keeping the rejected alternatives and a release contract of tags and manifests (2026)."
                ],
                [
                  "Organization design",
                  "Proficient",
                  "Defined UBS's department-wide role model, each role with its tasks and competencies, put through a formal consultation before it took effect (2004–2009). Described 3AP's own organization as a model rather than a chart on the Flatland CDO Server, circles inside circles, roles carrying responsibilities and assignments with a capacity and a validity window, answerable by date (2014–2022). Shaped 3AP's technology organization as it scaled to about 70 people, including a near-shore team in Serbia (2015–2022). Shaped LIKE MAGIC's as it grew to 25 (2022–2026)."
                ],
                [
                  "Platform engineering",
                  "Expert",
                  "Architected the SDLC toolchain for UBS Wealth Management & Swiss Bank, Jira, Confluence, GitHub Enterprise, Maven, Jenkins and Sonar (2009–2015). Built Conperi's platform from cluster creation to the Kafka backbone, tracing, the OAuth gateway and GPU nodes (2018–2020). Built the platform 3AP's own projects and internal systems started from, a running gateway, an identity provider and shared capabilities rather than an empty cluster (2019–2021). Owned the LIKE MAGIC platform as the product every team built on (2022–2026)."
                ],
                [
                  "Process orchestration",
                  "Expert",
                  "Owned the Camunda (Zeebe) orchestration of the guest journey at Stay KooooK (2020–2022). Published a runnable sample of the journey on Zeebe with the article on monitoring it (2021). Carried the orchestration into LIKE MAGIC, then led the reassessment at contract renewal and the move off it (2022–2023). Co-presented the platform at CamundaCon in Berlin (2022). Featured in Camunda's published case study citing a 95% self-check-in rate and 7,000 process instances per month (2023)."
                ],
                [
                  "Product discovery",
                  "Competent",
                  "Put CompanyGraph and GuestGraph up for scrutiny in the open, each with a talk, a billing model and a stated outcome including a clean no (2026)."
                ],
                [
                  "Product management",
                  "Proficient",
                  "Defined and executed LIKE MAGIC's product and platform strategy as co-founder and Head of Technology, API-first with a managed public API, an event and data hub and three AI communication vendors integrated behind one staff inbox (2022–2026)."
                ],
                [
                  "Public speaking",
                  "Proficient",
                  "Spoke at UBS-internal brown-bag sessions on modeling, toolchain and architecture (2009–2015). Spoke at Eclipse MDD Day on models as the enterprise's first-class artifacts (2010). Spoke at Eclipse Day Florence on data modeling at enterprise scale (2012). Spoke at Eclipse Finance Day on interface management in a large enterprise (2012). Spoke at Eclipse Finance Day on the UBS Integration Architecture Tool Chain (2013). Co-presented at CamundaCon in Berlin on how SV Group became a SaaS business on Camunda (2022). Gave a talk each on CompanyGraph and GuestGraph, deck, PDF and audio in German and English (2026)."
                ],
                [
                  "Requirements engineering",
                  "Expert",
                  "Owned the Analysis & Design discipline in UBS Wealth Management & Business Banking's RUP rollout, replacing the proprietary process with a market-standard one, writing its modeling methodology in Rational Method Composer and coaching the division's teams into it (2004–2009). Modeled Lost-Tag's actors and their use cases before the platform was built (2016–2021). Writes a reviewed specification before every plan and build on CompanyGraph and GuestGraph (2026)."
                ],
                [
                  "Site reliability engineering",
                  "Proficient",
                  "Owned site reliability for LIKE MAGIC's production platform across three environments, SLOs defined and alerted on, performance held as volume grew and automated weekly reporting against defined thresholds (2022–2026)."
                ],
                [
                  "Software architecture",
                  "Expert",
                  "Led development and delivery of UBS's WPS Portal application (2001–2004). Took software-architect responsibility for UBS's DynaRep platform (2004–2009). Set the reference architecture every 3AP engagement was built to (2015–2022). Owned Stay KooooK's complete front-to-back architecture on reactive Spring Boot WebFlux (2020–2022). Designed GuestGraph's identity-resolution engine from a written specification (2026)."
                ],
                [
                  "Software engineering",
                  "Expert",
                  "Built UBS's intranet and internet portals and the ACE Foundation beneath UBS Quotes (2001–2004). Architected and built DynaRep's Eclipse plugins, web services and code generators (2004–2009). Built the Swisscom delivery cockpit end to end (2015). Set the engineering practice of LIKE MAGIC's Spring Boot WebFlux platform, tests as part of finishing a feature rather than a phase after it (2022–2026)."
                ],
                [
                  "Software modeling (UML, SysML, C4)",
                  "Expert",
                  "Owned the Analysis & Design discipline in the Rational Unified Process rollout at UBS Wealth Management & Business Banking, its service-modeling methodology in Rational Method Composer and UML (2004–2009). Modeled Lost-Tag's actors, use cases, domain classes and components in UML in the repository, beside the code they describe (2016–2021). Modeled Cloud Foundry's and Kubernetes' vocabularies side by side in PlantUML on 3AP's platform, so what the two call the same thing could be read rather than argued about (2019–2021)."
                ],
                [
                  "Software process engineering",
                  "Expert",
                  "Owned the Analysis & Design discipline in the Rational Unified Process and Enterprise Unified Process rollout at UBS Wealth Management & Business Banking, replacing the proprietary process with a market standard (2004–2009). Architected the division's SDLC toolchain (2009–2015)."
                ],
                [
                  "Software testing",
                  "Proficient",
                  "Built the Swisscard rewrite on Jenkins and JUnit, with tests as engineering practice rather than a phase after the build (2015–2016). Made unit and integration tests part of how a feature was finished across 3AP's client engagements, new behavior covered at the level that catches its regression (2015–2022). Ran them on every LIKE MAGIC pipeline on GitHub Actions (2022–2026)."
                ],
                [
                  "Solution architecture",
                  "Expert",
                  "Led 3AP's client bids on solution architecture, public tenders under Swiss procurement law included (2015–2022). Designed Flawa iQ's RFID and LoRaWAN solution, delivered as 10 working prototypes (2018–2019). Designed Ursina's runtime, the path into the operator's network and the authentication boundary (2020). Owned Stay KooooK's solution architecture front to back and presented it at the winning pitch (2020–2022)."
                ],
                [
                  "Solution selling",
                  "Proficient",
                  "Led 3AP's client bids across proposal, pitch and negotiation, public tenders under Swiss procurement law included (2015–2022). Won Credit Suisse without a tender, a problem known inside the bank reached through the network and a proposed architecture rather than a specification (2016). Won AXA Health, Flawa iQ, Aroov and Stay KooooK on a solution architecture presented by the people who would build it (2017–2020). Put two open-core products in front of a professional network with a billing model each (2026)."
                ],
                [
                  "Spec-driven development",
                  "Proficient",
                  "Built GuestGraph's identity-resolution engine and CompanyGraph, meta-model, tooling design and this reference instance, from written specifications, each reviewed before its plan and build, under conventions an agent pass enforces (2026)."
                ],
                [
                  "Stakeholder management",
                  "Proficient",
                  "Advised clients including Credit Suisse, Swisscard, AXA and Mobiliar as 3AP's CTO and joined each project's ramp-up to negotiate with the client's security and platform organizations (2015–2022). Presented the solution architecture in the winning Aroov pitch (2019). Presented the solution architecture in the winning Stay KooooK pitch (2020)."
                ],
                [
                  "Storytelling",
                  "Proficient",
                  "Briefed a podcast episode on the career break, fixing the story in outline and the threads the hosts had to cover before anything was generated, then holding the result to its sources and naming the one place it strayed (2026)."
                ],
                [
                  "Technical writing",
                  "Expert",
                  "Wrote the Analysis & Design methodology and guidance a UBS division worked to (2004–2009). Published an article on process monitoring with BPMN, with the runnable sample it describes (2021). Built the LIKE MAGIC Mental Model as the organization's written context layer (2022–2026). Wrote CompanyGraph's conventions, design specs and worked example, prose other people follow for readers who were not in the room (2026)."
                ],
                [
                  "Vendor management",
                  "Proficient",
                  "Ran LIKE MAGIC's AI and automation tooling as a managed portfolio: Claude Code team licenses, multi-provider tooling across Claude, Gemini and Copilot and the call to self-host n8n on its own Kubernetes rather than take the hosted service (2022–2026). Led the same call on Camunda at contract renewal, where the platform used a fraction of the engine and the choice was to build on it or leave it (2022–2023)."
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Skill",
              "Level",
              "Evidence"
            ],
            "rows": [
              [
                "Agentic AI development",
                "Expert",
                "Built LIKE MAGIC's internal AI marketplace on Claude, giving teams governed access to assistants and agents grounded in the Mental Model (2022–2026). Built CompanyGraph and GuestGraph agent-first under written conventions that encode the failure modes: an unresolvable reference is an error rather than a warning, and every validation pass names what it did not check (2026)."
              ],
              [
                "Agile delivery",
                "Competent",
                "Served as Scrum Master and technical lead on central UBS Wealth Management & Swiss Bank initiatives (2009–2015). Certified SAFe 4 Practitioner (2016)."
              ],
              [
                "AI governance",
                "Proficient",
                "Defined LIKE MAGIC's AI governance and held the company to it: a Human Oversight principle, guardrails against training external LLMs on internal context, multi-provider tooling and cost governance (2022–2026)."
              ],
              [
                "AI strategy",
                "Proficient",
                "Authored and executed LIKE MAGIC's company-wide AI strategy, from the internal rollout of assistants across planning, delivery and operations to shipped customer-facing AI, with d3x, ailean and onsai integrated into the staff solution (2022–2026)."
              ],
              [
                "AI tool integration (MCP)",
                "Competent",
                "Wired Atlassian, Google Drive and Slack MCP servers into the agent that maintained the LIKE MAGIC Mental Model, each command scoped to a named allowlist of tools, so the knowledge base stayed in step with the systems it described (2022–2026). No server authored: the platform's own MCP layer was still roadmap at exit, as CompanyGraph's is now"
              ],
              [
                "API design",
                "Expert",
                "Established API and data management for UBS Wealth Management & Swiss Bank with generated XML-Schema and WSDL service contracts (2009–2015). Set 3AP's reference architecture so the service cut decided what each service exposed (2015–2022). Gave Stay KooooK its API surface from the first commit, REST specified in OpenAPI, generated from the code and secured by OAuth 2.0 (2020–2022). Led LIKE MAGIC's API-first strategy to a partner API documented in the open, REST on OpenAPI 3.1 with webhook subscriptions and OAuth 2.0 scopes over property, reservation, guest, messaging, door access and task resources (2022–2026)."
              ],
              [
                "Business architecture",
                "Expert",
                "Drove business architecture and capability modeling on EMF/Ecore at UBS Wealth Management & Swiss Bank (2009–2015). Mapped LIKE MAGIC's 12 business domains as concepts with the capabilities under each, and cut the platform, the teams and the product strategy along that map (2022–2026)."
              ],
              [
                "Business process modeling (BPMN, DMN)",
                "Proficient",
                "Modeled the guest journey from booking to check-out in Camunda BPMN for Stay KooooK (2020–2022). Published the model as the subject of an article on monitoring a process by the message it is still waiting for (2021). Carried the model into LIKE MAGIC, where it ran the journey until the orchestration was replaced (2022–2023)."
              ],
              [
                "Change management",
                "Proficient",
                "Replaced UBS Wealth Management & Business Banking's proprietary engineering process with a market-standard one as owner of its Analysis & Design discipline, coaching project teams into it (2004–2009). Drove LIKE MAGIC's productive rollout of AI assistants across planning, delivery and operations (2022–2026)."
              ],
              [
                "CI/CD",
                "Proficient",
                "Put Jenkins and Sonar in the SDLC toolchain UBS Wealth Management & Swiss Bank released inside (2009–2015). Wrote the delivery pipeline into 3AP's reference architecture so a project inherited it rather than arranging its own, Jenkins at Swisscard, Flawa iQ and Lost-Tag, CircleCI at Conperi and Ursina (2015–2022). Released Lost-Tag's iOS app to the App Store from a scripted pipeline (2016–2021). Made the build the gate on 3AP's platform, every branch analyzed on SonarCloud with coverage attached and a green mainline deploying itself to the cluster (2019–2021). Set LIKE MAGIC's standards on GitHub Actions, with unit and integration tests on every run (2022–2026)."
              ],
              [
                "Cloud architecture",
                "Expert",
                "Targeted 3AP's reference architecture at Kubernetes and no cloud in particular, so a client's platform was a deployment decision, Google Cloud at Aroov and Stay KooooK and AXA's own on-premise OpenShift (2015–2022). Ran 3AP's notification services on Swisscom's Cloud Foundry and Google Kubernetes Engine at the same time, one binding a broker as a managed service and the other running it as a container (2019). Owned LIKE MAGIC's production platform on Google Cloud (2022–2026). Designed GuestGraph for managed platform services without binding it to a provider (2026)."
              ],
              [
                "Community building",
                "Expert",
                "Built internal communities of practice at UBS and led the division's Java Chief Developer committee for two years (2004–2009). Co-led that committee for a further five years (2009–2015). Represented UBS in the Eclipse Modeling Platform Working Group (2010–2011). Co-organized the three Eclipse events UBS hosted in Zürich, MDD Day 2010 and Finance Day 2012 and 2014 (2010–2014). Served on the board of the Swiss Eclipse User Group within JUG Switzerland (2011–2014)."
              ],
              [
                "Company vision and strategy",
                "Expert",
                "Co-founded 3AP and sat on the management team that took it from 5 to about 70 people (2015–2022). Co-founded LIKE MAGIC and set its product, platform and AI strategy (2022–2026). Put two open-core products up for scrutiny with a billing model and a stated outcome each, a clean no included (2026)."
              ],
              [
                "Consulting",
                "Proficient",
                "Created the technical concepts, proposals and pitches for 3AP's client work as CTO and advised Credit Suisse, Swisscard, AXA and Mobiliar on the architecture behind theirs (2015–2022)."
              ],
              [
                "Container orchestration (Kubernetes)",
                "Proficient",
                "Built Conperi's platform on Google Kubernetes Engine from cluster creation up, GPU nodes included (2018–2020). Ran the Aroov and Stay KooooK backends on Google Kubernetes Engine (2019–2022). Stood up Ursina's whole environment, cluster, managed database, certificates, ingress and tunnels, from a script rather than a console (2020). Ran the LIKE MAGIC platform on Google Kubernetes Engine (2022–2026)."
              ],
              [
                "Context engineering",
                "Expert",
                "Built the LIKE MAGIC Mental Model as the organization's shared context layer and shipped it as a skill into the company's Claude environment (2022–2026). Generalized the approach into CompanyGraph, a published meta-model for describing a company as a graph both people and agents can read (2026). Briefed a podcast episode on the career break from the model's own files and read the generated result against its sources before publishing it (2026)."
              ],
              [
                "Conversational AI",
                "Proficient",
                "Architected the integration of d3x, ailean and onsai into LIKE MAGIC's staff solution, unified multi-channel guest messaging with AI agents answering, guest insights and staff handover (2022–2026)."
              ],
              [
                "Data engineering",
                "Proficient",
                "Fed Credit Suisse's Master Data Repository from static source-code analysis and several source systems (2016). Fed Flawa iQ's LoRaWAN telemetry into the ERP (2018–2019). Pulled 3AP's own staff directory and time records onto its platform, kept current by a scheduler rather than by anyone remembering (2019–2021). Built LIKE MAGIC's event and data hub, the sink for every business event its services published, ingested into BigQuery, idempotent on the event id so a redelivery cannot double-count and served back as a queryable event log (2022–2026)."
              ],
              [
                "Data governance",
                "Competent",
                "Built Credit Suisse's Master Data Repository so data stewards could be assigned and the golden-source distribution across the core systems mapped (2016)."
              ],
              [
                "Data modeling",
                "Proficient",
                "Built the canonical data model for UBS Wealth Management & Swiss Bank's enterprise data management (2009–2015). Presented Eclipse data modeling at enterprise scale at Eclipse Day Florence, co-presented with the CDO project lead (2012). Designed the organization model behind the Flatland CDO Server bitemporally, what was in force on a date and what the repository said on a date kept as separate questions (2014–2022)."
              ],
              [
                "Data protection (GDPR)",
                "Competent",
                "Ran LIKE MAGIC's GDPR compliance, including the guardrail that no internal context trained external LLMs (2022–2026)."
              ],
              [
                "Database design",
                "Proficient",
                "Designed DynaRep's repository on Oracle (2004–2009). Built the Swisscard rewrite on MSSQL (2015–2016). Set 3AP's reference architecture on MongoDB for AXA Health, Flawa iQ and Conperi, then moved it to PostgreSQL from Aroov onward once those platforms showed their data was read and written relationally (2015–2022). Ran LIKE MAGIC on PostgreSQL with R2DBC and jOOQ (2022–2026)."
              ],
              [
                "DevOps",
                "Expert",
                "Wrote the delivery pipeline into 3AP's reference architecture so a project inherited it rather than arranging its own, and established the company's delivery process and stack approvals (2015–2022). Built and ran LIKE MAGIC's production platform on Google Cloud as infrastructure as code, GitHub Actions running unit and integration tests on every change and the same team building and operating it (2022–2026)."
              ],
              [
                "Domain-driven design",
                "Proficient",
                "Drove UBS Wealth Management & Swiss Bank's business architecture and capability modeling on EMF/Ecore, where a canonical data model was what every interface contract in the division was defined against (2009–2015). Cut LIKE MAGIC's platform along its 12 business domains and the capabilities under each, so service and team boundaries followed the domain rather than the technical layering (2022–2026)."
              ],
              [
                "Domain-specific language design",
                "Expert",
                "Built DynaRep's repository-based modeling tool and its code generators for UBS mainframe service interfaces (2004–2009). Defined data types, interfaces and service contracts platform-independently on EMF and Xtext for UBS Wealth Management & Swiss Bank (2009–2015). Designed a reusable base vocabulary in Xcore for the Flatland CDO Server and an organization metamodel on top of it, where a derived feature is part of the language rather than code beside it (2014–2022)."
              ],
              [
                "Engineering leadership",
                "Expert",
                "Owned the Analysis & Design discipline in UBS Wealth Management & Business Banking and led the DynaRep project team of ten (2004–2009). Led the team that built UBS Wealth Management & Swiss Bank's Eclipse-based tooling platform and architected the SDLC toolchain several hundred engineers released inside (2009–2015). Owned the frame 3AP's engineering happened in as CTO, the organization and its roles, the reference architecture and stack and the approvals every engagement passed, through its scale to about 70 people in two countries (2015–2022). Set LIKE MAGIC's technology direction and developed its technical leadership from a founding team to 25, holding the platform and AI budget (2022–2026)."
              ],
              [
                "Enterprise architecture",
                "Expert",
                "Architected the Integration Architecture Tool Chain for UBS Wealth Management & Swiss Bank around a canonical data model, with a central API and interface-portfolio repository and a role-based review every team's interfaces passed (2009–2015). Presented its design to the Swiss financial-services community at Eclipse Finance Day (2013)."
              ],
              [
                "Event streaming",
                "Proficient",
                "Ran Kafka as the streaming backbone of Conperi's processing pipeline (2018–2020). Built Stay KooooK's services as producers and consumers on Spring Cloud Stream over a Google Cloud Pub/Sub binder, bindings declared per service and the transport swappable underneath (2020–2022). Carried that into LIKE MAGIC at 89M+ platform events a year (2022–2026)."
              ],
              [
                "Event-driven architecture",
                "Expert",
                "Wrote event-driven communication into 3AP's reference architecture, so the platforms built to it carried their work as events (2015–2022). Built Flawa iQ to consume LoRaWAN device uplinks over AMQP (2018–2019). Ran Conperi's pipeline over a Kafka backbone (2018–2020). Separated accepting a message from delivering one on 3AP's platform, a queue per channel, so a slow vendor delays delivery instead of failing the caller (2019–2021). Built Aroov's backend on Google Cloud Pub/Sub as its event hub (2019–2020). Published and consumed every LIKE MAGIC business event through Pub/Sub (2022–2026)."
              ],
              [
                "FinOps",
                "Proficient",
                "Held LIKE MAGIC's cloud and AI budget, governing spend across dev, test and production with consumption KPIs in the Mental Model and weekly actuals from the Google Cloud billing API routed to owners by role (2022–2026). Held platform cost flat as volume grew to 89M+ events a year, through database and code optimization rather than added capacity (2022–2026)."
              ],
              [
                "Frontend development",
                "Proficient",
                "Built the model browser published with the Flatland CDO Server in AngularJS (2014–2022). Built the Swisscom delivery cockpit's React front end (2015). Built the Angular front end over Credit Suisse's Master Data Repository (2016). Carried Lost-Tag into a browser, a hybrid mobile application and a native iOS app in AngularJS (2016–2021). Built AXA Health's React and Next.js frontend (2017–2019). Built a React front end for Flawa iQ's sensor MVP (2018–2019). Owned Stay KooooK's React and TypeScript frontend (2020–2022). Set LIKE MAGIC's frontend on React, TypeScript and MUI (2022–2026)."
              ],
              [
                "Identity and access management",
                "Proficient",
                "Wrote a plugin authenticating the Flatland CDO Server against LDAP, later taking bearer tokens at the REST boundary (2014–2022). Made identity 3AP's platform concern rather than each service's, Keycloak issuing tokens, social sign-in trusted into it and the gateway verifying before routing (2019–2021). Put Keycloak and OAuth2 in front of every route of the Ursina gateway, with a token relay written as a filter of its own because the framework's never refreshed the token (2020). Built zero-trust API boundaries into the LIKE MAGIC platform (2022–2026)."
              ],
              [
                "Incident management",
                "Proficient",
                "Owned incident response for LIKE MAGIC's production platform, from the alert an SLO breach raised to the fix, on a multi-tenant SaaS where one incident reaches every tenant at once (2022–2026)."
              ],
              [
                "Information security management",
                "Competent",
                "Built LIKE MAGIC's information-security management toward ISO 27001, in progress at exit, with GDPR compliance and zero-trust API boundaries (2022–2026)."
              ],
              [
                "Infrastructure as code",
                "Competent",
                "Built LIKE MAGIC's production platform as infrastructure as code on Google Cloud (2022–2026)."
              ],
              [
                "Integration architecture",
                "Expert",
                "Architected UBS Wealth Management & Swiss Bank's Integration Architecture Tool Chain, built to reduce point-to-point connections to an integration bus over defined concepts and open interface standards (2009–2015). Owned AXA Health's complete integration architecture into Adcubum Syrius (2017–2019). Reached from a cloud application into a broadband operator's own HBase and PostgreSQL for Ursina, over tunnels that left neither exposed (2020). Integrated 3 PMS, Mews, Apaleo and Oracle OHIP, 15+ smart-lock systems and 3 AI communication vendors into LIKE MAGIC (2022–2026)."
              ],
              [
                "IoT architecture",
                "Competent",
                "Designed Flawa iQ's sensing and LoRaWAN connectivity and the backend ingesting device telemetry into the ERP (2018–2019)."
              ],
              [
                "IT governance",
                "Expert",
                "Set the role-based review process for UBS Wealth Management & Swiss Bank's central interface-portfolio repository (2009–2015). Ran delivery governance and technology-stack approvals at 3AP (2015–2022)."
              ],
              [
                "IT strategy",
                "Expert",
                "Owned technology strategy and the reference architecture every engagement had to fit as 3AP's CTO (2015–2022). Defined LIKE MAGIC's platform strategy, API-first with a managed public API, an event and data hub and an MCP-server layer as the direction so agents consume the platform directly (2022–2026)."
              ],
              [
                "Java",
                "Expert",
                "Built UBS's web portals in Java Portlets and JSP on IBM Portal Server (2001–2004). Built DynaRep's Eclipse plugins, web services and generators in Java (2004–2009). Built the Flatland CDO Server as an OSGi product in Java (2014–2022). Put Java and Spring Boot into 3AP's reference architecture so every platform built to it ran on them, Swisscard, AXA Health, Flawa iQ on Java 11, Conperi, Aroov and Stay KooooK (2015–2022). Ran LIKE MAGIC on Spring Boot and WebFlux (2022–2026)."
              ],
              [
                "Knowledge management",
                "Proficient",
                "Established communities of practice at UBS (2004–2009). Built the LIKE MAGIC Mental Model as the organization's shared context layer (2022–2026). Published CompanyGraph so the same layer can be kept as Markdown in a repository with a history (2026)."
              ],
              [
                "Legacy modernization",
                "Proficient",
                "Architected DynaRep, generating COBOL and Java implementations for UBS mainframe service interfaces (2004–2009). Replaced Swisscard's proprietary SOAP data-integration layer with Spring Boot behind the same WSDL contract, so no consumer had to change (2015–2016)."
              ],
              [
                "Machine learning",
                "Familiar",
                "Architected the pipeline, the labeling tool and the serving path for Conperi, 3AP's applied-research proof of concept with ZHAW for reading health-insurance invoices (2018–2020). Followed the modeling closely enough to build what it needed, GPU training nodes, a labeled dataset where none existed and held-out evaluation reported per document; the models themselves were ZHAW's"
              ],
              [
                "Mentoring and coaching",
                "Proficient",
                "Onboarded Java developers onto UBS's portal (2001–2004). Coached UBS project teams in the Analysis & Design methodology and built internal communities of practice (2004–2009). Mentored the engineers at 3AP as it scaled to about 70 people (2015–2022). Developed the technical leadership at LIKE MAGIC as it grew from 5 to 25 (2022–2026)."
              ],
              [
                "Microservices architecture",
                "Expert",
                "Authored 3AP's microservice reference architecture and built AXA Health, Flawa iQ and Aroov to it: event-driven, 12-factor, the service cut driven by business capability (2015–2022). Cut Lost-Tag into Spring Boot services behind a gateway with service discovery (2016–2021). Carried the architecture into LIKE MAGIC as the platform's own, booking, guest, profile, payment, door access, messaging, operation and analytics services, each contract-first and every vendor behind its own connector with a fallback path (2022–2026)."
              ],
              [
                "MLOps",
                "Competent",
                "Set up Conperi's training and serving split, a training service, a registry versioning each model with the metadata to reproduce it and a separate serving service so a model could be replaced without redeploying its consumers (2018–2020). It stayed a proof of concept, so nothing here covers drift, rollback or retraining in production"
              ],
              [
                "Model-driven engineering",
                "Expert",
                "Wrote the degree dissertation on Model-Driven Architecture for component-based and service-oriented architecture (2002–2006). Built UBS's DynaRep model-driven repository and code generator (2004–2009). Built the Eclipse-based Integration Architecture Tool Chain for UBS Wealth Management & Swiss Bank on EMF, Xcore, Xtext and Xtend with a CDO repository (2009–2015). Spoke on models as the enterprise's first-class artifacts at Eclipse MDD Day (2010). Presented Eclipse data modeling at enterprise scale at Eclipse Day Florence (2012). Built the Flatland CDO Server, an Eclipse CDO model repository serving any model over REST without code written for that model (2014–2022). Built Credit Suisse's Master Data Repository on it (2016)."
              ],
              [
                "Multi-tenant SaaS architecture",
                "Proficient",
                "Built and scaled LIKE MAGIC's multi-tenant hospitality SaaS platform, serving 90+ customers, 430+ properties and 16,000+ units across the DACH region as of 2026 (2022–2026)."
              ],
              [
                "Observability",
                "Proficient",
                "Traced a message across a queue hand-off with Spring Cloud Sleuth on 3AP's platform, so one that never arrived could be followed past the hand-off rather than lost at it (2019–2021). Published a way to monitor a business process by its own model, a receive task and a timer per milestone, so a stalled journey announces itself (2021). Instrumented LIKE MAGIC's production platform on Cloud Monitoring and Cloud Trace with alerting driven by defined SLOs, traceability being a principle the services were built to rather than instrumentation added afterward (2022–2026)."
              ],
              [
                "Open-source stewardship",
                "Proficient",
                "Published the Flatland CDO Server under the Eclipse Public License and kept it public for eight years, forked by three strangers and used as the foundation of Credit Suisse's Master Data Repository (2014–2022). Published CompanyGraph and GuestGraph as open core under Apache 2.0: a license saying what is open and what could be paid for, conventions for a contributor, specs keeping the rejected alternatives and a release contract of tags and manifests (2026)."
              ],
              [
                "Organization design",
                "Proficient",
                "Defined UBS's department-wide role model, each role with its tasks and competencies, put through a formal consultation before it took effect (2004–2009). Described 3AP's own organization as a model rather than a chart on the Flatland CDO Server, circles inside circles, roles carrying responsibilities and assignments with a capacity and a validity window, answerable by date (2014–2022). Shaped 3AP's technology organization as it scaled to about 70 people, including a near-shore team in Serbia (2015–2022). Shaped LIKE MAGIC's as it grew to 25 (2022–2026)."
              ],
              [
                "Platform engineering",
                "Expert",
                "Architected the SDLC toolchain for UBS Wealth Management & Swiss Bank, Jira, Confluence, GitHub Enterprise, Maven, Jenkins and Sonar (2009–2015). Built Conperi's platform from cluster creation to the Kafka backbone, tracing, the OAuth gateway and GPU nodes (2018–2020). Built the platform 3AP's own projects and internal systems started from, a running gateway, an identity provider and shared capabilities rather than an empty cluster (2019–2021). Owned the LIKE MAGIC platform as the product every team built on (2022–2026)."
              ],
              [
                "Process orchestration",
                "Expert",
                "Owned the Camunda (Zeebe) orchestration of the guest journey at Stay KooooK (2020–2022). Published a runnable sample of the journey on Zeebe with the article on monitoring it (2021). Carried the orchestration into LIKE MAGIC, then led the reassessment at contract renewal and the move off it (2022–2023). Co-presented the platform at CamundaCon in Berlin (2022). Featured in Camunda's published case study citing a 95% self-check-in rate and 7,000 process instances per month (2023)."
              ],
              [
                "Product discovery",
                "Competent",
                "Put CompanyGraph and GuestGraph up for scrutiny in the open, each with a talk, a billing model and a stated outcome including a clean no (2026)."
              ],
              [
                "Product management",
                "Proficient",
                "Defined and executed LIKE MAGIC's product and platform strategy as co-founder and Head of Technology, API-first with a managed public API, an event and data hub and three AI communication vendors integrated behind one staff inbox (2022–2026)."
              ],
              [
                "Public speaking",
                "Proficient",
                "Spoke at UBS-internal brown-bag sessions on modeling, toolchain and architecture (2009–2015). Spoke at Eclipse MDD Day on models as the enterprise's first-class artifacts (2010). Spoke at Eclipse Day Florence on data modeling at enterprise scale (2012). Spoke at Eclipse Finance Day on interface management in a large enterprise (2012). Spoke at Eclipse Finance Day on the UBS Integration Architecture Tool Chain (2013). Co-presented at CamundaCon in Berlin on how SV Group became a SaaS business on Camunda (2022). Gave a talk each on CompanyGraph and GuestGraph, deck, PDF and audio in German and English (2026)."
              ],
              [
                "Requirements engineering",
                "Expert",
                "Owned the Analysis & Design discipline in UBS Wealth Management & Business Banking's RUP rollout, replacing the proprietary process with a market-standard one, writing its modeling methodology in Rational Method Composer and coaching the division's teams into it (2004–2009). Modeled Lost-Tag's actors and their use cases before the platform was built (2016–2021). Writes a reviewed specification before every plan and build on CompanyGraph and GuestGraph (2026)."
              ],
              [
                "Site reliability engineering",
                "Proficient",
                "Owned site reliability for LIKE MAGIC's production platform across three environments, SLOs defined and alerted on, performance held as volume grew and automated weekly reporting against defined thresholds (2022–2026)."
              ],
              [
                "Software architecture",
                "Expert",
                "Led development and delivery of UBS's WPS Portal application (2001–2004). Took software-architect responsibility for UBS's DynaRep platform (2004–2009). Set the reference architecture every 3AP engagement was built to (2015–2022). Owned Stay KooooK's complete front-to-back architecture on reactive Spring Boot WebFlux (2020–2022). Designed GuestGraph's identity-resolution engine from a written specification (2026)."
              ],
              [
                "Software engineering",
                "Expert",
                "Built UBS's intranet and internet portals and the ACE Foundation beneath UBS Quotes (2001–2004). Architected and built DynaRep's Eclipse plugins, web services and code generators (2004–2009). Built the Swisscom delivery cockpit end to end (2015). Set the engineering practice of LIKE MAGIC's Spring Boot WebFlux platform, tests as part of finishing a feature rather than a phase after it (2022–2026)."
              ],
              [
                "Software modeling (UML, SysML, C4)",
                "Expert",
                "Owned the Analysis & Design discipline in the Rational Unified Process rollout at UBS Wealth Management & Business Banking, its service-modeling methodology in Rational Method Composer and UML (2004–2009). Modeled Lost-Tag's actors, use cases, domain classes and components in UML in the repository, beside the code they describe (2016–2021). Modeled Cloud Foundry's and Kubernetes' vocabularies side by side in PlantUML on 3AP's platform, so what the two call the same thing could be read rather than argued about (2019–2021)."
              ],
              [
                "Software process engineering",
                "Expert",
                "Owned the Analysis & Design discipline in the Rational Unified Process and Enterprise Unified Process rollout at UBS Wealth Management & Business Banking, replacing the proprietary process with a market standard (2004–2009). Architected the division's SDLC toolchain (2009–2015)."
              ],
              [
                "Software testing",
                "Proficient",
                "Built the Swisscard rewrite on Jenkins and JUnit, with tests as engineering practice rather than a phase after the build (2015–2016). Made unit and integration tests part of how a feature was finished across 3AP's client engagements, new behavior covered at the level that catches its regression (2015–2022). Ran them on every LIKE MAGIC pipeline on GitHub Actions (2022–2026)."
              ],
              [
                "Solution architecture",
                "Expert",
                "Led 3AP's client bids on solution architecture, public tenders under Swiss procurement law included (2015–2022). Designed Flawa iQ's RFID and LoRaWAN solution, delivered as 10 working prototypes (2018–2019). Designed Ursina's runtime, the path into the operator's network and the authentication boundary (2020). Owned Stay KooooK's solution architecture front to back and presented it at the winning pitch (2020–2022)."
              ],
              [
                "Solution selling",
                "Proficient",
                "Led 3AP's client bids across proposal, pitch and negotiation, public tenders under Swiss procurement law included (2015–2022). Won Credit Suisse without a tender, a problem known inside the bank reached through the network and a proposed architecture rather than a specification (2016). Won AXA Health, Flawa iQ, Aroov and Stay KooooK on a solution architecture presented by the people who would build it (2017–2020). Put two open-core products in front of a professional network with a billing model each (2026)."
              ],
              [
                "Spec-driven development",
                "Proficient",
                "Built GuestGraph's identity-resolution engine and CompanyGraph, meta-model, tooling design and this reference instance, from written specifications, each reviewed before its plan and build, under conventions an agent pass enforces (2026)."
              ],
              [
                "Stakeholder management",
                "Proficient",
                "Advised clients including Credit Suisse, Swisscard, AXA and Mobiliar as 3AP's CTO and joined each project's ramp-up to negotiate with the client's security and platform organizations (2015–2022). Presented the solution architecture in the winning Aroov pitch (2019). Presented the solution architecture in the winning Stay KooooK pitch (2020)."
              ],
              [
                "Storytelling",
                "Proficient",
                "Briefed a podcast episode on the career break, fixing the story in outline and the threads the hosts had to cover before anything was generated, then holding the result to its sources and naming the one place it strayed (2026)."
              ],
              [
                "Technical writing",
                "Expert",
                "Wrote the Analysis & Design methodology and guidance a UBS division worked to (2004–2009). Published an article on process monitoring with BPMN, with the runnable sample it describes (2021). Built the LIKE MAGIC Mental Model as the organization's written context layer (2022–2026). Wrote CompanyGraph's conventions, design specs and worked example, prose other people follow for readers who were not in the room (2026)."
              ],
              [
                "Vendor management",
                "Proficient",
                "Ran LIKE MAGIC's AI and automation tooling as a managed portfolio: Claude Code team licenses, multi-provider tooling across Claude, Gemini and Copilot and the call to self-host n8n on its own Kubernetes rather than take the hosted service (2022–2026). Led the same call on Camunda at contract renewal, where the platform used a fraction of the engine and the choice was to build on it or leave it (2022–2023)."
              ]
            ]
          }
        },
        {
          "heading": "Summary",
          "text": "Technology executive with over 25 years building digital platforms, scaling engineering organizations and delivering complex transformation. Most recently co-founder and Head of Technology at LIKE MAGIC AG; previously CTO of 3AP AG, after 15 years at UBS AG, where I owned the engineering process and the toolchain several hundred engineers across the division worked inside. One thread runs through all of it: I build from explicit models rather than beside them — service contracts and a canonical data model at UBS, domains and capabilities at LIKE MAGIC. The newest turn is applying that to the company itself: LIKE MAGIC's Mental Model became the shared context layer for AI-assisted operations, and is now published as CompanyGraph. I believe AI is reshaping how we build software — moving the real constraint from “build fast” to “decide well” — and I bring business-critical platforms reliably into production under solid security and compliance standards (ISO 27001 in progress, GDPR / DSGVO).",
          "tables": []
        },
        {
          "heading": "Also at",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Where",
                "URL"
              ],
              "rows": [
                [
                  "GitHub",
                  "https://github.com/robertblust"
                ],
                [
                  "LinkedIn",
                  "https://www.linkedin.com/in/robertblust/"
                ],
                [
                  "Substack",
                  "https://substack.com/@robertblust"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Where",
              "URL"
            ],
            "rows": [
              [
                "GitHub",
                "https://github.com/robertblust"
              ],
              [
                "LinkedIn",
                "https://www.linkedin.com/in/robertblust/"
              ],
              [
                "Substack",
                "https://substack.com/@robertblust"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "model/profiles/robert-blust/robert-blust.md"
    },
    {
      "id": "profiles/robert-blust/experiences/1999-ubs-trainee",
      "type": "experience",
      "name": "UBS IT-Developer Program",
      "tagline": "Completed UBS's internal software-engineering program, the start of 15 years at UBS.",
      "fields": {
        "source": "Local",
        "kind": "Role",
        "start": "1999-10",
        "end": "2001-03",
        "organization": "UBS AG"
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Completed UBS's IT-Developer program: an eight-month course from October 1999, followed by a ten-month internship, graduating in March 2001.\n- Laid the foundation for nearly 14 further years and three roles within UBS Group IT.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/1999-ubs-trainee.md",
      "stamp": {
        "kind": "Role",
        "start": "1999-10",
        "end": "2001-03"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2001-ubs-engineer",
      "type": "experience",
      "name": "Software Engineer / IT Developer",
      "tagline": "Built UBS's intranet and internet web portals on IBM Portal Server, and led delivery of the WPS Portal application.",
      "fields": {
        "source": "Local",
        "kind": "Role",
        "start": "2001-04",
        "end": "2004-07",
        "organization": "UBS AG",
        "skills": [
          "Java",
          "Software engineering",
          "Mentoring and coaching",
          "Software architecture"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Developed intranet and internet web portals on IBM Portal Server (Java Portlets, JSP, XML).\n- Led development and project delivery of the WPS Portal application, including its maintenance and extension.\n- Co-developed the ACE Foundation, the base that UBS Quotes and the Client Advisor Workbench were built on.\n- Onboarded Java developers onto the portal.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2001-ubs-engineer.md",
      "stamp": {
        "kind": "Role",
        "start": "2001-04",
        "end": "2004-07"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2002-wirtschaftsinformatik-fh",
      "type": "experience",
      "name": "Business Information Systems UAS",
      "tagline": "Studied business information systems part-time over four years, majoring in Technology Engineering.",
      "fields": {
        "source": "Local",
        "kind": "Education",
        "start": "2002",
        "end": "2006",
        "organization": "Fachhochschule Aargau",
        "skills": [
          "Model-driven engineering",
          "Software architecture"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Earned a four-year part-time degree awarded by the University of Applied Sciences of Argovia (Fachhochschule Aargau) and taught at AKAD, carrying the protected title Dipl. Wirtschaftsinformatiker FH.\n- Majored in Technology Engineering: software and web engineering, systems and network programming, IT management.\n- Combined computer science, business administration and project management.\n- Wrote the degree dissertation on Model-Driven Architecture (MDA) for component-based and service-oriented architecture (SOA).",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2002-wirtschaftsinformatik-fh.md",
      "stamp": {
        "kind": "Education",
        "start": "2002",
        "end": "2006"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "type": "experience",
      "name": "Solution Manager, Software Engineering — Analysis & Design",
      "tagline": "Owned the Analysis & Design discipline in the software development life cycle rollout for UBS Wealth Management & Business Banking — RUP and EUP based — and architected DynaRep, the model-driven repository behind the division's mainframe service interfaces.",
      "fields": {
        "source": "Local",
        "kind": "Role",
        "start": "2004-08",
        "end": "2009-09",
        "organization": "UBS AG",
        "skills": [
          "Software modeling (UML, SysML, C4)",
          "Knowledge management",
          "Technical writing",
          "Change management",
          "Organization design",
          "Mentoring and coaching",
          "Community building",
          "Software process engineering",
          "Engineering leadership",
          "Requirements engineering",
          "Java",
          "Software engineering",
          "Model-driven engineering",
          "Domain-specific language design",
          "Software architecture",
          "Integration architecture",
          "Legacy modernization",
          "Database design"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Owned the Analysis & Design discipline in the rollout of a software development life cycle based on the Rational Unified Process and the Enterprise Unified Process for UBS Wealth Management & Business Banking (WM&BB), replacing the proprietary engineering process with a market-standard one that the division's project teams then worked to.\n- Developed methodology and guidance for service and data modeling (Rational Method Composer, UML) — how a requirement was elicited, written and carried into a design the delivery teams worked from.\n- Architected and built “DynaRep – Dynamic Repository”, a repository-based modeling tool for managing UBS mainframe service interfaces — Eclipse plugins, web services and code generators producing the COBOL/Java service implementations (Java, SOAP, Oracle, MDSD).\n- Took on software-architect and project-management responsibility for the DynaRep platform, leading its project team of ten.\n- Defined the department-wide role model — each role with its tasks and the competencies it carried — and put it through a formal consultation before it took effect.\n- Worked with the Eclipse Modeling project from inside the methodology work — bringing requirements to it, reviewing concepts and building prototypes — and the cross-industry working group grew out of that cooperation.\n- Joined the division's Java Chief Developer committee and led it for two years.\n- Coached project teams in applying the methodology and built internal communities of practice.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2004-ubs-solution-manager.md",
      "stamp": {
        "kind": "Role",
        "start": "2004-08",
        "end": "2009-09"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2009-ubs-architect",
      "type": "experience",
      "name": "IT Architect — Software Development Lifecycle Toolchain",
      "tagline": "Architected the integration and SDLC toolchains for UBS Wealth Management & Swiss Bank, and drove the division's business architecture and capability modeling on EMF/Ecore.",
      "fields": {
        "source": "Local",
        "kind": "Role",
        "start": "2009-10",
        "end": "2015-01",
        "organization": "UBS AG",
        "skills": [
          "Enterprise architecture",
          "Business architecture",
          "Domain-driven design",
          "Agile delivery",
          "Model-driven engineering",
          "Domain-specific language design",
          "Integration architecture",
          "API design",
          "Data modeling",
          "IT governance",
          "Platform engineering",
          "CI/CD",
          "Engineering leadership",
          "Software process engineering",
          "Public speaking",
          "Community building"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Architected the SDLC toolchain for UBS Wealth Management & Swiss Bank — the environment several hundred engineers across the division planned, built and released in (Jira, Confluence, GitHub Enterprise, Maven, Jenkins, Sonar), including the offshore-capable setup for decentralized agile development and its security and network design for external partner access.\n- Created the application architecture of the Integration Architecture Tool Chain for the division, built to reduce large numbers of point-to-point connections to an integration bus over defined concepts and open interface standards.\n- Cut it into three parts along the roles that used it: the canonical data model and the conformance measurement, both for the business domain architects who governed that model, and interface design for the developers and software architects who specified their interfaces against it.\n- The data model part held the canonical model itself and the platform-independent definitions of data types, interfaces and service contracts, generated the XML-Schema and WSDL artifacts from them, kept the central API and interface-portfolio repository and ran the role-based review every team's interfaces had to pass.\n- The conformance part analyzed source code across the estate, the mainframe included, producing EMF graphs held in the CDO model repository and an automated metric for the technical coupling of software components and applications, which identified interactions between subsystems not conforming to the architecture's specifications.\n- Built the whole on Eclipse EMF, Xcore, Xtext and Xtend with a CDO model repository, drawing on outcomes from the Eclipse Modeling Platform Working Group.\n- Managed the tool portfolio supporting the software development process.\n- Drove the division's business architecture and capability modeling on EMF/Ecore, representing UBS internationally in the Eclipse Modeling Platform Working Group alongside Airbus, Ericsson, Alcatel-Lucent, SBB and SWIFT among others.\n- Co-organized the Eclipse events that brought the open-source modeling community to UBS in Zürich — MDD Day in 2010, then the Eclipse Finance Days, the Swiss forum for cross-company exchange on open source in financial services, in 2012 and 2014.\n- Built UBS's network into open-source communities and their standards, assessing where the firm could adopt them.\n- Continued on the division's Java Chief Developer committee, co-leading it for five years — the forum in which its lead engineers set common practice.\n- Led the team that implemented the tooling platform, an integrated Eclipse Modeling Framework stack built for model-based engineering, scalability and collaboration.\n- Scrum Master and technical lead in central WM&SB initiatives.\n- Spoke at UBS-internal brown-bag sessions on modeling, toolchain and architecture.",
          "tables": []
        },
        {
          "heading": "Ending",
          "text": "Left in January 2015 after 15 years and four roles — the IT-Developer program, engineering, methodology, then architecture.\nEnough to back myself as a founder, and probably a little naive about what founding takes; I\nwanted to find out. We had founded 3AP that November; I went operative there the month after.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2009-ubs-architect.md",
      "stamp": {
        "kind": "Role",
        "start": "2009-10",
        "end": "2015-01"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2010-eclipse-mdd-day",
      "type": "experience",
      "name": "Eclipse MDD Day 2010",
      "tagline": "Co-organized Eclipse MDD Day, brought it to UBS in Zürich-Altstetten and spoke on models as the enterprise's first-class artifacts.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2010-10-28",
        "end": "2010-10-28",
        "url": "https://wiki.eclipse.org/Eclipse_MDD_Day",
        "organization": "Eclipse Foundation",
        "skills": [
          "Model-driven engineering",
          "Public speaking",
          "Community building"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Co-organized Eclipse MDD Day on October 28, 2010 and hosted it at UBS in Zürich-Altstetten, with itemis co-supporting — the first of the Eclipse events brought to UBS.\n- Presented “User Story: Models as First Class Citizens in the Enterprise”, on a program with Ed Merks (EMF project lead), Sven Efftinge (Xtext project lead), Eike Stepper (CDO project lead) and practitioners from SAP, Robert Bosch, RWE and Nord/LB.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Event write-up",
                  "https://madmeierslife.blogspot.com/2010/10/eclipse-enterprise-modeling-day-ubs.html"
                ],
                [
                  "Presentation slides",
                  "https://wiki.eclipse.org/images/8/8e/MDDDay2010_UBS.pdf"
                ],
                [
                  "Session abstract",
                  "https://wiki.eclipse.org/User_Story:_Models_as_First_Class_Citizens_in_the_Enterprise"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Event write-up",
                "https://madmeierslife.blogspot.com/2010/10/eclipse-enterprise-modeling-day-ubs.html"
              ],
              [
                "Presentation slides",
                "https://wiki.eclipse.org/images/8/8e/MDDDay2010_UBS.pdf"
              ],
              [
                "Session abstract",
                "https://wiki.eclipse.org/User_Story:_Models_as_First_Class_Citizens_in_the_Enterprise"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2010-eclipse-mdd-day.md",
      "stamp": {
        "kind": "Community",
        "start": "2010-10-28",
        "end": "2010-10-28"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2010-eclipse-modeling-platform",
      "type": "experience",
      "name": "Eclipse Modeling Platform Working Group",
      "tagline": "Represented UBS in the Eclipse Foundation's cross-industry initiative to build an open-source modeling toolchain.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2010-03",
        "end": "2011-11",
        "url": "https://wiki.eclipse.org/ModelingPlatform/",
        "organization": "Eclipse Foundation",
        "skills": [
          "Model-driven engineering",
          "Community building"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Represented UBS in a cross-industry Eclipse Foundation initiative to build an integrated, open-source modeling toolchain — contributing alongside Airbus, Alcatel-Lucent, Atos, CEA LIST, Ericsson, Euranova, Fraunhofer FOKUS, Geensys, Generic Concept, itemis, Obeo, SBB and SWIFT.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Minutes of the June 2010 meeting",
                  "https://wiki.eclipse.org/ModelingPlatform/June_14,_Face_to_Face_Meeting_in_Paris"
                ],
                [
                  "Minutes of the November 2011 meeting",
                  "https://wiki.eclipse.org/ModelingPlatform/EclipseConEuropeNov2_2011"
                ],
                [
                  "Presentation slides",
                  "https://wiki.eclipse.org/images/9/9c/EMP_Usage_UBS.pdf"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Minutes of the June 2010 meeting",
                "https://wiki.eclipse.org/ModelingPlatform/June_14,_Face_to_Face_Meeting_in_Paris"
              ],
              [
                "Minutes of the November 2011 meeting",
                "https://wiki.eclipse.org/ModelingPlatform/EclipseConEuropeNov2_2011"
              ],
              [
                "Presentation slides",
                "https://wiki.eclipse.org/images/9/9c/EMP_Usage_UBS.pdf"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2010-eclipse-modeling-platform.md",
      "stamp": {
        "kind": "Community",
        "start": "2010-03",
        "end": "2011-11"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2011-jugs-board",
      "type": "experience",
      "name": "Swiss Eclipse User Group board",
      "tagline": "Served on the board of the Swiss Eclipse User Group within JUG Switzerland.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2011-08",
        "end": "2014-12",
        "url": "https://www.jug.ch/",
        "organization": "JUG Switzerland",
        "skills": [
          "Community building"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Board member of the Swiss Eclipse User Group — the Eclipse Special Interest Group within JUG Switzerland — from 2011 to 2014.\n- Co-organized the annual Eclipse DemoCamp (Zürich) and Eclipse Finance Day.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Event page, Eclipse DemoCamp 2015",
                  "https://wiki.eclipse.org/Eclipse_DemoCamps_Mars_2015/Zurich"
                ],
                [
                  "Event page, Eclipse Finance Day 2014",
                  "https://wiki.eclipse.org/Eclipse_Finance_Day_2014/"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Event page, Eclipse DemoCamp 2015",
                "https://wiki.eclipse.org/Eclipse_DemoCamps_Mars_2015/Zurich"
              ],
              [
                "Event page, Eclipse Finance Day 2014",
                "https://wiki.eclipse.org/Eclipse_Finance_Day_2014/"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2011-jugs-board.md",
      "stamp": {
        "kind": "Community",
        "start": "2011-08",
        "end": "2014-12"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2012-talk-eclipse-day-florence",
      "type": "experience",
      "name": "Eclipse Day Florence 2012",
      "tagline": "Spoke at Eclipse Day Florence in May 2012 on data modeling at enterprise scale.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2012-05-04",
        "end": "2012-05-04",
        "url": "https://www.youtube.com/watch?v=53jrNcbd5N0",
        "organization": "Eclipse Foundation",
        "skills": [
          "Data modeling",
          "Model-driven engineering",
          "Public speaking"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Presented “Eclipse Data Modeling at an Enterprise Scale” at Eclipse Day Florence on May 4, 2012, co-presented with Eike Stepper, lead of the Eclipse CDO project.\n- Covered the conformance half of the work as well as the modeling: source-code analysis rendered as EMF graphs, checked against the architecture's rules for interactions that broke a defined boundary.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2012-talk-eclipse-day-florence.md",
      "stamp": {
        "kind": "Community",
        "start": "2012-05-04",
        "end": "2012-05-04"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2012-talk-eclipse-finance-day",
      "type": "experience",
      "name": "Eclipse Finance Day 2012",
      "tagline": "Spoke at Eclipse Finance Day in October 2012 on interface management in a large enterprise.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2012-10-16",
        "end": "2012-10-16",
        "url": "https://wiki.eclipse.org/Eclipse_Finance_Day_2012/",
        "organization": "Eclipse Foundation",
        "skills": [
          "Integration architecture",
          "Software modeling (UML, SysML, C4)",
          "Model-driven engineering",
          "Public speaking"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Presented “Interface Management in a Large Enterprise” at Eclipse Finance Day on October 16, 2012 in Zürich, on UBS's Integration Architecture initiative: an end-to-end process and tooling to identify, specify, design and govern the interfaces between parts of the IT system.\n- The published abstract describes what the toolchain did: capture actual communication patterns through source-code analysis, produce EMF-based graphs that identify non-conformant interactions, hold platform-independent data types and interface specifications with policies, check conformance to architectural rules, generate XML-Schema and WSDL and run governance through a central repository with role-based reviews.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Presentation slides",
                  "https://wiki.eclipse.org/images/2/24/SDLC_Modeling_Platform_-_Eclipse_Finance_Day.pdf"
                ],
                [
                  "Session abstract",
                  "https://wiki.eclipse.org/Eclipse_Finance_Day_2012/Session_Abstracts"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Presentation slides",
                "https://wiki.eclipse.org/images/2/24/SDLC_Modeling_Platform_-_Eclipse_Finance_Day.pdf"
              ],
              [
                "Session abstract",
                "https://wiki.eclipse.org/Eclipse_Finance_Day_2012/Session_Abstracts"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2012-talk-eclipse-finance-day.md",
      "stamp": {
        "kind": "Community",
        "start": "2012-10-16",
        "end": "2012-10-16"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2013-talk-eclipse-finance-day",
      "type": "experience",
      "name": "Eclipse Finance Day 2013",
      "tagline": "Spoke at Eclipse Finance Day in November 2013 on the UBS Integration Architecture Tool Chain.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2013-11-05",
        "end": "2013-11-05",
        "url": "https://wiki.eclipse.org/Eclipse_Finance_Day_2013/",
        "organization": "Eclipse Foundation",
        "skills": [
          "Integration architecture",
          "Enterprise architecture",
          "Public speaking"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Presented “UBS Integration Architecture Tool Chain” at Eclipse Finance Day on November 5, 2013 at the Credit Suisse Tower in Zürich — the integration and interface toolchain built for UBS Wealth Management & Swiss Bank.\n- Where the 2012 talk was the initiative, this one was the toolchain's design: coarse-grained interfaces defined and maintained platform-independently with code generators producing the platform-specific implementations, a clear separation of interface definition from implementation from instantiation, versioning and ownership and cross-references as properties of the artifacts themselves and continuous integration over the models.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Presentation slides",
                  "https://wiki.eclipse.org/images/6/6e/RBlust.pdf"
                ],
                [
                  "Session abstract",
                  "https://wiki.eclipse.org/Eclipse_Finance_Day_2013/Session_Abstracts"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Presentation slides",
                "https://wiki.eclipse.org/images/6/6e/RBlust.pdf"
              ],
              [
                "Session abstract",
                "https://wiki.eclipse.org/Eclipse_Finance_Day_2013/Session_Abstracts"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2013-talk-eclipse-finance-day.md",
      "stamp": {
        "kind": "Community",
        "start": "2013-11-05",
        "end": "2013-11-05"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2014-eclipse-finance-day-organizer",
      "type": "experience",
      "name": "Eclipse Finance Day 2014",
      "tagline": "Co-organized Eclipse Finance Day 2014 for the JUG Swiss Eclipse User Group and hosted it at UBS.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2014-10",
        "end": "2014-10",
        "url": "https://wiki.eclipse.org/Eclipse_Finance_Day_2014/",
        "organization": "Eclipse Foundation",
        "skills": [
          "Community building"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Co-organized Eclipse Finance Day on October 31, 2014 for the JUG Swiss Eclipse User Group, alongside Matthias Zimmermann of BSI and Serano Colameo of itemis.\n- Brought the conference to UBS in Zürich Altstetten, giving Swiss financial institutions a venue to compare open-source practice.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2014-eclipse-finance-day-organizer.md",
      "stamp": {
        "kind": "Community",
        "start": "2014-10",
        "end": "2014-10"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "type": "experience",
      "name": "Flatland CDO Server",
      "tagline": "A model repository anyone can run: an Eclipse CDO server published in the open that serves any model over REST without code written for that model, and the company described on it.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2014-08",
        "end": "2022-03",
        "url": "https://github.com/robertblust/cdo-server",
        "skills": [
          "Open-source stewardship",
          "Model-driven engineering",
          "Domain-specific language design",
          "Data modeling",
          "Frontend development",
          "Organization design",
          "API design",
          "Identity and access management",
          "Java"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Published the server in August 2014 and kept it public since, under the Eclipse Public License: seven people have starred it and three have forked it to build on, none of whom he knows.\n- Published a client beside it that browses any model the server holds rather than one model in particular, so a new metamodel is explorable without a screen built for it, and the organization above was worked with through that client.\n- Ran it in a bank. Credit Suisse's Master Data Repository was built on this server in 2016, which is a heavier kind of adoption than a fork: a regulated institution depending on it, and the same person answering for both the product and the delivery.\n- Made the REST interface generic by going through EMF's reflective API rather than generated accessors, so a model added to the repository is readable and writable the same day without an endpoint written for its types.\n- Shipped it as something to run rather than assemble — an OSGi product with its own target platform, build and product tests, packaged as a container image — because a model repository that takes a week to stand up is one nobody tries.\n- Wrote a plugin authenticating CDO sessions against LDAP, and later took bearer tokens at the REST boundary, so the repository could sit behind the same identity as everything around it.\n- Designed a base vocabulary every model on top inherits — identity, naming, description, comments, hyperlinks, free-form properties, ratings and a global search marker — so the models above it describe their own domain and nothing else.\n- Described 3AP's own organization in that vocabulary: circles nested inside circles, roles carrying responsibilities and an assignment joining a person to a role in a circle with a capacity and a validity window, which is what makes the structure answerable by date rather than only as it stands today.\n- Kept two kinds of time apart, which is what makes the model answerable rather than merely current. A role assignment carries the dates it was in force, and every derived figure has a by-date twin, so the organization can be asked what it looked like on a given day. Underneath, the repository keeps every revision and the interface takes a point in time, so it can also be asked what it said on a given day — and refuses a write against a past one, because history is not a thing to correct.\n- Derived the questions a management team actually asks from that model instead of maintaining answers by hand — a circle's capacity including everything nested under it, who leads or deputizes where, which roles are assigned but unmatched and which are defined and unfilled.",
          "tables": []
        },
        {
          "heading": "Ending",
          "text": "Left it in March 2022 with 3AP, whose organization was the model it served. The repository\nstays public as it is, and the idea came back four years later as CompanyGraph, in Markdown\nrather than on a server.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Client repository",
                  "https://github.com/robertblust/cdo-web"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Client repository",
                "https://github.com/robertblust/cdo-web"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2014-flatland-cdo-server.md",
      "stamp": {
        "kind": "Community",
        "start": "2014-08",
        "end": "2022-03"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2015-3ap",
      "type": "experience",
      "name": "Co-Founder & CTO",
      "tagline": "Co-founded 3AP AG and owned technology strategy and delivery governance as CTO while the company scaled from 5 to about 70 people.",
      "fields": {
        "source": "Local",
        "kind": "Role",
        "start": "2015-02",
        "end": "2022-03",
        "organization": "3AP AG",
        "skills": [
          "IT strategy",
          "IT governance",
          "Engineering leadership",
          "Stakeholder management",
          "Consulting",
          "Solution architecture",
          "Cloud architecture",
          "Container orchestration (Kubernetes)",
          "Microservices architecture",
          "API design",
          "DevOps",
          "CI/CD",
          "Software testing",
          "Company vision and strategy",
          "Mentoring and coaching",
          "Solution selling",
          "Organization design",
          "Software architecture",
          "Java",
          "Database design",
          "Event-driven architecture"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Co-founded 3AP AG in November 2014 and went operative in February 2015 after leaving UBS; member of the management team.\n- The company scaled from 5 to about 70 people, including a near-shore team in Serbia.\n- Owned technology strategy, reference architecture and delivery governance.\n- Set the reference architecture and technology stack every client engagement had to fit, and joined the ramp-up of each new project to negotiate with the client's security and platform organizations so the delivery fit their environment.\n- Wrote that reference architecture as an event-driven, 12-factor microservice design on Java and Spring Boot, with the service cut driven by business capability, its delivery pipeline part of the definition rather than a thing each project arranged for itself — the shape AXA Health, Flawa iQ, Conperi, Aroov and Stay KooooK were each built to, and the one that platform carried into LIKE MAGIC.\n- Put the reference architecture on MongoDB and later moved it to PostgreSQL. The first choice followed the momentum document stores had at the time rather than the shape of the data AXA Health, Flawa iQ and Conperi actually held; from Aroov onward the default was relational, and it has stayed relational through Stay KooooK and LIKE MAGIC.\n- Targeted Kubernetes and no cloud in particular, which is why the same architecture ran on Google Cloud at Aroov and Stay KooooK and on AXA's own on-premise OpenShift: a client's platform was a deployment decision rather than an architectural one.\n- Delivered flagship client platforms as lead architect and hands-on engineer across insurance, real-estate, IoT and hospitality.\n- One of them, the SV Group hospitality platform, became LIKE MAGIC — a spin-off from SV Group.\n- Created technical concepts, proposals and pitches.\n- Advised clients including Credit Suisse, Swisscard, AXA and Mobiliar (the driver behind Aroov).\n- Led client bids with a focus on solution architecture, across both public and private sector — including public tenders under Swiss procurement law / WTO rules.\n- Mentored the engineers as the company grew from 5 to about 70, the near-shore team in Serbia included.\n- Established software-delivery processes, technology-stack approvals and sustainable DevOps practices.\n- Made unit and integration tests part of how a feature was finished rather than a phase after it — new behavior covered at the level that catches its regression the next time the code is touched, which is where the coverage earns its keep.",
          "tables": []
        },
        {
          "heading": "Ending",
          "text": "Left in March 2022 after seven years. Seven years of client platforms had settled what I wanted\nnext: to lead technology in a product company, and to stay with one product long enough to see\nit through. The SV Group hospitality platform spinning out as LIKE MAGIC was that chance.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Commercial register entry",
                  "https://www.zefix.ch/en/search/entity/list/firm/1201727"
                ],
                [
                  "The company",
                  "https://3ap.ch/"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Commercial register entry",
                "https://www.zefix.ch/en/search/entity/list/firm/1201727"
              ],
              [
                "The company",
                "https://3ap.ch/"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2015-3ap.md",
      "stamp": {
        "kind": "Role",
        "start": "2015-02",
        "end": "2022-03"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2015-swisscard-data-integration",
      "type": "experience",
      "name": "Swisscard data integration rewrite",
      "tagline": "3AP · Backend Engineer — replaced the proprietary SOAP layer in front of Swisscard's core platform with Spring Boot behind the same WSDL contract, so no consumer had to change.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2015-12",
        "end": "2016-09",
        "organization": "Swisscard",
        "skills": [
          "API design",
          "Java",
          "Software testing",
          "Database design",
          "CI/CD",
          "Legacy modernization"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- One of 3AP's first client mandates: replaced a proprietary Informatica Data Services SOAP layer fronting the core platform with a Spring Boot / Spring WS implementation — preserving the existing WSDL contract so no consumer had to change.\n- Built on Spring Boot / Spring Data / Spring WS with Jenkins, JUnit and MSSQL.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2015-swisscard-data-integration.md",
      "stamp": {
        "kind": "Project",
        "start": "2015-12",
        "end": "2016-09"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2015-swisscom-agile-cockpit",
      "type": "experience",
      "name": "Swisscom agile delivery cockpit",
      "tagline": "3AP · Integration Architect & Engineer — a real-time cockpit that put the agile release train and its test coverage on a wall screen, fed from Rally and Quality Center through MuleSoft.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2015-09",
        "end": "2015-11",
        "organization": "Swisscom",
        "skills": [
          "Integration architecture",
          "Java",
          "API design",
          "Software engineering",
          "Frontend development"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Early 3AP client mandate for Swisscom: as integration architect and developer, built a real-time cockpit that surfaces agile delivery status on a TV dashboard.\n- Integrated and aggregated data from Rally (agile ALM) and HP Quality Center (test management) via MuleSoft (Mule ESB): the Agile Release Train broken down into sprints per project/team, and test coverage against Quality Center.\n- Built with MuleSoft and the Rally and Quality Center REST/SOAP APIs, with a React front end putting the release train on a wall-mounted screen.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2015-swisscom-agile-cockpit.md",
      "stamp": {
        "kind": "Project",
        "start": "2015-09",
        "end": "2015-11"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "type": "experience",
      "name": "Credit Suisse Master Data Repository",
      "tagline": "3AP · Lead Architect & Developer — the Master Data Repository for Client Data Management, built on the Flatland CDO Server so data stewards and golden sources could be assigned and mapped for a FINMA requirement.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2016-02",
        "end": "2016-09",
        "organization": "Credit Suisse",
        "skills": [
          "Model-driven engineering",
          "Data governance",
          "Data engineering",
          "Solution architecture",
          "Solution selling",
          "Software architecture",
          "Frontend development"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Built the Master Data Repository (MDR) for Credit Suisse Client Data Management — managing data items and classifying their source systems so data stewards could be assigned, and mapping the distribution of data across the core systems (golden source vs. slave), identified and visualized for governance.\n- Delivered to satisfy a FINMA regulatory requirement.\n- Won without a tender: the problem was known inside the bank and reached 3AP through its network, and the work followed a proposed solution architecture rather than a specification.\n- Implemented on the Flatland CDO Server rather than on stock Eclipse CDO — the model repository published as open source two years earlier, brought to a bank as the foundation of paid work — with a front end built along the same lines as the generic model browser published beside that server, and fed by static source-code analysis and several data sources to discover and connect the model.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Flatland CDO Server repository",
                  "https://github.com/robertblust/cdo-server"
                ],
                [
                  "Model browser repository",
                  "https://github.com/robertblust/cdo-web"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Flatland CDO Server repository",
                "https://github.com/robertblust/cdo-server"
              ],
              [
                "Model browser repository",
                "https://github.com/robertblust/cdo-web"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2016-credit-suisse-mdr.md",
      "stamp": {
        "kind": "Project",
        "start": "2016-02",
        "end": "2016-09"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "type": "experience",
      "name": "Lost-Tag",
      "tagline": "3AP · Architect and hands-on lead of Digibonum's lost-and-found platform across the whole stack, from the model to the app in the store.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2016-09",
        "end": "2021-11",
        "url": "https://www.lost-tag.com",
        "organization": "Digibonum AG",
        "skills": [
          "Solution architecture",
          "Software modeling (UML, SysML, C4)",
          "Requirements engineering",
          "Microservices architecture",
          "Frontend development",
          "API design",
          "Java",
          "CI/CD"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- A consumer lost-and-found service for Digibonum AG that is still running: an owner registers a tagged valuable, a finder scans the tag or types its identifier on the website and the owner is notified without either side seeing the other's details until they agree to meet.\n- Modeled the system before building it and kept the model with it — the two actors, the use cases each of them has, the domain classes and a component view naming every service and the interface it offers, in UML alongside the code rather than in a document beside it.\n- Cut the platform into Spring Boot services behind a gateway with service discovery, generated from JHipster so that a new service arrived with its build, its tests and its security already wired.\n- Carried the same product into a browser, a hybrid mobile application and a native iOS app with a barcode scanner, all against one set of service interfaces, and released the iOS app to the store from a scripted pipeline.\n- Delivered it in five languages, Georgian among them, and integrated the shop the tags are sold through rather than building a second one.\n- Ran it on Cloud Foundry for the first years and saw it through to Kubernetes on Google Cloud, a platform outliving two runtimes underneath it.\n- Stayed with it for five years and 621 commits, from the first setup to the last rebrand, which is the part a proof of concept never tests.",
          "tables": []
        },
        {
          "heading": "Ending",
          "text": "Left it after the last rebrand in November 2021, running and selling tags without me. Five\nyears on one product was the closest 3AP's client business came to product work, and\nLIKE MAGIC was the chance to do it fully.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2016-lost-tag-digibonum.md",
      "stamp": {
        "kind": "Project",
        "start": "2016-09",
        "end": "2021-11"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2016-safe-practitioner",
      "type": "experience",
      "name": "Certified SAFe 4 Practitioner",
      "tagline": "Certified SAFe 4 Practitioner and SAFe 4 for Teams, Scaled Agile, Inc.",
      "fields": {
        "source": "Local",
        "kind": "Education",
        "start": "2016-10",
        "end": "2016-10",
        "organization": "Scaled Agile, Inc.",
        "skills": [
          "Agile delivery"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Completed the SAFe 4.0 for Teams course and passed the SAFe Practitioner certification, effective October 18, 2016 (certificate 28616437–8064).\n- The certification was valid through October 18, 2017 and was not renewed; the practice it taught still shapes how delivery is run.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2016-safe-practitioner.md",
      "stamp": {
        "kind": "Education",
        "start": "2016-10",
        "end": "2016-10"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "type": "experience",
      "name": "AXA Health digital insurance platform",
      "tagline": "3AP · Lead Architect & Backend Engineer, about two years hands-on — a digital-first platform for complementary health insurance, its integration into Adcubum Syrius and the automated insurer-switching service.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2017-07",
        "end": "2019-05",
        "url": "https://3ap.ch/case_studies/digitale-gesundheitsplattform/",
        "organization": "AXA Health",
        "skills": [
          "API design",
          "Database design",
          "Java",
          "Integration architecture",
          "Microservices architecture",
          "CI/CD",
          "Frontend development",
          "Solution architecture",
          "Solution selling",
          "Software architecture"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- A digital-first self-service platform for complementary health insurance — customers and brokers configure products, calculate quotes and purchase policies across two integrated apps over one backend.\n- Built its signature automated health-insurer switching service: AXA sells only complementary insurance, not the mandatory basic insurance (which, by Swiss law, every resident must hold and no insurer may refuse). The service compares basic-insurance premiums each year and automatically moves AXA's complementary-insurance customers to the cheapest basic insurer — saving about CHF 426 per year on average, with AXA taking no basic-insurance commission to keep the advice neutral.\n- Owned the complete integration architecture and its implementation, including the integration with the core insurance system Adcubum Syrius.\n- Built the Java/Spring Boot and Node.js backend with GraphQL APIs over MongoDB, to 3AP's microservice reference architecture and its delivery pipeline.\n- Built the React/Next.js frontend on AXA's own on-premise OpenShift — a platform the insurer ran itself, so the architecture had its elasticity without its managed services.\n- Won the work in a competitive pitch, presenting the solution architecture as the people who would build it.\n- Placed 3rd at the 2017 Swiss Insurance Innovation Prize.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Award announcement",
                  "https://www.m-q.ch/de/innovationspreis-der-schweizer-assekuranz/"
                ],
                [
                  "Product page",
                  "https://www.axa.ch/de/privatkunden/angebote/gesundheit-unfall/krankenkasse-wechselservice.html"
                ],
                [
                  "Trade article on the award",
                  "https://www.moneycab.com/finanz/innovationspreis-der-schweizer-assekuranz-kreativ-bis-ins-detail/"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Award announcement",
                "https://www.m-q.ch/de/innovationspreis-der-schweizer-assekuranz/"
              ],
              [
                "Product page",
                "https://www.axa.ch/de/privatkunden/angebote/gesundheit-unfall/krankenkasse-wechselservice.html"
              ],
              [
                "Trade article on the award",
                "https://www.moneycab.com/finanz/innovationspreis-der-schweizer-assekuranz-kreativ-bis-ins-detail/"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2017-axa-health-platform.md",
      "stamp": {
        "kind": "Project",
        "start": "2017-07",
        "end": "2019-05"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "type": "experience",
      "name": "Conperi",
      "tagline": "3AP · Architect — the platform, the labeling tool and the serving path of an applied-research proof of concept with ZHAW for reading health-insurance invoices into claims.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2018-11",
        "end": "2020-10",
        "organization": "3AP AG",
        "skills": [
          "Solution architecture",
          "Microservices architecture",
          "Cloud architecture",
          "Java",
          "Database design",
          "Container orchestration (Kubernetes)",
          "Platform engineering",
          "CI/CD",
          "MLOps",
          "Machine learning",
          "Event-driven architecture",
          "Event streaming"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- An applied-research proof of concept for AXA Health: reading scanned invoices well enough to process a health-insurance claim without a person retyping it, built by 3AP with ZHAW as research partner.\n- Architected the processing pipeline to 3AP's microservice reference architecture, on MongoDB and as Kafka-streamed services — Java and Spring Boot for the entry point, the gateway and the dataset management, Python inside the four services that did the modeling, which is the polyglot half of that architecture actually used — region detection over the scanned page, extraction of what was found, classification of the extracted positions and a quality gate before anything downstream trusted the result.\n- Put every service on a build pipeline from the first commit, including the rule that stops a build when nothing in its own subdirectory changed — a monorepo of eight services otherwise rebuilds all of them for one edit.\n- Built and ran the platform underneath it on Google Kubernetes Engine, from cluster creation to the Kafka backbone, the document store, distributed tracing, the OAuth gateway in front of the services and GPU nodes in the one region that had them so models could be trained where the data already was.\n- Built the labeling tool that made training possible: a browser application for drawing regions over an invoice and naming what each one held. Labeled invoices were the bottleneck the whole project ran into, and none existed before this.\n- Set up the training and serving split around the models — a service that trains, a registry that versions each model with the metadata to reproduce it and a separate service that serves the chosen version — so a model could be replaced without redeploying what consumed it.\n- ZHAW made the modeling calls. The computer-vision work and the classifier that read a claim's positions were theirs; the pipeline they ran inside, the data that fed them and the path their output took to a consumer were 3AP's.\n- Ended as a proof of concept, which is what the funding instrument is for. Nothing from it went into production at AXA.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2018-conperi-automated-claims.md",
      "stamp": {
        "kind": "Project",
        "start": "2018-11",
        "end": "2020-10"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2018-flawa-iq",
      "type": "experience",
      "name": "Flawa iQ",
      "tagline": "3AP · Solution Architect — a networked first-aid kit that detects missing or expired modules over LoRaWAN and reorders them, from the sensing research to 10 working prototypes.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2018-07",
        "end": "2019-02",
        "url": "https://3ap.ch/case_studies/networked-first-aid-kit/",
        "organization": "Flawa",
        "skills": [
          "Integration architecture",
          "Solution architecture",
          "Solution selling",
          "Microservices architecture",
          "Event-driven architecture",
          "CI/CD",
          "IoT architecture",
          "Data engineering",
          "Frontend development",
          "Java",
          "Database design",
          "Cloud architecture",
          "API design"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- An IoT first-aid kit for FLAWA AG that keeps itself stocked and compliant — Swiss firms are legally required to maintain first-aid supplies, so the kit detects missing or expired modules in real time and automatically triggers reordering, removing manual checks.\n- Ran the initial sensing research — how to detect the absence of an item within a defined volume — and selected RFID-tagged modules as the approach.\n- Evaluated the connectivity options (LoRaWAN vs. GSM); built the MVP on Swisscom's LoRaWAN network, with GSM selected for the later production version.\n- Together with comtac AG (a canton-Zürich LoRaWAN electronics specialist), delivered an MVP of 10 working prototypes (RFID modules + LoRaWAN, backend on Google Cloud).\n- Built a small React front end for the MVP so the sensor readings could be seen rather than inferred from the telemetry.\n- Built the backend to 3AP's microservice reference architecture on Spring and Java 11, released through a Jenkins pipeline — consuming device uplink and configuration events over AMQP from Swisscom's LoRaWAN broker, holding them in a reactive MongoDB repository, pushing them on to the client as server-sent events and feeding the data into the ERP over an API, which closes the loop so consumed or expired modules trigger automatic reordering.\n- Won the work in a competitive pitch, on a solution architecture for a problem the client had described rather than specified.\n- Won the “smart IoT” Award 2021, University of St. Gallen.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Award announcement",
                  "https://flawa-iq.ch/de/blog/flawa-gewinnt-smart-iot-award"
                ],
                [
                  "Trade article on the award",
                  "https://www.safety-security.ch/vernetzter-notfallkoffer-flawa-iq/"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Award announcement",
                "https://flawa-iq.ch/de/blog/flawa-gewinnt-smart-iot-award"
              ],
              [
                "Trade article on the award",
                "https://www.safety-security.ch/vernetzter-notfallkoffer-flawa-iq/"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2018-flawa-iq.md",
      "stamp": {
        "kind": "Project",
        "start": "2018-07",
        "end": "2019-02"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2019-3ap-platform",
      "type": "experience",
      "name": "3AP Platform",
      "tagline": "3AP · Built the platform 3AP's own projects and internal systems ran on, and ran part of it on two clouds at once to show it depended on neither.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2019-04",
        "end": "2021-10",
        "organization": "3AP AG",
        "skills": [
          "Platform engineering",
          "Cloud architecture",
          "Identity and access management",
          "Data engineering",
          "Microservices architecture",
          "Event-driven architecture",
          "Integration architecture",
          "API design",
          "Container orchestration (Kubernetes)",
          "CI/CD",
          "Observability",
          "Software modeling (UML, SysML, C4)",
          "Java"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- A platform of the company's own, so that a project or an internal system started from a running gateway, a running identity provider and shared capabilities rather than from an empty cluster — one architecture, drawn in the repository, with everything reaching the internet through a single reverse proxy that terminates TLS and enforces strict transport security.\n- Made identity the platform's job rather than each service's: Keycloak issuing the tokens, social sign-in trusted into it and the gateway verifying the token before routing, so a service behind it receives requests already authenticated and no service holds a login of its own.\n- Put the company's own administration on it — a directory service reading from Google Directory, time tracking pulling from the system the company billed through and a scheduler running the jobs that keep both current — because internal work justifies a platform the same way client work does, and it was the first thing to prove it.\n- Gave the organization model an interface a normal application can use: a GraphQL service reading the CDO repository through its client, which is what turned circles, roles and assignments from something only a modeling tool could open into something a front end could ask questions of.\n- A notification service any project could call instead of integrating messaging vendors of its own: one authenticated POST, delivered as e-mail, SMS or a Slack message, with the vendor behind each channel a detail of the platform rather than of the project.\n- Ran the same services on two clouds at once, which was the point of building them in the open like this: pushed to Swisscom's Cloud Foundry with a manifest and a bound message broker, and deployed to Google Kubernetes Engine as containers with the broker running beside them. Only the deployment descriptor and a Spring profile differed, so what a project depended on was the service and not the cloud under it.\n- Separated accepting a message from delivering one — the receiving service publishes to a queue for each channel and a service per channel consumes it — so a vendor that is slow or down delays delivery instead of failing the caller.\n- Traced a message across that hand-off with Spring Cloud Sleuth, so a message that never arrived can be followed past the queue rather than lost at it, and wired each service's health endpoint to its readiness and liveness probes with a request and a limit set for every container.\n- Made the build the gate: every branch and every pull request analyzed on SonarCloud with test coverage attached, container images built without a Dockerfile to write and a green build on the mainline deploying itself to the cluster.\n- Modeled both platforms' own vocabularies side by side in PlantUML beside the code — organization, space, application and a bound service on one; project, cluster, pod and an exposing service on the other — so that what the two call the same thing, and where they genuinely differ, could be read rather than argued about.\n- Retired the Cloud Foundry half in November 2019 once 3AP settled on its own Google Cloud platform, having established what it was built to establish.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2019-3ap-platform.md",
      "stamp": {
        "kind": "Project",
        "start": "2019-04",
        "end": "2021-10"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "type": "experience",
      "name": "Aroov",
      "tagline": "3AP · Backend & Integration Architect — a digital rental platform on the reference architecture in its event-driven form, the first of them on PostgreSQL, integrated with Garaio REM.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2019-08",
        "end": "2020-09",
        "url": "https://3ap.ch/case_studies/platform-for-digital-rental/",
        "organization": "Aroov",
        "skills": [
          "Cloud architecture",
          "Database design",
          "Container orchestration (Kubernetes)",
          "Event-driven architecture",
          "Microservices architecture",
          "CI/CD",
          "API design",
          "Java",
          "Integration architecture",
          "Solution selling",
          "Stakeholder management",
          "Solution architecture"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Digital rental platform — applicants apply for apartments in a few clicks; property managers get automated workflows and radically simpler applicant communication.\n- Founded by Mobiliar and Garaio REM (2019), merged with market leader flatfox.ch (2021).\n- Created the backend architecture — 3AP's microservice reference architecture in its event-driven form, delivery pipeline included, on Google Cloud (Spring Boot, Kubernetes/GKE, Cloud Pub/Sub) — and the first of the platforms to hold its data in PostgreSQL rather than a document store.\n- Designed the integration architecture connecting Aroov to Garaio REM, one of Switzerland's leading property-management systems (and an Aroov co-founder).\n- Presented the solution architecture in the winning sales pitch.\n- One of four winners of the Digital Top 10 2021, voted by over 5,000 participants ahead of the Digital Real Estate Summit.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Article",
                  "https://www.finews.ch/news/versicherungen/47571-flatfox-aroov-mobiliar-matthias-frieden-bernhard-maeder-fusion"
                ],
                [
                  "Award announcement",
                  "https://www.gebaeudetechnik-news.ch/digital-top-10-gewinner-stehen-fest/"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Article",
                "https://www.finews.ch/news/versicherungen/47571-flatfox-aroov-mobiliar-matthias-frieden-bernhard-maeder-fusion"
              ],
              [
                "Award announcement",
                "https://www.gebaeudetechnik-news.ch/digital-top-10-gewinner-stehen-fest/"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2019-aroov-realestate.md",
      "stamp": {
        "kind": "Project",
        "start": "2019-08",
        "end": "2020-09"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2020-stay-koook",
      "type": "experience",
      "name": "Stay KooooK",
      "tagline": "3AP · Lead Architect, front to back, and integrations — a digital hospitality platform putting the whole guest journey in one app, and the platform that became LIKE MAGIC.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2020-03",
        "end": "2022-03",
        "url": "https://3ap.ch/case_studies/hospitality-platform/",
        "organization": "SV Group",
        "skills": [
          "Cloud architecture",
          "CI/CD",
          "Container orchestration (Kubernetes)",
          "Process orchestration",
          "Business process modeling (BPMN, DMN)",
          "Java",
          "Frontend development",
          "Database design",
          "Integration architecture",
          "Software architecture",
          "Stakeholder management",
          "Solution architecture",
          "Solution selling",
          "Event-driven architecture",
          "Event streaming",
          "Microservices architecture",
          "API design"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- A digital hospitality platform for SV Group (“Stay KooooK”) putting the entire guest journey in one app — book, pay, check in, open the room, check out — replacing manual reception and paper processes (a 63-room hotel runs on just 2.4 FTE, ex-housekeeping).\n- Owned the complete architecture, front to back, built to 3AP's microservice reference architecture and the last project to be: React and TypeScript frontend, MUI from 2021; reactive Spring Boot WebFlux backend publishing and consuming through Spring Cloud Stream over Pub/Sub; Camunda (Zeebe) process orchestration; Google Cloud, Kubernetes and PostgreSQL.\n- Ran it on a delivery pipeline from the first week, three days after the repository opened.\n- Gave the platform its own API surface from the first commit — REST specified in OpenAPI and generated from the code, secured by OAuth 2.0 — which is the one LIKE MAGIC later published.\n- Built the integrations into Apaleo PMS and Salto KS smart-door access.\n- Presented the solution architecture at the winning pitch.\n- Won Best Use of Technology at the Serviced Apartment Awards 2021; was nominated for the Best Swiss Web Award 2021 (Innovation).\n- The platform became LIKE MAGIC, a spin-off from SV Group, and co-founding it was the reason for leaving 3AP.\n- As likeMagic, the platform won gold for Best Digital Transformation and silver for Customer Driven Business Change and Transformation at the European Customer Experience Awards 2022.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Article",
                  "https://www.hocoso.com/asset-management/its-not-imagination-its-likemagic/"
                ],
                [
                  "Award announcement",
                  "https://servicedapartmentnews.com/news/industry/the-industry-gathers-once-again-at-the-2021-serviced-apartment-awards/"
                ],
                [
                  "Award shortlist",
                  "https://www.netzwoche.ch/best-of-swiss-web-2021-shortlist"
                ],
                [
                  "Case study",
                  "https://apaleo.com/customer-stories/serviced-apartments/staykooook-apaleo"
                ],
                [
                  "Technology partner page",
                  "https://saltosystems.com/en-us/technology-partners/magic/"
                ],
                [
                  "Trade article on the award",
                  "https://www.htr.ch/story/hotellerie/award-fuer-digitale-gaesteplattform-von-stay-kooook-32273"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Article",
                "https://www.hocoso.com/asset-management/its-not-imagination-its-likemagic/"
              ],
              [
                "Award announcement",
                "https://servicedapartmentnews.com/news/industry/the-industry-gathers-once-again-at-the-2021-serviced-apartment-awards/"
              ],
              [
                "Award shortlist",
                "https://www.netzwoche.ch/best-of-swiss-web-2021-shortlist"
              ],
              [
                "Case study",
                "https://apaleo.com/customer-stories/serviced-apartments/staykooook-apaleo"
              ],
              [
                "Technology partner page",
                "https://saltosystems.com/en-us/technology-partners/magic/"
              ],
              [
                "Trade article on the award",
                "https://www.htr.ch/story/hotellerie/award-fuer-digitale-gaesteplattform-von-stay-kooook-32273"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2020-stay-koook.md",
      "stamp": {
        "kind": "Project",
        "start": "2020-03",
        "end": "2022-03"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "type": "experience",
      "name": "Ursina",
      "tagline": "3AP · Architect — the runtime, the path into a broadband operator's network and the authentication boundary of a tool that turns network faults into a labeled training set.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2020-04",
        "end": "2020-07",
        "organization": "3AP AG",
        "skills": [
          "Solution architecture",
          "Cloud architecture",
          "Integration architecture",
          "Container orchestration (Kubernetes)",
          "CI/CD",
          "Identity and access management",
          "Java"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- A tool for a cable-broadband operator that turns network faults into a training set: an operator assigns a cause to a device over a time window, a scheduled job proposes assignments from event mappings and every assignment carries a verification status, so what reaches the training database has been accepted by a person rather than inferred.\n- Designed the path from a public cloud application to the operator's own data platform — device telemetry read from an HBase cluster on their network and the labeled set held in their PostgreSQL — over tunnels that kept both databases unexposed.\n- Built the runtime on Google Kubernetes Engine as a script that creates it: the cluster, the managed PostgreSQL, certificate issuance and renewal, an nginx ingress on a fixed address, the tunnels and the routing, in nine steps run in order. What a console can build, only the person who clicked it can rebuild.\n- Wrote the API gateway in Java and Spring Cloud Gateway, with Keycloak as the identity provider and OAuth2 in front of every route.\n- Implemented the gateway's token relay as a filter of its own, because the framework's relay handed on an access token without refreshing it and a session outlived its token. It follows Spring's own authorized-client exchange filter and cites the upstream issue it stands in for, so it can be deleted when that closes.\n- Put the monorepo on a build pipeline that tested each package and pushed images to a registry before deploying, with static analysis reporting on every build.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2020-ursina-fault-labeling.md",
      "stamp": {
        "kind": "Project",
        "start": "2020-04",
        "end": "2020-07"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2021-post-process-monitoring-bpmn",
      "type": "experience",
      "name": "Process Monitoring with BPMN",
      "tagline": "3AP · Wrote the article and built the sample it runs on: finding a stalled guest journey by the message that never arrives.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2021-06-03",
        "end": "2021-06-03",
        "url": "https://engineering.3ap.ch/post/process-monitoring-with-bpmn/",
        "organization": "3AP AG",
        "skills": [
          "Business process modeling (BPMN, DMN)",
          "Process orchestration",
          "Observability",
          "Technical writing",
          "Java"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Published “Process Monitoring with BPMN” on 3AP's engineering blog on June 3, 2021, making the case that a process model is worth keeping at runtime and not only at design time.\n- Set out a way to watch a guest journey without touching the services that run it: every system already posts webhooks, so a monitor correlates those events against a model of the journey and knows where each booking has got to.\n- Turned each milestone into a receive task waiting for its message — booking confirmed, onboarding notification, online check-in, property access issued, check-out — with a boundary timer beside it, so the alert fires on the message that never came rather than on an error somebody has to notice.\n- Published a runnable sample alongside it, still public: a Spring Boot service taking the webhooks behind an OpenAPI description, a Zeebe engine and Camunda Operate in one Docker Compose file and the guest-journey model itself.\n- Put BPMN and Zeebe to work in the open a year before the CamundaCon talk and two before the published case study, while the platform they describe was still being built.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Sample repository",
                  "https://github.com/3AP-AG/process-monitoring-with-bpmn"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Sample repository",
                "https://github.com/3AP-AG/process-monitoring-with-bpmn"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2021-post-process-monitoring-bpmn.md",
      "stamp": {
        "kind": "Community",
        "start": "2021-06-03",
        "end": "2021-06-03"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2022-likemagic",
      "type": "experience",
      "name": "Co-Founder & Head of Technology",
      "tagline": "Built and ran the SaaS hospitality platform behind 90+ customers and 16,000+ units across DACH.",
      "fields": {
        "source": "Local",
        "kind": "Role",
        "start": "2022-04",
        "end": "2026-05",
        "organization": "LIKE MAGIC AG",
        "skills": [
          "Agentic AI development",
          "AI tool integration (MCP)",
          "Context engineering",
          "Conversational AI",
          "AI strategy",
          "AI governance",
          "API design",
          "Business architecture",
          "Domain-driven design",
          "Multi-tenant SaaS architecture",
          "Microservices architecture",
          "Cloud architecture",
          "Container orchestration (Kubernetes)",
          "Platform engineering",
          "Database design",
          "Integration architecture",
          "Event-driven architecture",
          "Identity and access management",
          "Information security management",
          "Data protection (GDPR)",
          "Infrastructure as code",
          "CI/CD",
          "DevOps",
          "Java",
          "Software engineering",
          "Software testing",
          "Process orchestration",
          "Business process modeling (BPMN, DMN)",
          "Engineering leadership",
          "IT strategy",
          "Product management",
          "Frontend development",
          "Event streaming",
          "Data engineering",
          "Knowledge management",
          "Technical writing",
          "Site reliability engineering",
          "Observability",
          "FinOps",
          "Vendor management",
          "Incident management",
          "Change management",
          "Mentoring and coaching",
          "Company vision and strategy",
          "Organization design"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Co-founder and Head of Technology of LIKE MAGIC AG.\n- Owned the technology direction and developed the technical leadership as the company grew from 5 to 25 people.\n- Built and scaled a multi-tenant hospitality SaaS platform serving 90+ customers, 430+ properties and 16,000+ units across the DACH region — processing 1.5M+ reservations, 8.1M+ guest communications and 89M+ platform events annually, integrating 3 PMS (Mews, Apaleo, Oracle OHIP) and 15+ smart-lock systems into a unified guest experience.\n- Developed and executed the company-wide AI strategy — governance under a Human Oversight principle, organizational knowledge management and the productive rollout of AI assistants across plan, change and run; data-privacy guardrails (no internal context used to train external LLMs), multi-provider tooling (Claude, Gemini, Copilot, n8n) and cost governance.\n- Defined and executed the product and platform strategy across 12 business domains (L0 concepts, L1 capabilities) — API-first, with a managed public API and event/data hub, evolving toward an MCP-server layer so AI agents consume the platform directly.\n- Cut the platform into services by business capability — booking, guest, profile, payment, door access, messaging, operation and analytics — each stateless, self-contained, horizontally scalable and contract-first, with every integrated vendor reached through its own connector carrying a fallback path behind the realtime one.\n- Drove process orchestration with Camunda for the end-to-end guest journey (Booking → Check-in → Stay → Check-out), carried over from Stay KooooK and run until 2023.\n- Led the reassessment when the Camunda contract came up for renewal: the platform used a fraction of what the engine offered, so the choice was to build on it properly or take it out. Recommended building on it; the decision went to removal, and the orchestration was replaced with the platform's own in April 2023.\n- Featured in a Camunda reference case citing a 95% self-check-in rate, 9.0/10 guest happiness and 7,000 process instances per month.\n- Owned the production cloud platform (site reliability engineering, incident management, performance), built as Infrastructure-as-Code on Google Cloud with DevOps and CI/CD standards, unit and integration tests running on every pipeline.\n- Instrumented it on Cloud Monitoring and Cloud Trace with alerting driven by defined SLOs, end-to-end traceability and continuous monitoring being architecture principles the services were built to rather than instrumentation added afterward.\n- Built the LIKE MAGIC Mental Model — a structured organizational knowledge base (roles, processes, features, strategies, architecture decisions) that serves as the shared context layer for AI-assisted operations.\n- Kept it in step with the systems it described through MCP rather than bespoke integrations — Atlassian, Google Drive and Slack servers wired into the agent that maintained it, reading and writing Confluence pages, Jira issues, Google Docs and Sheets, each command scoped to a named allowlist of the tools it was allowed to call.\n- Built an internal AI marketplace on Claude (Claude Cowork) — giving teams governed access to AI assistants and agents, grounded in the Mental Model.\n- Architected the integration of AI communication vendors (d3x, ailean and onsai) into the staff solution — unified multi-channel guest messaging with AI agents answering, guest insights and staff collaboration.\n- Budget holder for the cloud platform and AI tooling — forecast and governed spend across dev, test and production, with consumption KPIs defined in the Mental Model and weekly actuals generated automatically from the Google Cloud billing API, routed to owners by role when a threshold was breached.\n- Held platform cost flat as volume grew to 89M+ events annually, through continuous database and code optimization.\n- Built information-security management: ISO 27001 (in progress), GDPR compliance and zero-trust API boundaries.\n- Published and consumed the platform's events through Spring Cloud Stream over a Pub/Sub binder, so a service declared its bindings and the transport stayed swappable underneath them.\n- Built the event and data hub every service published its business events to — ingesting them into BigQuery for analytics, idempotent on the event id so a redelivery cannot double-count and serving them back as a queryable event log with webhook subscriptions for systems that needed them pushed.\n- Tech stack: Java, Spring Boot / WebFlux, Spring Cloud GCP, Spring Cloud Stream, PostgreSQL, R2DBC/jOOQ, Google Pub/Sub, BigQuery, GraphQL, React / TypeScript / MUI, Kubernetes (GKE), Camunda BPMN, GitHub Actions.",
          "tables": []
        },
        {
          "heading": "Ending",
          "text": "Left in May 2026 after four years, with the platform mature at 90+ customers and 16,000+ units,\nto focus on where my own work was heading: modeling and AI, built in the open.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "App store listing",
                  "https://store.apaleo.com/apps/likemagic"
                ],
                [
                  "Case study",
                  "https://camunda.com/case-studies/likemagic"
                ],
                [
                  "Commercial register entry",
                  "https://www.zefix.ch/en/search/entity/list/firm/1576900"
                ],
                [
                  "Customer story",
                  "https://apaleo.com/customer-stories/hotel-groups-chains/mcdreams-adopts-apaleo"
                ],
                [
                  "Developer documentation for the public API",
                  "https://api-docs.likemagic.tech/"
                ],
                [
                  "Marketplace listing",
                  "https://www.mews.com/en/products/marketplace/likemagic"
                ],
                [
                  "Partner page",
                  "https://www.ailean.io/ailean_for_hospitality"
                ],
                [
                  "Software integration page",
                  "https://www.masunt.com/en/software-integrations/like-magic/"
                ],
                [
                  "Technology partner page",
                  "https://saltosystems.com/en-us/technology-partners/magic/"
                ],
                [
                  "The company",
                  "https://likemagic.tech/"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "App store listing",
                "https://store.apaleo.com/apps/likemagic"
              ],
              [
                "Case study",
                "https://camunda.com/case-studies/likemagic"
              ],
              [
                "Commercial register entry",
                "https://www.zefix.ch/en/search/entity/list/firm/1576900"
              ],
              [
                "Customer story",
                "https://apaleo.com/customer-stories/hotel-groups-chains/mcdreams-adopts-apaleo"
              ],
              [
                "Developer documentation for the public API",
                "https://api-docs.likemagic.tech/"
              ],
              [
                "Marketplace listing",
                "https://www.mews.com/en/products/marketplace/likemagic"
              ],
              [
                "Partner page",
                "https://www.ailean.io/ailean_for_hospitality"
              ],
              [
                "Software integration page",
                "https://www.masunt.com/en/software-integrations/like-magic/"
              ],
              [
                "Technology partner page",
                "https://saltosystems.com/en-us/technology-partners/magic/"
              ],
              [
                "The company",
                "https://likemagic.tech/"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2022-likemagic.md",
      "stamp": {
        "kind": "Role",
        "start": "2022-04",
        "end": "2026-05"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2022-talk-camundacon",
      "type": "experience",
      "name": "CamundaCon 2022",
      "tagline": "Co-presented at CamundaCon 2022 in Berlin on how SV Group became a SaaS business in six months on Camunda.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2022-10-06",
        "end": "2022-10-06",
        "url": "https://page.camunda.com/camundacon-2022-on-demand",
        "organization": "Camunda",
        "skills": [
          "Process orchestration",
          "Public speaking"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Co-presented *“From 'Intrapreneurs' to 'Entrepreneurs' in 6 months with user-centric innovation – Powered by Camunda”* with Markus Feller at CamundaCon 2022 in Berlin on October 5–6, 2022: how SV Group launched a new hotel brand through the crisis and turned it into a white-label SaaS business, LIKE MAGIC, on Camunda Platform 8.\n- Featured in Camunda's video *“Talking Process Orchestration with likeMagic's Robert Blust”*.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Video",
                  "https://page.camunda.com/talking-process-orchestration-with-likemagics-robert-blust"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Video",
                "https://page.camunda.com/talking-process-orchestration-with-likemagics-robert-blust"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2022-talk-camundacon.md",
      "stamp": {
        "kind": "Community",
        "start": "2022-10-06",
        "end": "2022-10-06"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2023-camunda-case-study",
      "type": "experience",
      "name": "Camunda case study on LIKE MAGIC",
      "tagline": "Featured in Camunda's published case study on the SV Group hospitality platform behind Stay KooooK and LIKE MAGIC.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2023-04",
        "end": "2023-04",
        "url": "https://camunda.com/case-studies/likemagic",
        "organization": "Camunda",
        "skills": [
          "Process orchestration"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Featured in Camunda's published case study “How SV Group launched an industry-disrupting platform in 6 months with Camunda” on the SV Group hospitality platform, cited there as “CTO of likeMagic” — the case study's own wording for a role whose title was Head of Technology.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2023-camunda-case-study.md",
      "stamp": {
        "kind": "Community",
        "start": "2023-04",
        "end": "2023-04"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2026-application-tooling",
      "type": "experience",
      "name": "Application tooling",
      "tagline": "One CV in Markdown, every application an overlay on it, and the whole search tracked in git.",
      "fields": {
        "source": "Local",
        "kind": "Project",
        "start": "2026-06-09",
        "end": "2026-09-04",
        "skills": [
          "Agentic AI development",
          "Context engineering",
          "Technical writing"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Kept the CV as one source of truth in Markdown and YAML and made each application a small overlay that selects, reorders and overrides, never a copy — so a correction reached every dossier, and git recorded exactly what was sent where.\n- Rendered the web page and the PDF from the same HTML and one stylesheet, and generated the full dossier per application with one command: CV, cover letter, diplomas and references.\n- Prepared 28 tailored applications in German or English, one per posting, of which 25 were submitted, and kept every interview note, salary figure and reply beside the overlay that produced it.\n- Worked it with an AI coding agent under a written agent file: the honesty line it may not cross, the two trackers it must keep in step, and the traps in the template it must not fall into.\n- Held the same honesty line in every dossier: no certification claimed that was not held, no cloud named that had not been run, a gap stated rather than covered.\n- Became the seed of the model. The experience files, the skills and the references were written here first, then generalized into CompanyGraph and moved into the mental-model repository, which has mastered them since Sep 4, 2026.",
          "tables": []
        },
        {
          "heading": "Ending",
          "text": "Retired on Sep 4, 2026, when the mental-model repository became the master of every fact it held; the search it served ended the same week with an offer accepted.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2026-application-tooling.md",
      "stamp": {
        "kind": "Project",
        "start": "2026-06-09",
        "end": "2026-09-04"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2026-blust-ch",
      "type": "experience",
      "name": "blust.ch",
      "tagline": "Ongoing. A profile page built from the model, and two talks that say what the model is for.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2026-08",
        "url": "https://blust.ch",
        "skills": [
          "Public speaking",
          "Technical writing",
          "Frontend development",
          "CI/CD"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Published the profile page, a principles page, an ideas page and two narrated talks, The Mental Model and Essential Complexity — each bilingual, self-contained and presentable from a file with no server running.\n- Built the model and timeline pages from the mental-model repository at a pinned commit, so the page shows what the model says and a corrected fact is one commit in one place.\n- Held every page to a rendered check rather than a diff: browser assertions on every page, share cards compared against the pages they were rendered from, and a pin guard that fails the build when a dependency is behind its release.\n- Generated the narration from the speaker notes on a content hash, so editing one note regenerates one clip.\n- Shared its typography, chrome and page checks with guestgraph.io and companygraph.io through one design system, released over 50 times in its first week and taken by every site by pin.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2026-blust-ch.md",
      "stamp": {
        "kind": "Community",
        "start": "2026-08",
        "end": null
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2026-career-break",
      "type": "experience",
      "name": "Career break",
      "tagline": "Four months to find out what I want to do next — spent building two products in the open and applying for the roles that would test the answer.",
      "fields": {
        "source": "Local",
        "kind": "Independent",
        "start": "2026-06",
        "end": "2026-09",
        "skills": [
          "Agentic AI development",
          "Spec-driven development",
          "Technical writing"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Gave the break one question: what I like doing, rather than what I am used to being hired for. The answer came out as modeling, and AI used with responsibility inside a company rather than merely used; the role that fits it is an architect's.\n- Held the question open across two tracks at once, hands-on engineering and architecture, and let the market answer it: 25 applications between Jun 9 and Aug 20, 2026 — 16 for senior engineering roles, 5 for architect roles, 3 for leadership roles and 1 for a business engineer.\n- Reached an interview or an invitation to one in 12 of the 25, and an offer in one, accepted. Withdrew from 7 processes myself, each at an interview stage, one of them the week before a final round of five people. Was declined by 10 — 7 on the dossier alone, 3 after an interview, 2 of the 10 because the position was filled meanwhile. 6 never answered.\n- Read the outcome by track: all 3 leadership applications led to an interview, 7 of the 16 engineering ones did, 2 of the 5 architect ones did, and the offer taken was one of those two.\n- Learned what the declines and the rounds said. An employer reads a former CTO applying for an engineering role as a flight risk unless the stay is stated first — three employers in 27 years. The story of going back near the code has to be told as a choice and not as a step down. And an honest line on what I do not have, no TOGAF, no AWS, no Kotlin, costs fit on paper and buys credibility in the room.\n- Asked four former colleagues, one of them a former direct report, for written feedback on my strengths and the role they see me in, and wrote a self-assessment from the same material before deciding. All four named depth, knowledge sharing and caring about the people; two of them, independently, named the cost of caring too much as the thing to work on.\n- Decided on values over pay: an 80% architect role in a product company outside finance, chosen while three processes in finance were still open, with the fifth day kept for formal education in how AI is led and governed in an organization.\n- Built the products and the applications with AI coding agents as the primary tool, spec-driven — a reviewed specification before every plan and build — under written conventions vendored into eleven repositories and a design system shared by three sites, released and pinned like any other dependency.",
          "tables": []
        },
        {
          "heading": "Ending",
          "text": "Ended in September 2026 with a decision, not only an offer: an IT Architect role at 80% from October, in a company whose culture was the criterion. The two products stay published and keep their history, and the education starts in 2027.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2026-career-break.md",
      "stamp": {
        "kind": "Independent",
        "start": "2026-06",
        "end": "2026-09"
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2026-companygraph",
      "type": "experience",
      "name": "CompanyGraph",
      "tagline": "Ongoing. A meta-model for describing a company as a graph of Markdown files, so people and AI agents can both rely on it.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2026-08",
        "url": "https://companygraph.io",
        "skills": [
          "Agentic AI development",
          "Context engineering",
          "Knowledge management",
          "Model-driven engineering",
          "Data modeling",
          "Requirements engineering",
          "Spec-driven development",
          "Technical writing",
          "Open-source stewardship",
          "Product discovery",
          "Solution selling",
          "Company vision and strategy",
          "Public speaking"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Extracted the meta-model from two instances that never knew about each other, a company of 25 people and a company of one, which had arrived at the same shape: one Markdown file per entity, YAML frontmatter and a body, in a folder named for its type, with a folder of schemas beside it.\n- Published the core as one shipped unit — nine schemas and sixteen numbered conventions that make the graph checkable — with a worked example company and an instance parser, and released it 18 times to v0.14.0, a manifest per release.\n- Wrote the conventions for the agents that would work in an instance, encoding the failure modes seen before: an unresolvable reference is an error rather than a warning, and every validation pass names what it did not check.\n- Built the reference instance from it: this profile, 36 experiences, 70 skills on a four-level ladder and 5 values, every claim traced to an experience that shows it.\n- Came to it the second time. The Flatland CDO Server carried a model of a company from 2014, served over an API and true for as long as the server ran; this one is Markdown a person reads and edits, in a repository with a history, true for as long as the files exist.\n- Published it under Apache 2.0 as open core with a billing model and a narrated introduction talk in German and English, and put it in front of a professional network with a stated outcome each way.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Source repository",
                  "https://github.com/companygraph/meta-model"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Source repository",
                "https://github.com/companygraph/meta-model"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2026-companygraph.md",
      "stamp": {
        "kind": "Community",
        "start": "2026-08",
        "end": null
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2026-guestgraph",
      "type": "experience",
      "name": "GuestGraph",
      "tagline": "Ongoing. An open-source guest identity graph for hospitality: one guest out of every system's version of them, every merge explained and reversible.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2026-07",
        "url": "https://guestgraph.io",
        "skills": [
          "Agentic AI development",
          "Software architecture",
          "Requirements engineering",
          "Spec-driven development",
          "Data modeling",
          "Database design",
          "API design",
          "Cloud architecture",
          "Java",
          "Open-source stewardship",
          "Product discovery",
          "Solution selling",
          "Company vision and strategy",
          "Public speaking"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Designed the engine from three written specifications — core identity resolution, probabilistic matching and the guest timeline — each reviewed before its plan and its build, and built by an AI coding agent working to them under a written agent file.\n- Built it as a layered confidence model: strong identifiers merge deterministically with transitive closure, everything else is scored against a threshold the tenant chose, and what falls between goes to a human steward, whose split becomes a do-not-merge rule that new evidence cannot cross.\n- Split probabilistic matching into blocking and scoring, because a database index answers only equality: phonetic keys find candidates that share no identifier, then a weighted feature vector grades them, damped when few signals were observed and penalized when birthdates conflict.\n- Kept every source record immutable and every merge explainable, so a guest can be asked why two records are one person and the answer is the decision chain.\n- Shipped it as a Spring Boot service on PostgreSQL with Flyway migrations and a REST API, runnable from one compose file, designed for managed platform services and agnostic of which cloud runs them — so adopting it is not also adopting a provider.\n- Published it under Apache 2.0 as open core, with a billing model on one meter, arrivals, and a narrated introduction talk in German and English with a PDF in each.\n- Put it in front of a professional network with a stated outcome each way, a clean no included.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Source repository",
                  "https://github.com/guestgraph/engine"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Source repository",
                "https://github.com/guestgraph/engine"
              ]
            ]
          }
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2026-guestgraph.md",
      "stamp": {
        "kind": "Community",
        "start": "2026-07",
        "end": null
      }
    },
    {
      "id": "profiles/robert-blust/experiences/2026-podcast-turn-your-work-history-into-code",
      "type": "experience",
      "name": "Turn your work history into code",
      "tagline": "A five-minute podcast episode on the career break, generated from the model's own files under a written brief and held to its sources before it went out.",
      "fields": {
        "source": "Local",
        "kind": "Community",
        "start": "2026-09-06",
        "end": "2026-09-06",
        "url": "https://robertblust.substack.com/p/turn-your-work-history-into-code",
        "skills": [
          "Context engineering",
          "Storytelling"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "- Generated the episode with NotebookLM from the model's own files, chosen rather than dumped: the career-break and application-tooling entries in focus, and the earlier experiences, the skills and the values as the background of the career they describe — so the two hosts had a whole career to draw on.\n- Fixed in a written brief, before anything was generated, what the hosts may say: the story in outline, four threads to cover — how modeling my own career helped secure an 80% architect role, how spec-driven development and AI agents streamline an application process, company graphs to align human and agent collaboration, and how agentic workflows change an architect's daily life, told as my experience and not as a survey — an ending on an invitation in my words, and the constraints: a figure comes from a source or not at all, no employer, colleague or school is named, no salary figure is.\n- Published it on Sep 6, 2026 as a five-minute episode with two hosts that tells the break as the sources tell it: one CV kept as a single source of truth in Markdown and YAML and tracked in git, 28 tailored applications generated and 25 submitted under the honesty line, an 80% IT architect role accepted with culture chosen over higher pay in finance, the model of one career as the seed of CompanyGraph, and the line “Building fast is solved. Deciding well is not.”\n- Read the transcript against the sources before publishing and found one place where the episode strays: the hosts say “any gaps in employment had to be explicitly stated” where the application-tooling entry says a gap stated rather than covered, and means a gap in skills, not in employment. Recorded it as the known deviation, to be named before anyone else names it, beside the line for anyone who asks whether the hosts are real: generated from the model's own sources, reviewed by me.",
          "tables": []
        }
      ],
      "owner": "profiles/robert-blust",
      "path": "model/profiles/robert-blust/experiences/2026-podcast-turn-your-work-history-into-code.md",
      "stamp": {
        "kind": "Community",
        "start": "2026-09-06",
        "end": "2026-09-06"
      }
    },
    {
      "id": "skills/agentic-ai-development",
      "type": "skill",
      "name": "Agentic AI development",
      "tagline": "Building software systems in which an AI model plans and takes multi-step actions toward a goal, often using tools, with limited step-by-step human direction.",
      "fields": {
        "source": "Local",
        "group": "AI"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Design the goals, tools and guardrails an AI agent can use to complete a task autonomously.\nBuild the loop that lets the agent plan, act, observe results and adjust its next action. Test\nfor failure modes specific to autonomous behavior, such as getting stuck in loops or taking\nunintended actions, and add safeguards to contain them.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/agentic-ai-development.md"
    },
    {
      "id": "skills/agile-delivery",
      "type": "skill",
      "name": "Agile delivery",
      "tagline": "Running iterative, incremental delivery using frameworks such as Scrum, Kanban or SAFe to organize team work.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Facilitate the planning, review and retrospective events that structure iterative delivery.\nManage a backlog, track flow or velocity and remove impediments that block the team. Adapt the\nchosen framework's ceremonies and artifacts to fit the team and the scale of the work. Typical\ntools: Jira, Azure DevOps, Trello.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/agile-delivery.md"
    },
    {
      "id": "skills/ai-governance",
      "type": "skill",
      "name": "AI governance",
      "tagline": "The decision rights, policies and oversight under which a company uses AI.",
      "fields": {
        "source": "Local",
        "group": "Strategy"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Define who may deploy which kind of AI system for which purpose, and under what human\noversight. Set the guardrails for data use, model providers and cost, and the review that\nchecks they hold. Keep the record regulators and customers will ask for, and adjust the rules\nwhen the law or the technology changes.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/ai-governance.md"
    },
    {
      "id": "skills/ai-strategy",
      "type": "skill",
      "name": "AI strategy",
      "tagline": "Deciding where and how a company adopts AI, and the sequence, investment and capabilities that get it there.",
      "fields": {
        "source": "Local",
        "group": "Strategy"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Assess which business activities AI can change materially and which it cannot yet. Set the\ndirection for adoption across plan, change and run, with the platforms, data and skills it\nrequires. Choose between building, buying and partnering per use case, and revisit the choices\nas the models and the market move.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/ai-strategy.md"
    },
    {
      "id": "skills/ai-tool-integration-mcp",
      "type": "skill",
      "name": "AI tool integration (MCP)",
      "tagline": "Connecting AI models and agents to external tools, data sources and systems through a standardized protocol so the AI can take real actions.",
      "fields": {
        "source": "Local",
        "group": "AI"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Build or configure servers that expose a system's capabilities as tools an AI agent can call.\nDefine the interface, permissions and error handling for each exposed tool so the agent can use\nit safely. Test how the agent selects and sequences tool calls and adjust the tool definitions\nto make behavior more predictable. Typical tools: Model Context Protocol (MCP).",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/ai-tool-integration-mcp.md"
    },
    {
      "id": "skills/api-design",
      "type": "skill",
      "name": "API design",
      "tagline": "Designing the interfaces that let software systems and services exchange data and functionality.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Define the resources, operations and data contracts an interface exposes and document them so\nconsumers can integrate against them. Make decisions about versioning, error handling and\nconsistency that keep the interface usable as it evolves. Review real usage patterns and\nfeedback from consumers to refine the design over time. Typical tools: REST, GraphQL, OpenAPI.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/api-design.md"
    },
    {
      "id": "skills/business-architecture",
      "type": "skill",
      "name": "Business architecture",
      "tagline": "Modeling an organization's capabilities, value streams and operating structures independent of the technology that supports them.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Identify and map the capabilities, value streams and organizational structures a business\nrelies on. Use those models to assess where capabilities are duplicated, missing or misaligned\nwith strategy. Connect the business view to technology and process decisions so investment\ntargets the right capabilities.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/business-architecture.md"
    },
    {
      "id": "skills/business-process-modeling-bpmn-dmn",
      "type": "skill",
      "name": "Business process modeling (BPMN, DMN)",
      "tagline": "Diagramming business processes and decision logic using standardized notations so they can be analyzed, communicated and automated.",
      "fields": {
        "source": "Local",
        "group": "Modeling and process"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Map process flows and decision rules using notations such as BPMN for process steps and DMN for\ndecision logic. Work with process owners to validate that the model reflects how work actually\nhappens rather than how it is assumed to happen. Use the resulting models to identify\ninefficiencies or to hand off to process automation tooling. Typical tools: BPMN, DMN, Camunda.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/business-process-modeling-bpmn-dmn.md"
    },
    {
      "id": "skills/change-management",
      "type": "skill",
      "name": "Change management",
      "tagline": "Planning and guiding an organization through the human side of a transition so new ways of working actually take hold.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Assess the impact of a change on affected groups and build a plan to communicate, train and\nsupport them through it. Identify sources of resistance and work with sponsors and managers to\naddress them. Track adoption after go-live and reinforce the change until it becomes the new\nnormal.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/change-management.md"
    },
    {
      "id": "skills/ci-cd",
      "type": "skill",
      "name": "CI/CD",
      "tagline": "Automating the build, test and release steps that take a code change from commit to running in an environment.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Configure pipelines that build and test code automatically on every change and gate progression\non those results. Automate packaging and deployment so releases happen consistently and can be\nrepeated or rolled back reliably. Monitor pipeline health and adjust stages as the codebase,\ntests or release process change. Typical tools: Jenkins, GitHub Actions, GitLab CI.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/ci-cd.md"
    },
    {
      "id": "skills/cloud-architecture",
      "type": "skill",
      "name": "Cloud architecture",
      "tagline": "Designing systems that run on cloud infrastructure, using its services and elasticity rather than fixed, self-managed hardware.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Select cloud services and design patterns that meet a system's scalability, resilience and cost\nrequirements. Design for elasticity, fault tolerance across availability zones or regions and\nsecure use of managed services. Review cost and usage patterns to right-size the architecture\nas workloads change. Typical tools: AWS, Azure, Google Cloud Platform.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/cloud-architecture.md"
    },
    {
      "id": "skills/community-building",
      "type": "skill",
      "name": "Community building",
      "tagline": "Making a place where practitioners teach each other, and keeping it alive after the founding energy is gone.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Start with a recurring occasion — a meetup, a working group, a community of practice — and a\nreason to come that is not you. Hand roles to members early so the group survives your\nabsence. Connect the community outward, to the projects, vendors and standards bodies it\ndepends on, and measure it by what members do for each other.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/community-building.md"
    },
    {
      "id": "skills/company-vision-and-strategy",
      "type": "skill",
      "name": "Company vision and strategy",
      "tagline": "Where a company is going and why, and the few bets that get it there.",
      "fields": {
        "source": "Local",
        "group": "Strategy"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Say what the company is for in a sentence people repeat without you. Choose the markets,\nproducts and capabilities it will commit to, and name the ones it will not. Turn the choice\ninto a plan with owners, money and dates, and read the market back into it every quarter.\nCarry the vision into hiring, funding and partnership conversations until it is the company's,\nnot the founders'.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/company-vision-and-strategy.md"
    },
    {
      "id": "skills/consulting",
      "type": "skill",
      "name": "Consulting",
      "tagline": "Advising clients or internal stakeholders on how to address a problem, drawing on structured analysis and outside perspective.",
      "fields": {
        "source": "Local",
        "group": "Advisory"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Diagnose a client's problem through structured analysis, interviews and data review. Develop\nand present recommendations, weighing options against the client's constraints and priorities.\nSupport the client through implementation or handoff, adjusting recommendations as new\ninformation emerges.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/consulting.md"
    },
    {
      "id": "skills/container-orchestration-kubernetes",
      "type": "skill",
      "name": "Container orchestration (Kubernetes)",
      "tagline": "Managing the deployment, scaling and healing of containerized applications across a cluster of machines.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Define how containerized workloads are packaged, scheduled and scaled across a cluster.\nConfigure networking, storage and access controls that let services run reliably alongside each\nother. Monitor cluster health and respond to failures so workloads recover automatically rather\nthan needing manual intervention. Typical tools: Kubernetes, Helm, Docker.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/container-orchestration-kubernetes.md"
    },
    {
      "id": "skills/context-engineering",
      "type": "skill",
      "name": "Context engineering",
      "tagline": "Structuring what an AI model or agent is given to work with — the documents, definitions and rules in its context — so its output is grounded in how the organization actually works.",
      "fields": {
        "source": "Local",
        "group": "AI"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Decide what an agent needs to know for a task and shape it into something a model can load:\ncurated documents rather than raw dumps, explicit definitions rather than implied ones, rules\nwritten where the work happens. Keep the context where the people who own the facts can edit\nit, so it stays true without becoming a maintenance project of its own. Package and distribute\nit so every assistant works from the same version instead of a private copy. Test what the\nmodel does when context is missing or stale, and constrain it so a gap surfaces as a failure\nrather than as an invention.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/context-engineering.md"
    },
    {
      "id": "skills/conversational-ai",
      "type": "skill",
      "name": "Conversational AI",
      "tagline": "Systems that hold a dialogue with customers or staff across several channels, increasingly with an AI agent answering rather than a person.",
      "fields": {
        "source": "Local",
        "group": "AI"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Decide whether to build the conversational layer or integrate a specialist vendor, and design\nthe boundary either way: which channels are unified, what the AI may answer on its own, and\nwhen a person takes over. Feed it the messaging history, identity and operational data it needs\nto answer specifically rather than generically. Keep the handover visible in one inbox so no\nconversation is dropped between the agent and the staff member. Watch what it does at the edge\nof what it knows, and make it escalate rather than guess.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/conversational-ai.md"
    },
    {
      "id": "skills/data-engineering",
      "type": "skill",
      "name": "Data engineering",
      "tagline": "Building the pipelines and infrastructure that move and transform data so it is reliably available for analysis or downstream systems.",
      "fields": {
        "source": "Local",
        "group": "Data"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Design and build pipelines that extract, transform and load data from source systems into\nstorage or analytics platforms. Handle data quality, schema changes and failure recovery so\ndownstream consumers can trust the data they receive. Optimize pipelines for throughput, cost\nand freshness as data volumes and requirements grow. Typical tools: Apache Spark, Airflow, dbt.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/data-engineering.md"
    },
    {
      "id": "skills/data-governance",
      "type": "skill",
      "name": "Data governance",
      "tagline": "Defining ownership, quality standards and policies for data so it stays trustworthy and consistent across an organization.",
      "fields": {
        "source": "Local",
        "group": "Data"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Define who owns and is accountable for different data domains and set standards for quality,\ndefinitions and lifecycle. Establish policies for access, retention and use of data, including\nmaster or reference data that many systems share. Run processes that monitor data quality and\nresolve inconsistencies across systems.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/data-governance.md"
    },
    {
      "id": "skills/data-modeling",
      "type": "skill",
      "name": "Data modeling",
      "tagline": "Representing the structure and meaning of an organization's data through conceptual, logical or physical models.",
      "fields": {
        "source": "Local",
        "group": "Data"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Define the entities, attributes and relationships that describe the data an organization holds.\nBuild models at different levels of abstraction, from conceptual business terms to physical\nschema, and keep them consistent with each other. Review and update models as the\norganization's data and understanding of it evolve.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/data-modeling.md"
    },
    {
      "id": "skills/data-protection-gdpr",
      "type": "skill",
      "name": "Data protection (GDPR)",
      "tagline": "Ensuring an organization's handling of personal data complies with data protection law and respects individuals' privacy rights.",
      "fields": {
        "source": "Local",
        "group": "Security and compliance"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Assess how personal data is collected, used and stored and identify where processing needs a\nlegal basis or additional safeguards. Run or support data protection impact assessments and\nmaintain records of processing activities. Handle data subject requests and breach\nnotifications and advise other parts of the organization on compliant data handling.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/data-protection-gdpr.md"
    },
    {
      "id": "skills/database-design",
      "type": "skill",
      "name": "Database design",
      "tagline": "Structuring how data is organized, related and constrained within a database so it supports an application's needs efficiently and correctly.",
      "fields": {
        "source": "Local",
        "group": "Data"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Model entities, relationships and constraints and turn them into a schema that supports the\napplication's queries. Make trade-offs between normalization, performance and flexibility based\non how the data will be read and written. Review and adjust the schema as usage patterns or\nrequirements change.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/database-design.md"
    },
    {
      "id": "skills/devops",
      "type": "skill",
      "name": "DevOps",
      "tagline": "Bringing development and operations work together so software is built, tested, released and run as one continuous flow.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Build and maintain the automation, tooling and shared practices that let development and\noperations teams collaborate on the same pipeline. Work to shorten the cycle between writing\ncode and running it reliably in production, often owning both the build process and aspects of\nlive operation. Use feedback from production, such as incidents or performance data, to improve\nthe development process itself. Typical tools: Docker, Kubernetes, GitHub Actions.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/devops.md"
    },
    {
      "id": "skills/domain-driven-design",
      "type": "skill",
      "name": "Domain-driven design",
      "tagline": "Structuring software around the business domain's own concepts and language rather than around technical layers.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Work with domain experts to build a shared vocabulary and model of the business domain.\nIdentify bounded contexts and use them to draw system and team boundaries that mirror the\ndomain's natural divisions. Keep the code's structure and terminology aligned with that domain\nmodel as understanding deepens.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/domain-driven-design.md"
    },
    {
      "id": "skills/domain-specific-language-design",
      "type": "skill",
      "name": "Domain-specific language design",
      "tagline": "A language built for one domain — its metamodel, syntax and semantics — so that experts can state their intent directly and tools can act on it.",
      "fields": {
        "source": "Local",
        "group": "Modeling and process"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Identify the concepts a domain's experts actually reason in and fix them as a metamodel. Give\nthe language a concrete syntax, textual or graphical, with the constraints that make an invalid\nmodel unwritable. Build the editor, validation and generators around it, and evolve the\nlanguage with the domain without breaking existing models. Typical tools: EMF, Ecore, Xtext,\nSirius, MPS.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/domain-specific-language-design.md"
    },
    {
      "id": "skills/engineering-leadership",
      "type": "skill",
      "name": "Engineering leadership",
      "tagline": "Leading and growing software engineering organizations, balancing technical direction with people and delivery outcomes.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Set technical direction and standards across one or more engineering teams and grow the\norganization's structure to match. Hire, coach and develop engineers and managers, and build\nthe processes that let teams deliver reliably at scale. Balance long-term technical investment\nagainst short-term delivery pressure and represent engineering priorities to the rest of the\norganization.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/engineering-leadership.md"
    },
    {
      "id": "skills/enterprise-architecture",
      "type": "skill",
      "name": "Enterprise architecture",
      "tagline": "Designing the structure of an organization's business capabilities, information and technology so they work together as one coherent system.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Map current business capabilities, data and technology landscapes and define target-state\narchitectures that close identified gaps. Set architecture principles and standards that guide\nindividual projects and technology choices. Review proposed initiatives for alignment with the\ntarget architecture and adjust it as strategy or constraints change.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/enterprise-architecture.md"
    },
    {
      "id": "skills/event-driven-architecture",
      "type": "skill",
      "name": "Event-driven architecture",
      "tagline": "Designing systems where components communicate by producing and reacting to events rather than through direct calls.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Identify the events that matter to a system and design the producers, consumers and channels\nthat carry events between them. Make decisions about ordering, delivery guarantees and how\ncomponents stay decoupled while still working together. Design for failure modes specific to\nasynchronous systems, such as duplicate or out-of-order events. Typical tools: Kafka, RabbitMQ,\nAWS EventBridge.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/event-driven-architecture.md"
    },
    {
      "id": "skills/event-streaming",
      "type": "skill",
      "name": "Event streaming",
      "tagline": "Building systems that publish, transport and consume continuous streams of events in near real time.",
      "fields": {
        "source": "Local",
        "group": "Data"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Design topics or streams, partitioning and retention policies that fit how data will be\nproduced and consumed. Build producers and consumers that handle ordering, delivery guarantees\nand backpressure correctly. Monitor stream throughput and lag to catch consumers falling behind\nbefore it affects downstream systems. Typical tools: Kafka, Kinesis, Pulsar.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/event-streaming.md"
    },
    {
      "id": "skills/finops",
      "type": "skill",
      "name": "FinOps",
      "tagline": "Managing cloud and technology spend so cost stays visible, accountable and aligned with the value delivered.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Track cloud and technology spend against budgets and attribute it to the teams or products\nresponsible. Identify opportunities to reduce waste, such as underused resources or inefficient\npricing commitments, and work with engineering teams to act on them. Build reporting and\nforecasts that let the organization make informed trade-offs between cost and performance.\nTypical tools: AWS Cost Explorer, CloudHealth, Kubecost.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/finops.md"
    },
    {
      "id": "skills/frontend-development",
      "type": "skill",
      "name": "Frontend development",
      "tagline": "Building user-facing web applications out of components, in whatever the browser platform has settled on at the time.",
      "fields": {
        "source": "Local",
        "group": "Software development"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Build user interface components and manage application state so the interface reflects\nunderlying data correctly. Choose a framework for the work in front of you and follow it where\nit goes, including into a version or a language that a later one replaces, and structure code\nso components remain reusable and testable. Reach for static typing where it catches errors\nbefore runtime. Optimize rendering performance and handle browser compatibility and\naccessibility concerns as the application grows. Typical tools: React, Angular, AngularJS,\nTypeScript, Ionic, Redux.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/frontend-development.md"
    },
    {
      "id": "skills/identity-and-access-management",
      "type": "skill",
      "name": "Identity and access management",
      "tagline": "Controlling who can authenticate to systems and what they are authorized to do once inside.",
      "fields": {
        "source": "Local",
        "group": "Security and compliance"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Design and configure authentication and authorization mechanisms, including protocols such as\nOAuth or OIDC, that verify identity and grant access. Define roles, permissions and access\npolicies and review them to keep access aligned with actual need. Investigate access-related\nincidents and remove or adjust access as roles change. Typical tools: OAuth, OIDC, Okta.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/identity-and-access-management.md"
    },
    {
      "id": "skills/incident-management",
      "type": "skill",
      "name": "Incident management",
      "tagline": "Detecting, responding to and resolving disruptions to a service so normal operation is restored as quickly as possible.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Triage incoming alerts to assess severity and impact and coordinate the people needed to\ninvestigate and restore service. Communicate status to affected stakeholders throughout the\nincident and decide when it can be declared resolved. Run or contribute to a post-incident\nreview that captures root cause and follow-up actions.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/incident-management.md"
    },
    {
      "id": "skills/information-security-management",
      "type": "skill",
      "name": "Information security management",
      "tagline": "Establishing and operating a management system that identifies, treats and monitors information security risk across an organization.",
      "fields": {
        "source": "Local",
        "group": "Security and compliance"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Identify information assets and assess the risks they face, then define policies and controls\nto treat those risks. Run an ongoing management system, such as one aligned to ISO 27001, that\nincludes audits, incident handling and continuous improvement. Report security posture and\nresidual risk to leadership and adjust controls as threats or the organization change.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/information-security-management.md"
    },
    {
      "id": "skills/infrastructure-as-code",
      "type": "skill",
      "name": "Infrastructure as code",
      "tagline": "Defining and provisioning infrastructure through versioned, executable configuration rather than manual setup.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Write declarative or scripted definitions of infrastructure and apply them through an automated\npipeline. Version those definitions alongside application code and review changes before they\nreach live environments. Use the same definitions to reproduce environments consistently and to\nroll back when a change causes problems. Typical tools: Terraform, CloudFormation, Pulumi.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/infrastructure-as-code.md"
    },
    {
      "id": "skills/integration-architecture",
      "type": "skill",
      "name": "Integration architecture",
      "tagline": "Designing how disparate systems and applications connect and exchange data across an organization.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Map the systems that need to exchange data and design the integration patterns, message formats\nand middleware that connect them. Decide between approaches such as point-to-point connections,\nan enterprise service bus or event-based integration based on the scale and coupling required.\nDesign for failure handling, data consistency and monitoring across integration points.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/integration-architecture.md"
    },
    {
      "id": "skills/iot-architecture",
      "type": "skill",
      "name": "IoT architecture",
      "tagline": "Designing the path from a physical device to a business system: sensing, connectivity, ingestion, use.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Choose the sensing and the radio for the device's power, range and cost, not for the\ndemo. Design the ingestion so that unreliable, bursty telemetry becomes a clean stream the\nbusiness systems can consume. Prototype with real devices in the real environment before\ncommitting to a platform. Typical tools: LoRaWAN, RFID, MQTT.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/iot-architecture.md"
    },
    {
      "id": "skills/it-governance",
      "type": "skill",
      "name": "IT governance",
      "tagline": "Establishing decision rights, policies and oversight structures that keep IT activity accountable and aligned with organizational objectives.",
      "fields": {
        "source": "Local",
        "group": "Strategy"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Define who can make which technology decisions and set the policies, standards and controls\nthose decisions must follow. Run governance forums that review risk, compliance and investment\nchoices, and track adherence to agreed frameworks. Adjust the governance structure as the\norganization and its regulatory context evolve.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/it-governance.md"
    },
    {
      "id": "skills/it-strategy",
      "type": "skill",
      "name": "IT strategy",
      "tagline": "Setting a multi-year direction for IT investment and architecture that aligns with business goals.",
      "fields": {
        "source": "Local",
        "group": "Strategy"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Assess market and technology trends, current capability gaps and business priorities to set a\nforward-looking direction for technology investment. Translate that direction into principles,\nroadmaps and target architectures that guide subsequent decisions. Engage executive\nstakeholders to secure buy-in and funding, and revisit the strategy as conditions change.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/it-strategy.md"
    },
    {
      "id": "skills/java",
      "type": "skill",
      "name": "Java",
      "tagline": "Building software using the Java programming language and its surrounding ecosystem of libraries and runtime.",
      "fields": {
        "source": "Local",
        "group": "Software development"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Write and maintain Java code, applying its object-oriented features and concurrency model to\nsolve application problems. Use the surrounding ecosystem, such as build tools, frameworks and\nlibraries, to structure and package applications. Tune and debug applications running on the\nJava virtual machine, including memory and performance issues specific to that runtime. Typical\ntools: Spring, Maven, JUnit.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/java.md"
    },
    {
      "id": "skills/knowledge-management",
      "type": "skill",
      "name": "Knowledge management",
      "tagline": "Capturing, organizing and sharing an organization's knowledge so it remains accessible and useful beyond the individuals who created it.",
      "fields": {
        "source": "Local",
        "group": "Advisory"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Capture knowledge from people and projects and organize it so others can find and reuse it.\nDesign processes and tools that make contributing and searching knowledge easy enough that\npeople actually do it. Review content over time for accuracy and relevance and retire or update\nmaterial that has gone stale.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/knowledge-management.md"
    },
    {
      "id": "skills/legacy-modernization",
      "type": "skill",
      "name": "Legacy modernization",
      "tagline": "Bringing a system built for another era forward without stopping the business that runs on it.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Wrap the legacy system in a stable interface before touching its inside. Generate rather\nthan hand-write the bridging code where the interfaces are numerous and regular. Replace one\nlayer at a time, keeping the old path alive until the new one has carried production load.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/legacy-modernization.md"
    },
    {
      "id": "skills/machine-learning",
      "type": "skill",
      "name": "Machine learning",
      "tagline": "Building models that learn patterns from data and use them to make predictions or decisions on new data.",
      "fields": {
        "source": "Local",
        "group": "AI"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Prepare and explore data, select and train models and evaluate them against relevant\nperformance metrics. Tune model architecture and hyperparameters and validate results against\nheld-out data to avoid overfitting. Monitor deployed models for drift or degraded performance\nand retrain as needed.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/machine-learning.md"
    },
    {
      "id": "skills/mentoring-and-coaching",
      "type": "skill",
      "name": "Mentoring and coaching",
      "tagline": "Growing other people's judgment and skill on purpose, one conversation and one review at a time.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Give people problems slightly beyond them and stay close enough that failing is safe. Ask before\ntelling, and tell when asking would waste their week. Review work for the thinking behind it,\nnot only the result, and say what was good as precisely as what was not. Build the places —\ncommunities of practice, pairing, retrospectives — where people teach each other without you.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/mentoring-and-coaching.md"
    },
    {
      "id": "skills/microservices-architecture",
      "type": "skill",
      "name": "Microservices architecture",
      "tagline": "Designing a system as a set of independently deployable services organized around business capabilities.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Decompose a system into services with clear boundaries and define how those services\ncommunicate and share data. Design for independent deployment, resilience to partial failure\nand observability across service boundaries. Weigh the added operational complexity against the\nflexibility gained from decoupling services. Typical tools: Kubernetes, Docker, Istio.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/microservices-architecture.md"
    },
    {
      "id": "skills/mlops",
      "type": "skill",
      "name": "MLOps",
      "tagline": "Operating the pipelines and infrastructure that take machine learning models from training into reliable production use.",
      "fields": {
        "source": "Local",
        "group": "AI"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Build pipelines that automate data preparation, training, validation and deployment of models.\nVersion models, data and experiments so results are reproducible, and monitor deployed models\nfor performance and drift. Coordinate rollbacks and retraining when a model's behavior degrades\nin production. Typical tools: MLflow, Kubeflow, SageMaker.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/mlops.md"
    },
    {
      "id": "skills/model-driven-engineering",
      "type": "skill",
      "name": "Model-driven engineering",
      "tagline": "Using formal models as the primary artifact of software development, generating code or other artifacts from them rather than writing them by hand.",
      "fields": {
        "source": "Local",
        "group": "Modeling and process"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Define metamodels or domain-specific languages that capture a problem in a structured, formal\nway. Build or configure generators that transform those models into code, configuration or\ndocumentation. Keep the models as the source of truth, regenerating downstream artifacts as the\nmodels change rather than editing generated output directly.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/model-driven-engineering.md"
    },
    {
      "id": "skills/multi-tenant-saas-architecture",
      "type": "skill",
      "name": "Multi-tenant SaaS architecture",
      "tagline": "Designing a software system so a single deployment serves many customers securely and efficiently while keeping their data and usage isolated.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Decide how tenants share or are isolated from underlying compute, storage and configuration.\nDesign for per-tenant data isolation, customization and scaling so one tenant's usage cannot\naffect another's experience. Plan onboarding, billing and upgrade paths that work across the\nwhole tenant base rather than one customer at a time.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/multi-tenant-saas-architecture.md"
    },
    {
      "id": "skills/observability",
      "type": "skill",
      "name": "Observability",
      "tagline": "Instrumenting systems so their internal state can be understood from the data they produce, and using that data to detect and diagnose issues.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Instrument applications and infrastructure to emit logs, metrics and traces that reveal what is\nhappening inside a system. Build dashboards and alerts that surface meaningful signals and\nreduce noise from irrelevant ones. Use that telemetry to diagnose the root cause of incidents\nand to spot degradation before it becomes an outage. Typical tools: Prometheus, Grafana,\nDatadog.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/observability.md"
    },
    {
      "id": "skills/open-source-stewardship",
      "type": "skill",
      "name": "Open-source stewardship",
      "tagline": "Running a public project so that strangers can adopt it, contribute to it and trust it to stay.",
      "fields": {
        "source": "Local",
        "group": "Software development"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Choose the license for the outcome you want and say what is open and what could ever be\npaid for. Write the README for the adopter, the conventions for the contributor and the\nspec for the person who will disagree with you later. Release on a contract — versions,\ntags, a manifest — so that nobody depends on a moving target. Keep the decisions and the\nrejected alternatives in the repository, where the next maintainer can find them.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/open-source-stewardship.md"
    },
    {
      "id": "skills/organization-design",
      "type": "skill",
      "name": "Organization design",
      "tagline": "Deciding how a growing company divides its work, its decisions and its people.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Draw the teams around the products or domains they own, not around the technologies they\nuse. Decide what a team may decide alone and what needs the room. Design for the next size,\nnot the current one — including where a distributed or near-shore team fits — and recruit\nand develop the leaders each new shape requires.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/organization-design.md"
    },
    {
      "id": "skills/platform-engineering",
      "type": "skill",
      "name": "Platform engineering",
      "tagline": "Building internal platforms and tooling that let product teams self-service infrastructure and common capabilities without depending on a central operations team.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Design and build the golden paths, templates and self-service tools that other engineering\nteams use to provision infrastructure and deploy applications. Gather requirements from those\ninternal teams and treat the platform itself as a product with its own roadmap. Balance\nstandardization, which reduces support burden, against flexibility for teams with unusual\nneeds.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/platform-engineering.md"
    },
    {
      "id": "skills/process-orchestration",
      "type": "skill",
      "name": "Process orchestration",
      "tagline": "Coordinating the execution of multi-step business processes across systems and services using a dedicated orchestration engine.",
      "fields": {
        "source": "Local",
        "group": "Modeling and process"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Model processes as executable workflows and configure an engine to run, track and recover them\nacross their lifecycle. Integrate process steps with the underlying systems and services that\nperform the actual work. Monitor running process instances and handle failures or exceptions so\nprocesses complete correctly. Typical tools: Camunda, Zeebe, AWS Step Functions.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/process-orchestration.md"
    },
    {
      "id": "skills/product-discovery",
      "type": "skill",
      "name": "Product discovery",
      "tagline": "Finding out whether a product should exist before building it — the problem, the buyer, the price, the no.",
      "fields": {
        "source": "Local",
        "group": "Strategy"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Write the idea down as a claim that can be wrong: who has the problem, what they pay for\ntoday, what would make them switch. Put the smallest real thing in front of them — a talk, a\nmodel, a worked example — and collect the objections rather than the compliments. Set the\noutcome you will accept before you start, including a clean no, and publish what you\nlearned either way.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/product-discovery.md"
    },
    {
      "id": "skills/product-management",
      "type": "skill",
      "name": "Product management",
      "tagline": "Defining what a product should do and why, and steering its development to deliver value to users and the business.",
      "fields": {
        "source": "Local",
        "group": "Strategy"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Gather user and market insight to define product vision, priorities and roadmap. Translate that\nvision into requirements and backlog items, working closely with design and engineering to ship\nincrements. Track outcomes after release and adjust priorities based on what is learned.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/product-management.md"
    },
    {
      "id": "skills/public-speaking",
      "type": "skill",
      "name": "Public speaking",
      "tagline": "Explaining technical work to a room so that people leave able to act on it.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Pick the one idea the audience should take home and build the talk backward from it. Show\nthe real system, the real numbers and the real mistake, not the slide version. Rehearse until\nthe timing is yours, then leave room for the questions that tell you what landed.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/public-speaking.md"
    },
    {
      "id": "skills/requirements-engineering",
      "type": "skill",
      "name": "Requirements engineering",
      "tagline": "Eliciting, documenting and managing what a system or change needs to do so that stakeholders and delivery teams share the same understanding.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Elicit needs from stakeholders through interviews, workshops or observation and turn them into\nclear, testable requirements. Organize and prioritize those requirements, trace them through\ndesign and delivery and manage changes as understanding evolves. Validate delivered\nfunctionality against the original requirements to confirm the need was actually met.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/requirements-engineering.md"
    },
    {
      "id": "skills/site-reliability-engineering",
      "type": "skill",
      "name": "Site reliability engineering",
      "tagline": "Applying engineering methods to operations so that systems meet defined reliability targets at scale.",
      "fields": {
        "source": "Local",
        "group": "Cloud and platform"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Define service level objectives and error budgets and use them to decide when to prioritize\nreliability work over new features. Automate operational tasks that would otherwise require\nrepetitive manual effort and build tooling that makes systems easier to diagnose and recover.\nLead or contribute to incident response and follow up with changes that reduce the chance of\nrecurrence.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/site-reliability-engineering.md"
    },
    {
      "id": "skills/software-architecture",
      "type": "skill",
      "name": "Software architecture",
      "tagline": "Defining the high-level structure of a software system, including its components, their responsibilities and how they interact.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Decompose a system into components and define the interfaces and interactions between them.\nMake and document decisions about structure, technology choices and trade-offs such as\nperformance, maintainability and scalability. Review implementation to confirm it stays\nconsistent with the intended structure as the system evolves.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/software-architecture.md"
    },
    {
      "id": "skills/software-engineering",
      "type": "skill",
      "name": "Software engineering",
      "tagline": "Designing, writing, testing and maintaining software that meets defined requirements and can be operated reliably over time.",
      "fields": {
        "source": "Local",
        "group": "Software development"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Translate requirements into working code, choosing algorithms, data structures and patterns\nthat fit the problem. Write automated tests, review code with peers and refactor to keep the\ncodebase maintainable as it grows. Debug and fix defects across the lifecycle, from initial\ndevelopment through production support.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/software-engineering.md"
    },
    {
      "id": "skills/software-modeling-uml-sysml-c4",
      "type": "skill",
      "name": "Software modeling (UML, SysML, C4)",
      "tagline": "Using standardized diagram notations to represent a system's structure and behavior so it can be communicated and reasoned about before or alongside implementation.",
      "fields": {
        "source": "Local",
        "group": "Modeling and process"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Choose a notation appropriate to the audience and purpose, such as UML for software structure,\nSysML for systems engineering or C4 for architecture at different zoom levels. Produce diagrams\nthat capture components, interactions or processes and keep them consistent with the system as\nit evolves. Use the models to communicate design intent to other engineers or stakeholders and\nto reason about a design before it is built.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/software-modeling-uml-sysml-c4.md"
    },
    {
      "id": "skills/software-process-engineering",
      "type": "skill",
      "name": "Software process engineering",
      "tagline": "Designing how an organization builds software — the method, the disciplines, the toolchain — and getting it adopted.",
      "fields": {
        "source": "Local",
        "group": "Modeling and process"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Define the disciplines, artifacts and roles a delivery process needs, and write them down\nwhere teams will find them. Replace a home-grown method with a standard one where a standard\nexists. Build the toolchain that makes the process the easy path, and coach teams until it is\nhow they work rather than what they were told. Typical tools: Rational Method Composer, Jira,\nConfluence, Jenkins, SonarQube.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/software-process-engineering.md"
    },
    {
      "id": "skills/software-testing",
      "type": "skill",
      "name": "Software testing",
      "tagline": "Verifying that software behaves as intended and catching defects before they reach production.",
      "fields": {
        "source": "Local",
        "group": "Software development"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Design test cases that cover expected behavior, edge cases and failure conditions at unit,\nintegration or end-to-end levels. Execute those tests manually or through automation and\ninvestigate failures to distinguish real defects from flaky tests. Track coverage and defect\ntrends to focus testing effort where risk is highest. Typical tools: JUnit, Selenium, Cypress.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/software-testing.md"
    },
    {
      "id": "skills/solution-architecture",
      "type": "skill",
      "name": "Solution architecture",
      "tagline": "Designing the technical solution for a specific initiative so it meets functional and non-functional requirements within the wider technology landscape.",
      "fields": {
        "source": "Local",
        "group": "Architecture"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Translate business and functional requirements into a technical design spanning applications,\nintegrations and infrastructure. Evaluate design options against constraints such as\nperformance, security and cost, and choose an approach that fits the surrounding architecture.\nGuide implementation teams through the design and adjust it as issues surface during build.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/solution-architecture.md"
    },
    {
      "id": "skills/solution-selling",
      "type": "skill",
      "name": "Solution selling",
      "tagline": "Winning work by showing a client the solution to their problem before they have paid for it.",
      "fields": {
        "source": "Local",
        "group": "Strategy"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Read the tender or the brief for the problem behind the requirements. Shape a solution\narchitecture that answers it, price it honestly and present it as the people who will build\nit. Lead the bid across proposal, pitch and negotiation, and walk away from work that cannot\nbe delivered as promised.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/solution-selling.md"
    },
    {
      "id": "skills/spec-driven-development",
      "type": "skill",
      "name": "Spec-driven development",
      "tagline": "Writing down what a system must do, and why, before any of it is built — and building only against that text.",
      "fields": {
        "source": "Local",
        "group": "Modeling and process"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Write the specification first: purpose, decisions, the alternatives rejected and why, what is\nout of scope. Get it reviewed by the people who will disagree later, then derive the plan and\nthe tests from it rather than from the code. Keep the spec in the repository beside the code\nit governs and change it before changing the behavior. Let agents and people build from the\nsame text. Typical tools: spec-kit.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/spec-driven-development.md"
    },
    {
      "id": "skills/stakeholder-management",
      "type": "skill",
      "name": "Stakeholder management",
      "tagline": "Identifying, engaging and maintaining productive working relationships with the people who have an interest in or influence over an initiative.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Identify stakeholders and understand their interests, concerns and level of influence.\nCommunicate progress, negotiate expectations and resolve conflicting priorities across those\ngroups. Keep relationships productive over time so decisions get the input and support they\nneed.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/stakeholder-management.md"
    },
    {
      "id": "skills/storytelling",
      "type": "skill",
      "name": "Storytelling",
      "tagline": "Ordering facts into a story an audience will follow, and holding it together across every piece that tells it.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Decide the one claim the whole story has to land, and cut what does not carry it. Order the\npieces so each stands alone and still carries the through-line — the first earns attention,\nthe last asks for something. Fix what may be said before drafting starts, so the shape\nsurvives a co-author or a generating tool. Keep the claim checkable, because an audience\nthat can verify one thing will grant the rest.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/storytelling.md"
    },
    {
      "id": "skills/technical-writing",
      "type": "skill",
      "name": "Technical writing",
      "tagline": "Writing that lets a reader understand and act on a technical thing without asking the author.",
      "fields": {
        "source": "Local",
        "group": "Advisory"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Decide what the reader needs to do after reading, and cut everything that does not serve\nit. State decisions, the alternatives that lost and the reasons, so the text survives its\nauthor. Keep one term per concept and the same term throughout. Show the real example\nrather than the generic one, and read the text back as the person who was not in the\nroom.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/technical-writing.md"
    },
    {
      "id": "skills/vendor-management",
      "type": "skill",
      "name": "Vendor management",
      "tagline": "Selecting, contracting and overseeing external suppliers so their delivery meets agreed commitments.",
      "fields": {
        "source": "Local",
        "group": "Leadership"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Evaluate and select suppliers, negotiate contracts and service levels and monitor ongoing\nperformance against them. Manage the relationship day to day, resolving issues and\nrenegotiating terms as needs change. Balance cost, quality and risk across the supplier base.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/skills/vendor-management.md"
    },
    {
      "id": "sources/local",
      "type": "source",
      "name": "Local",
      "tagline": "Written and kept in this repository, which masters every page in the model. Nothing syncs it, and it issues no identifiers, so no page carries a `source-id`.",
      "fields": {
        "url": "https://github.com/robertblust/mental-model"
      },
      "sections": [],
      "owner": null,
      "path": "model/sources/local.md"
    },
    {
      "id": "values/build-the-alternative-before-making-the-point",
      "type": "value",
      "name": "Build the alternative before making the point",
      "tagline": "Naming what is broken is free, so it is not a position until something works differently.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "I do not publish a criticism until I have built the thing that answers it, and then the working\nalternative is what I lead with — the argument comes second and can be lost without the point\ncollapsing. Where I cannot build it, I say the problem is real and leave the criticism unmade.\n\nI never let a complaint stand as a position.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/values/build-the-alternative-before-making-the-point.md"
    },
    {
      "id": "values/decide-well-over-build-fast",
      "type": "value",
      "name": "Decide well over build fast",
      "tagline": "AI moved the constraint from building quickly to deciding correctly; the decision is the work.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "I write the decision down before the code — with the alternatives that lost and why — so the\nnext person can disagree with a reason rather than a rewrite. I spend the time that fast\nbuilding saves on choosing well, because the constraint moved there.\n\nI never ship a feature in a day and argue about it for a quarter because nobody can say what\nit was for.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/values/decide-well-over-build-fast.md"
    },
    {
      "id": "values/grow-the-people-with-the-platform",
      "type": "value",
      "name": "Grow the people with the platform",
      "tagline": "A platform that outgrows the team that runs it is a liability with good uptime.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "I grow the organization as deliberately as the platform — hiring, practices, ownership — so\nthat every part of the system has someone who could be woken up for it and would know what\nto do. I judge a platform by the team that can run it without me.\n\nI never let five people know everything while twenty wait for them.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/values/grow-the-people-with-the-platform.md"
    },
    {
      "id": "values/model-it-before-you-build-it",
      "type": "value",
      "name": "Model it before you build it",
      "tagline": "A business described as concepts and capabilities is one that people and AI can both act inside of.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "I keep a written model — domains, capabilities, processes, rules — that the code, the org\nchart and the agents all refer back to, and I keep it where the people who own the facts can\nedit it. I build from the model, not beside it.\n\nI never let the model live in three heads and a slide deck, with every system encoding a\nslightly different version of it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/values/model-it-before-you-build-it.md"
    },
    {
      "id": "values/production-is-the-finish-line",
      "type": "value",
      "name": "Production is the finish line",
      "tagline": "A platform counts when it runs for customers under real security and compliance obligations, not when the demo works.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "I own reliability, incident management and the audit trail as part of building the thing. I\ntreat ISO 27001 and GDPR as design inputs, not a form to fill in after. I call it done when it\nruns for customers under real obligations, not when the demo works.\n\nI never meet a launch date with a system nobody is on call for.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/values/production-is-the-finish-line.md"
    },
    {
      "id": "vision",
      "type": "vision",
      "name": "One model, true everywhere",
      "tagline": "Whoever asks about my work — a person, a search engine, an agent — reaches the same answer, because every surface they can reach derives from one model I keep, and no claim in it stands without its evidence.",
      "fields": {
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Everything public about my work is derived rather than maintained. One model holds the facts:\nwhat I have built, the capabilities I claim with their evidence and what I hold to. The CV\nand its per-application dossiers, the website and its talks, the LinkedIn profile and the\nloadable skill bundle are outputs of it. When two of them disagree the model is what gets\ncorrected and the surfaces are rebuilt; none of them is edited on its own.\n\nThe claim is not that any single surface is good. It is that they agree — because someone\nasking about me increasingly asks a machine, and a machine assembling an answer from\ncontradictory sources produces either mush or a confident error. I would know this holds when\nthe same question put to a person, to a search engine and to an agent comes back the same.\n\nThe scope is the work. Private life is out of scope by design rather than by omission: the\nschemas have nowhere to put it, which is a stronger guarantee than a promise.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "model/vision.md"
    }
  ],
  "edges": [
    {
      "from": "experience-kinds/community",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "experience-kinds/education",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "experience-kinds/independent",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "experience-kinds/project",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "experience-kinds/role",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "identity",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "proficiency-levels/competent",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "proficiency-levels/expert",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "proficiency-levels/familiar",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "proficiency-levels/proficient",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/1999-ubs-trainee",
      "to": "experience-kinds/role",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/1999-ubs-trainee",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2001-ubs-engineer",
      "to": "experience-kinds/role",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2001-ubs-engineer",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2001-ubs-engineer",
      "to": "skills/mentoring-and-coaching",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2001-ubs-engineer",
      "to": "skills/software-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2001-ubs-engineer",
      "to": "skills/software-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2001-ubs-engineer",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2002-wirtschaftsinformatik-fh",
      "to": "experience-kinds/education",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2002-wirtschaftsinformatik-fh",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2002-wirtschaftsinformatik-fh",
      "to": "skills/software-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2002-wirtschaftsinformatik-fh",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "experience-kinds/role",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/change-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/community-building",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/domain-specific-language-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/engineering-leadership",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/knowledge-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/legacy-modernization",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/mentoring-and-coaching",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/organization-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/requirements-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/software-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/software-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/software-modeling-uml-sysml-c4",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/software-process-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "skills/technical-writing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2004-ubs-solution-manager",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "experience-kinds/role",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/agile-delivery",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/business-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/community-building",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/data-modeling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/domain-driven-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/domain-specific-language-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/engineering-leadership",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/enterprise-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/it-governance",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/platform-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/public-speaking",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "skills/software-process-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2009-ubs-architect",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2010-eclipse-mdd-day",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2010-eclipse-mdd-day",
      "to": "skills/community-building",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2010-eclipse-mdd-day",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2010-eclipse-mdd-day",
      "to": "skills/public-speaking",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2010-eclipse-mdd-day",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2010-eclipse-modeling-platform",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2010-eclipse-modeling-platform",
      "to": "skills/community-building",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2010-eclipse-modeling-platform",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2010-eclipse-modeling-platform",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2011-jugs-board",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2011-jugs-board",
      "to": "skills/community-building",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2011-jugs-board",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-day-florence",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-day-florence",
      "to": "skills/data-modeling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-day-florence",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-day-florence",
      "to": "skills/public-speaking",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-day-florence",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-finance-day",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-finance-day",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-finance-day",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-finance-day",
      "to": "skills/public-speaking",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-finance-day",
      "to": "skills/software-modeling-uml-sysml-c4",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2012-talk-eclipse-finance-day",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2013-talk-eclipse-finance-day",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2013-talk-eclipse-finance-day",
      "to": "skills/enterprise-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2013-talk-eclipse-finance-day",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2013-talk-eclipse-finance-day",
      "to": "skills/public-speaking",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2013-talk-eclipse-finance-day",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-eclipse-finance-day-organizer",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-eclipse-finance-day-organizer",
      "to": "skills/community-building",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-eclipse-finance-day-organizer",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "skills/data-modeling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "skills/domain-specific-language-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "skills/frontend-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "skills/identity-and-access-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "skills/open-source-stewardship",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "skills/organization-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2014-flatland-cdo-server",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "experience-kinds/role",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/cloud-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/company-vision-and-strategy",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/consulting",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/container-orchestration-kubernetes",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/devops",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/engineering-leadership",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/event-driven-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/it-governance",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/it-strategy",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/mentoring-and-coaching",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/microservices-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/organization-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/software-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/software-testing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/solution-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/solution-selling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "skills/stakeholder-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-3ap",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscard-data-integration",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscard-data-integration",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscard-data-integration",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscard-data-integration",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscard-data-integration",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscard-data-integration",
      "to": "skills/legacy-modernization",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscard-data-integration",
      "to": "skills/software-testing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscard-data-integration",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscom-agile-cockpit",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscom-agile-cockpit",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscom-agile-cockpit",
      "to": "skills/frontend-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscom-agile-cockpit",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscom-agile-cockpit",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscom-agile-cockpit",
      "to": "skills/software-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2015-swisscom-agile-cockpit",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "to": "skills/data-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "to": "skills/data-governance",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "to": "skills/frontend-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "to": "skills/software-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "to": "skills/solution-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "to": "skills/solution-selling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-credit-suisse-mdr",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "skills/frontend-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "skills/microservices-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "skills/requirements-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "skills/software-modeling-uml-sysml-c4",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "skills/solution-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-lost-tag-digibonum",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-safe-practitioner",
      "to": "experience-kinds/education",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-safe-practitioner",
      "to": "skills/agile-delivery",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2016-safe-practitioner",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/frontend-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/microservices-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/software-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/solution-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "skills/solution-selling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2017-axa-health-platform",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/cloud-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/container-orchestration-kubernetes",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/event-driven-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/event-streaming",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/machine-learning",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/microservices-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/mlops",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/platform-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "skills/solution-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-conperi-automated-claims",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/cloud-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/data-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/event-driven-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/frontend-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/iot-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/microservices-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/solution-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "skills/solution-selling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2018-flawa-iq",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/cloud-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/container-orchestration-kubernetes",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/data-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/event-driven-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/identity-and-access-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/microservices-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/observability",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/platform-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "skills/software-modeling-uml-sysml-c4",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-3ap-platform",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "via": "organization",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/cloud-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/container-orchestration-kubernetes",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/event-driven-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/microservices-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/solution-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/solution-selling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "skills/stakeholder-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2019-aroov-realestate",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/business-process-modeling-bpmn-dmn",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/cloud-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/container-orchestration-kubernetes",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/event-driven-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/event-streaming",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/frontend-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/microservices-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/process-orchestration",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/software-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/solution-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/solution-selling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "skills/stakeholder-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-stay-koook",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "to": "skills/cloud-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "to": "skills/container-orchestration-kubernetes",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "to": "skills/identity-and-access-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "to": "skills/solution-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2020-ursina-fault-labeling",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2021-post-process-monitoring-bpmn",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2021-post-process-monitoring-bpmn",
      "to": "skills/business-process-modeling-bpmn-dmn",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2021-post-process-monitoring-bpmn",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2021-post-process-monitoring-bpmn",
      "to": "skills/observability",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2021-post-process-monitoring-bpmn",
      "to": "skills/process-orchestration",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2021-post-process-monitoring-bpmn",
      "to": "skills/technical-writing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2021-post-process-monitoring-bpmn",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "experience-kinds/role",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/agentic-ai-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/ai-governance",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/ai-strategy",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/ai-tool-integration-mcp",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/business-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/business-process-modeling-bpmn-dmn",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/change-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/cloud-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/company-vision-and-strategy",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/container-orchestration-kubernetes",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/context-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/conversational-ai",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/data-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/data-protection-gdpr",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/devops",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/domain-driven-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/engineering-leadership",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/event-driven-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/event-streaming",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/finops",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/frontend-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/identity-and-access-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/incident-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/information-security-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/infrastructure-as-code",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/integration-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/it-strategy",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/knowledge-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/mentoring-and-coaching",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/microservices-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/multi-tenant-saas-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/observability",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/organization-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/platform-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/process-orchestration",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/product-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/site-reliability-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/software-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/software-testing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/technical-writing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "skills/vendor-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-likemagic",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-talk-camundacon",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-talk-camundacon",
      "to": "skills/process-orchestration",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-talk-camundacon",
      "to": "skills/public-speaking",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2022-talk-camundacon",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2023-camunda-case-study",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2023-camunda-case-study",
      "to": "skills/process-orchestration",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2023-camunda-case-study",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-application-tooling",
      "to": "experience-kinds/project",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-application-tooling",
      "to": "skills/agentic-ai-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-application-tooling",
      "to": "skills/context-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-application-tooling",
      "to": "skills/technical-writing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-application-tooling",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-blust-ch",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-blust-ch",
      "to": "skills/ci-cd",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-blust-ch",
      "to": "skills/frontend-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-blust-ch",
      "to": "skills/public-speaking",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-blust-ch",
      "to": "skills/technical-writing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-blust-ch",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-career-break",
      "to": "experience-kinds/independent",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-career-break",
      "to": "skills/agentic-ai-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-career-break",
      "to": "skills/spec-driven-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-career-break",
      "to": "skills/technical-writing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-career-break",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/agentic-ai-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/company-vision-and-strategy",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/context-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/data-modeling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/knowledge-management",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/model-driven-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/open-source-stewardship",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/product-discovery",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/public-speaking",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/requirements-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/solution-selling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/spec-driven-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "skills/technical-writing",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-companygraph",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/agentic-ai-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/api-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/cloud-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/company-vision-and-strategy",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/data-modeling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/database-design",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/java",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/open-source-stewardship",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/product-discovery",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/public-speaking",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/requirements-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/software-architecture",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/solution-selling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "skills/spec-driven-development",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-guestgraph",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-podcast-turn-your-work-history-into-code",
      "to": "experience-kinds/community",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-podcast-turn-your-work-history-into-code",
      "to": "skills/context-engineering",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-podcast-turn-your-work-history-into-code",
      "to": "skills/storytelling",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust/experiences/2026-podcast-turn-your-work-history-into-code",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/agentic-ai-development",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Built LIKE MAGIC's internal AI marketplace on Claude, giving teams governed access to assistants and agents grounded in the Mental Model (2022–2026). Built CompanyGraph and GuestGraph agent-first under written conventions that encode the failure modes: an unresolvable reference is an error rather than a warning, and every validation pass names what it did not check (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/agile-delivery",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/competent",
        "Evidence": "Served as Scrum Master and technical lead on central UBS Wealth Management & Swiss Bank initiatives (2009–2015). Certified SAFe 4 Practitioner (2016)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/ai-governance",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Defined LIKE MAGIC's AI governance and held the company to it: a Human Oversight principle, guardrails against training external LLMs on internal context, multi-provider tooling and cost governance (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/ai-strategy",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Authored and executed LIKE MAGIC's company-wide AI strategy, from the internal rollout of assistants across planning, delivery and operations to shipped customer-facing AI, with d3x, ailean and onsai integrated into the staff solution (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/ai-tool-integration-mcp",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/competent",
        "Evidence": "Wired Atlassian, Google Drive and Slack MCP servers into the agent that maintained the LIKE MAGIC Mental Model, each command scoped to a named allowlist of tools, so the knowledge base stayed in step with the systems it described (2022–2026). No server authored: the platform's own MCP layer was still roadmap at exit, as CompanyGraph's is now"
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/api-design",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Established API and data management for UBS Wealth Management & Swiss Bank with generated XML-Schema and WSDL service contracts (2009–2015). Set 3AP's reference architecture so the service cut decided what each service exposed (2015–2022). Gave Stay KooooK its API surface from the first commit, REST specified in OpenAPI, generated from the code and secured by OAuth 2.0 (2020–2022). Led LIKE MAGIC's API-first strategy to a partner API documented in the open, REST on OpenAPI 3.1 with webhook subscriptions and OAuth 2.0 scopes over property, reservation, guest, messaging, door access and task resources (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/business-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Drove business architecture and capability modeling on EMF/Ecore at UBS Wealth Management & Swiss Bank (2009–2015). Mapped LIKE MAGIC's 12 business domains as concepts with the capabilities under each, and cut the platform, the teams and the product strategy along that map (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/business-process-modeling-bpmn-dmn",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Modeled the guest journey from booking to check-out in Camunda BPMN for Stay KooooK (2020–2022). Published the model as the subject of an article on monitoring a process by the message it is still waiting for (2021). Carried the model into LIKE MAGIC, where it ran the journey until the orchestration was replaced (2022–2023)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/change-management",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Replaced UBS Wealth Management & Business Banking's proprietary engineering process with a market-standard one as owner of its Analysis & Design discipline, coaching project teams into it (2004–2009). Drove LIKE MAGIC's productive rollout of AI assistants across planning, delivery and operations (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/ci-cd",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Put Jenkins and Sonar in the SDLC toolchain UBS Wealth Management & Swiss Bank released inside (2009–2015). Wrote the delivery pipeline into 3AP's reference architecture so a project inherited it rather than arranging its own, Jenkins at Swisscard, Flawa iQ and Lost-Tag, CircleCI at Conperi and Ursina (2015–2022). Released Lost-Tag's iOS app to the App Store from a scripted pipeline (2016–2021). Made the build the gate on 3AP's platform, every branch analyzed on SonarCloud with coverage attached and a green mainline deploying itself to the cluster (2019–2021). Set LIKE MAGIC's standards on GitHub Actions, with unit and integration tests on every run (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/cloud-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Targeted 3AP's reference architecture at Kubernetes and no cloud in particular, so a client's platform was a deployment decision, Google Cloud at Aroov and Stay KooooK and AXA's own on-premise OpenShift (2015–2022). Ran 3AP's notification services on Swisscom's Cloud Foundry and Google Kubernetes Engine at the same time, one binding a broker as a managed service and the other running it as a container (2019). Owned LIKE MAGIC's production platform on Google Cloud (2022–2026). Designed GuestGraph for managed platform services without binding it to a provider (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/community-building",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Built internal communities of practice at UBS and led the division's Java Chief Developer committee for two years (2004–2009). Co-led that committee for a further five years (2009–2015). Represented UBS in the Eclipse Modeling Platform Working Group (2010–2011). Co-organized the three Eclipse events UBS hosted in Zürich, MDD Day 2010 and Finance Day 2012 and 2014 (2010–2014). Served on the board of the Swiss Eclipse User Group within JUG Switzerland (2011–2014)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/company-vision-and-strategy",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Co-founded 3AP and sat on the management team that took it from 5 to about 70 people (2015–2022). Co-founded LIKE MAGIC and set its product, platform and AI strategy (2022–2026). Put two open-core products up for scrutiny with a billing model and a stated outcome each, a clean no included (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/consulting",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Created the technical concepts, proposals and pitches for 3AP's client work as CTO and advised Credit Suisse, Swisscard, AXA and Mobiliar on the architecture behind theirs (2015–2022)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/container-orchestration-kubernetes",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Built Conperi's platform on Google Kubernetes Engine from cluster creation up, GPU nodes included (2018–2020). Ran the Aroov and Stay KooooK backends on Google Kubernetes Engine (2019–2022). Stood up Ursina's whole environment, cluster, managed database, certificates, ingress and tunnels, from a script rather than a console (2020). Ran the LIKE MAGIC platform on Google Kubernetes Engine (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/context-engineering",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Built the LIKE MAGIC Mental Model as the organization's shared context layer and shipped it as a skill into the company's Claude environment (2022–2026). Generalized the approach into CompanyGraph, a published meta-model for describing a company as a graph both people and agents can read (2026). Briefed a podcast episode on the career break from the model's own files and read the generated result against its sources before publishing it (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/conversational-ai",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Architected the integration of d3x, ailean and onsai into LIKE MAGIC's staff solution, unified multi-channel guest messaging with AI agents answering, guest insights and staff handover (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/data-engineering",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Fed Credit Suisse's Master Data Repository from static source-code analysis and several source systems (2016). Fed Flawa iQ's LoRaWAN telemetry into the ERP (2018–2019). Pulled 3AP's own staff directory and time records onto its platform, kept current by a scheduler rather than by anyone remembering (2019–2021). Built LIKE MAGIC's event and data hub, the sink for every business event its services published, ingested into BigQuery, idempotent on the event id so a redelivery cannot double-count and served back as a queryable event log (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/data-governance",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/competent",
        "Evidence": "Built Credit Suisse's Master Data Repository so data stewards could be assigned and the golden-source distribution across the core systems mapped (2016)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/data-modeling",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Built the canonical data model for UBS Wealth Management & Swiss Bank's enterprise data management (2009–2015). Presented Eclipse data modeling at enterprise scale at Eclipse Day Florence, co-presented with the CDO project lead (2012). Designed the organization model behind the Flatland CDO Server bitemporally, what was in force on a date and what the repository said on a date kept as separate questions (2014–2022)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/data-protection-gdpr",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/competent",
        "Evidence": "Ran LIKE MAGIC's GDPR compliance, including the guardrail that no internal context trained external LLMs (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/database-design",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Designed DynaRep's repository on Oracle (2004–2009). Built the Swisscard rewrite on MSSQL (2015–2016). Set 3AP's reference architecture on MongoDB for AXA Health, Flawa iQ and Conperi, then moved it to PostgreSQL from Aroov onward once those platforms showed their data was read and written relationally (2015–2022). Ran LIKE MAGIC on PostgreSQL with R2DBC and jOOQ (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/devops",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Wrote the delivery pipeline into 3AP's reference architecture so a project inherited it rather than arranging its own, and established the company's delivery process and stack approvals (2015–2022). Built and ran LIKE MAGIC's production platform on Google Cloud as infrastructure as code, GitHub Actions running unit and integration tests on every change and the same team building and operating it (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/domain-driven-design",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Drove UBS Wealth Management & Swiss Bank's business architecture and capability modeling on EMF/Ecore, where a canonical data model was what every interface contract in the division was defined against (2009–2015). Cut LIKE MAGIC's platform along its 12 business domains and the capabilities under each, so service and team boundaries followed the domain rather than the technical layering (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/domain-specific-language-design",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Built DynaRep's repository-based modeling tool and its code generators for UBS mainframe service interfaces (2004–2009). Defined data types, interfaces and service contracts platform-independently on EMF and Xtext for UBS Wealth Management & Swiss Bank (2009–2015). Designed a reusable base vocabulary in Xcore for the Flatland CDO Server and an organization metamodel on top of it, where a derived feature is part of the language rather than code beside it (2014–2022)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/engineering-leadership",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Owned the Analysis & Design discipline in UBS Wealth Management & Business Banking and led the DynaRep project team of ten (2004–2009). Led the team that built UBS Wealth Management & Swiss Bank's Eclipse-based tooling platform and architected the SDLC toolchain several hundred engineers released inside (2009–2015). Owned the frame 3AP's engineering happened in as CTO, the organization and its roles, the reference architecture and stack and the approvals every engagement passed, through its scale to about 70 people in two countries (2015–2022). Set LIKE MAGIC's technology direction and developed its technical leadership from a founding team to 25, holding the platform and AI budget (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/enterprise-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Architected the Integration Architecture Tool Chain for UBS Wealth Management & Swiss Bank around a canonical data model, with a central API and interface-portfolio repository and a role-based review every team's interfaces passed (2009–2015). Presented its design to the Swiss financial-services community at Eclipse Finance Day (2013)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/event-driven-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Wrote event-driven communication into 3AP's reference architecture, so the platforms built to it carried their work as events (2015–2022). Built Flawa iQ to consume LoRaWAN device uplinks over AMQP (2018–2019). Ran Conperi's pipeline over a Kafka backbone (2018–2020). Separated accepting a message from delivering one on 3AP's platform, a queue per channel, so a slow vendor delays delivery instead of failing the caller (2019–2021). Built Aroov's backend on Google Cloud Pub/Sub as its event hub (2019–2020). Published and consumed every LIKE MAGIC business event through Pub/Sub (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/event-streaming",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Ran Kafka as the streaming backbone of Conperi's processing pipeline (2018–2020). Built Stay KooooK's services as producers and consumers on Spring Cloud Stream over a Google Cloud Pub/Sub binder, bindings declared per service and the transport swappable underneath (2020–2022). Carried that into LIKE MAGIC at 89M+ platform events a year (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/finops",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Held LIKE MAGIC's cloud and AI budget, governing spend across dev, test and production with consumption KPIs in the Mental Model and weekly actuals from the Google Cloud billing API routed to owners by role (2022–2026). Held platform cost flat as volume grew to 89M+ events a year, through database and code optimization rather than added capacity (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/frontend-development",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Built the model browser published with the Flatland CDO Server in AngularJS (2014–2022). Built the Swisscom delivery cockpit's React front end (2015). Built the Angular front end over Credit Suisse's Master Data Repository (2016). Carried Lost-Tag into a browser, a hybrid mobile application and a native iOS app in AngularJS (2016–2021). Built AXA Health's React and Next.js frontend (2017–2019). Built a React front end for Flawa iQ's sensor MVP (2018–2019). Owned Stay KooooK's React and TypeScript frontend (2020–2022). Set LIKE MAGIC's frontend on React, TypeScript and MUI (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/identity-and-access-management",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Wrote a plugin authenticating the Flatland CDO Server against LDAP, later taking bearer tokens at the REST boundary (2014–2022). Made identity 3AP's platform concern rather than each service's, Keycloak issuing tokens, social sign-in trusted into it and the gateway verifying before routing (2019–2021). Put Keycloak and OAuth2 in front of every route of the Ursina gateway, with a token relay written as a filter of its own because the framework's never refreshed the token (2020). Built zero-trust API boundaries into the LIKE MAGIC platform (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/incident-management",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Owned incident response for LIKE MAGIC's production platform, from the alert an SLO breach raised to the fix, on a multi-tenant SaaS where one incident reaches every tenant at once (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/information-security-management",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/competent",
        "Evidence": "Built LIKE MAGIC's information-security management toward ISO 27001, in progress at exit, with GDPR compliance and zero-trust API boundaries (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/infrastructure-as-code",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/competent",
        "Evidence": "Built LIKE MAGIC's production platform as infrastructure as code on Google Cloud (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/integration-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Architected UBS Wealth Management & Swiss Bank's Integration Architecture Tool Chain, built to reduce point-to-point connections to an integration bus over defined concepts and open interface standards (2009–2015). Owned AXA Health's complete integration architecture into Adcubum Syrius (2017–2019). Reached from a cloud application into a broadband operator's own HBase and PostgreSQL for Ursina, over tunnels that left neither exposed (2020). Integrated 3 PMS, Mews, Apaleo and Oracle OHIP, 15+ smart-lock systems and 3 AI communication vendors into LIKE MAGIC (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/iot-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/competent",
        "Evidence": "Designed Flawa iQ's sensing and LoRaWAN connectivity and the backend ingesting device telemetry into the ERP (2018–2019)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/it-governance",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Set the role-based review process for UBS Wealth Management & Swiss Bank's central interface-portfolio repository (2009–2015). Ran delivery governance and technology-stack approvals at 3AP (2015–2022)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/it-strategy",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Owned technology strategy and the reference architecture every engagement had to fit as 3AP's CTO (2015–2022). Defined LIKE MAGIC's platform strategy, API-first with a managed public API, an event and data hub and an MCP-server layer as the direction so agents consume the platform directly (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/java",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Built UBS's web portals in Java Portlets and JSP on IBM Portal Server (2001–2004). Built DynaRep's Eclipse plugins, web services and generators in Java (2004–2009). Built the Flatland CDO Server as an OSGi product in Java (2014–2022). Put Java and Spring Boot into 3AP's reference architecture so every platform built to it ran on them, Swisscard, AXA Health, Flawa iQ on Java 11, Conperi, Aroov and Stay KooooK (2015–2022). Ran LIKE MAGIC on Spring Boot and WebFlux (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/knowledge-management",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Established communities of practice at UBS (2004–2009). Built the LIKE MAGIC Mental Model as the organization's shared context layer (2022–2026). Published CompanyGraph so the same layer can be kept as Markdown in a repository with a history (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/legacy-modernization",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Architected DynaRep, generating COBOL and Java implementations for UBS mainframe service interfaces (2004–2009). Replaced Swisscard's proprietary SOAP data-integration layer with Spring Boot behind the same WSDL contract, so no consumer had to change (2015–2016)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/machine-learning",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/familiar",
        "Evidence": "Architected the pipeline, the labeling tool and the serving path for Conperi, 3AP's applied-research proof of concept with ZHAW for reading health-insurance invoices (2018–2020). Followed the modeling closely enough to build what it needed, GPU training nodes, a labeled dataset where none existed and held-out evaluation reported per document; the models themselves were ZHAW's"
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/mentoring-and-coaching",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Onboarded Java developers onto UBS's portal (2001–2004). Coached UBS project teams in the Analysis & Design methodology and built internal communities of practice (2004–2009). Mentored the engineers at 3AP as it scaled to about 70 people (2015–2022). Developed the technical leadership at LIKE MAGIC as it grew from 5 to 25 (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/microservices-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Authored 3AP's microservice reference architecture and built AXA Health, Flawa iQ and Aroov to it: event-driven, 12-factor, the service cut driven by business capability (2015–2022). Cut Lost-Tag into Spring Boot services behind a gateway with service discovery (2016–2021). Carried the architecture into LIKE MAGIC as the platform's own, booking, guest, profile, payment, door access, messaging, operation and analytics services, each contract-first and every vendor behind its own connector with a fallback path (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/mlops",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/competent",
        "Evidence": "Set up Conperi's training and serving split, a training service, a registry versioning each model with the metadata to reproduce it and a separate serving service so a model could be replaced without redeploying its consumers (2018–2020). It stayed a proof of concept, so nothing here covers drift, rollback or retraining in production"
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/model-driven-engineering",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Wrote the degree dissertation on Model-Driven Architecture for component-based and service-oriented architecture (2002–2006). Built UBS's DynaRep model-driven repository and code generator (2004–2009). Built the Eclipse-based Integration Architecture Tool Chain for UBS Wealth Management & Swiss Bank on EMF, Xcore, Xtext and Xtend with a CDO repository (2009–2015). Spoke on models as the enterprise's first-class artifacts at Eclipse MDD Day (2010). Presented Eclipse data modeling at enterprise scale at Eclipse Day Florence (2012). Built the Flatland CDO Server, an Eclipse CDO model repository serving any model over REST without code written for that model (2014–2022). Built Credit Suisse's Master Data Repository on it (2016)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/multi-tenant-saas-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Built and scaled LIKE MAGIC's multi-tenant hospitality SaaS platform, serving 90+ customers, 430+ properties and 16,000+ units across the DACH region as of 2026 (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/observability",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Traced a message across a queue hand-off with Spring Cloud Sleuth on 3AP's platform, so one that never arrived could be followed past the hand-off rather than lost at it (2019–2021). Published a way to monitor a business process by its own model, a receive task and a timer per milestone, so a stalled journey announces itself (2021). Instrumented LIKE MAGIC's production platform on Cloud Monitoring and Cloud Trace with alerting driven by defined SLOs, traceability being a principle the services were built to rather than instrumentation added afterward (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/open-source-stewardship",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Published the Flatland CDO Server under the Eclipse Public License and kept it public for eight years, forked by three strangers and used as the foundation of Credit Suisse's Master Data Repository (2014–2022). Published CompanyGraph and GuestGraph as open core under Apache 2.0: a license saying what is open and what could be paid for, conventions for a contributor, specs keeping the rejected alternatives and a release contract of tags and manifests (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/organization-design",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Defined UBS's department-wide role model, each role with its tasks and competencies, put through a formal consultation before it took effect (2004–2009). Described 3AP's own organization as a model rather than a chart on the Flatland CDO Server, circles inside circles, roles carrying responsibilities and assignments with a capacity and a validity window, answerable by date (2014–2022). Shaped 3AP's technology organization as it scaled to about 70 people, including a near-shore team in Serbia (2015–2022). Shaped LIKE MAGIC's as it grew to 25 (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/platform-engineering",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Architected the SDLC toolchain for UBS Wealth Management & Swiss Bank, Jira, Confluence, GitHub Enterprise, Maven, Jenkins and Sonar (2009–2015). Built Conperi's platform from cluster creation to the Kafka backbone, tracing, the OAuth gateway and GPU nodes (2018–2020). Built the platform 3AP's own projects and internal systems started from, a running gateway, an identity provider and shared capabilities rather than an empty cluster (2019–2021). Owned the LIKE MAGIC platform as the product every team built on (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/process-orchestration",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Owned the Camunda (Zeebe) orchestration of the guest journey at Stay KooooK (2020–2022). Published a runnable sample of the journey on Zeebe with the article on monitoring it (2021). Carried the orchestration into LIKE MAGIC, then led the reassessment at contract renewal and the move off it (2022–2023). Co-presented the platform at CamundaCon in Berlin (2022). Featured in Camunda's published case study citing a 95% self-check-in rate and 7,000 process instances per month (2023)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/product-discovery",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/competent",
        "Evidence": "Put CompanyGraph and GuestGraph up for scrutiny in the open, each with a talk, a billing model and a stated outcome including a clean no (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/product-management",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Defined and executed LIKE MAGIC's product and platform strategy as co-founder and Head of Technology, API-first with a managed public API, an event and data hub and three AI communication vendors integrated behind one staff inbox (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/public-speaking",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Spoke at UBS-internal brown-bag sessions on modeling, toolchain and architecture (2009–2015). Spoke at Eclipse MDD Day on models as the enterprise's first-class artifacts (2010). Spoke at Eclipse Day Florence on data modeling at enterprise scale (2012). Spoke at Eclipse Finance Day on interface management in a large enterprise (2012). Spoke at Eclipse Finance Day on the UBS Integration Architecture Tool Chain (2013). Co-presented at CamundaCon in Berlin on how SV Group became a SaaS business on Camunda (2022). Gave a talk each on CompanyGraph and GuestGraph, deck, PDF and audio in German and English (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/requirements-engineering",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Owned the Analysis & Design discipline in UBS Wealth Management & Business Banking's RUP rollout, replacing the proprietary process with a market-standard one, writing its modeling methodology in Rational Method Composer and coaching the division's teams into it (2004–2009). Modeled Lost-Tag's actors and their use cases before the platform was built (2016–2021). Writes a reviewed specification before every plan and build on CompanyGraph and GuestGraph (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/site-reliability-engineering",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Owned site reliability for LIKE MAGIC's production platform across three environments, SLOs defined and alerted on, performance held as volume grew and automated weekly reporting against defined thresholds (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/software-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Led development and delivery of UBS's WPS Portal application (2001–2004). Took software-architect responsibility for UBS's DynaRep platform (2004–2009). Set the reference architecture every 3AP engagement was built to (2015–2022). Owned Stay KooooK's complete front-to-back architecture on reactive Spring Boot WebFlux (2020–2022). Designed GuestGraph's identity-resolution engine from a written specification (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/software-engineering",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Built UBS's intranet and internet portals and the ACE Foundation beneath UBS Quotes (2001–2004). Architected and built DynaRep's Eclipse plugins, web services and code generators (2004–2009). Built the Swisscom delivery cockpit end to end (2015). Set the engineering practice of LIKE MAGIC's Spring Boot WebFlux platform, tests as part of finishing a feature rather than a phase after it (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/software-modeling-uml-sysml-c4",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Owned the Analysis & Design discipline in the Rational Unified Process rollout at UBS Wealth Management & Business Banking, its service-modeling methodology in Rational Method Composer and UML (2004–2009). Modeled Lost-Tag's actors, use cases, domain classes and components in UML in the repository, beside the code they describe (2016–2021). Modeled Cloud Foundry's and Kubernetes' vocabularies side by side in PlantUML on 3AP's platform, so what the two call the same thing could be read rather than argued about (2019–2021)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/software-process-engineering",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Owned the Analysis & Design discipline in the Rational Unified Process and Enterprise Unified Process rollout at UBS Wealth Management & Business Banking, replacing the proprietary process with a market standard (2004–2009). Architected the division's SDLC toolchain (2009–2015)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/software-testing",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Built the Swisscard rewrite on Jenkins and JUnit, with tests as engineering practice rather than a phase after the build (2015–2016). Made unit and integration tests part of how a feature was finished across 3AP's client engagements, new behavior covered at the level that catches its regression (2015–2022). Ran them on every LIKE MAGIC pipeline on GitHub Actions (2022–2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/solution-architecture",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Led 3AP's client bids on solution architecture, public tenders under Swiss procurement law included (2015–2022). Designed Flawa iQ's RFID and LoRaWAN solution, delivered as 10 working prototypes (2018–2019). Designed Ursina's runtime, the path into the operator's network and the authentication boundary (2020). Owned Stay KooooK's solution architecture front to back and presented it at the winning pitch (2020–2022)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/solution-selling",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Led 3AP's client bids across proposal, pitch and negotiation, public tenders under Swiss procurement law included (2015–2022). Won Credit Suisse without a tender, a problem known inside the bank reached through the network and a proposed architecture rather than a specification (2016). Won AXA Health, Flawa iQ, Aroov and Stay KooooK on a solution architecture presented by the people who would build it (2017–2020). Put two open-core products in front of a professional network with a billing model each (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/spec-driven-development",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Built GuestGraph's identity-resolution engine and CompanyGraph, meta-model, tooling design and this reference instance, from written specifications, each reviewed before its plan and build, under conventions an agent pass enforces (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/stakeholder-management",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Advised clients including Credit Suisse, Swisscard, AXA and Mobiliar as 3AP's CTO and joined each project's ramp-up to negotiate with the client's security and platform organizations (2015–2022). Presented the solution architecture in the winning Aroov pitch (2019). Presented the solution architecture in the winning Stay KooooK pitch (2020)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/storytelling",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Briefed a podcast episode on the career break, fixing the story in outline and the threads the hosts had to cover before anything was generated, then holding the result to its sources and naming the one place it strayed (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/technical-writing",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/expert",
        "Evidence": "Wrote the Analysis & Design methodology and guidance a UBS division worked to (2004–2009). Published an article on process monitoring with BPMN, with the runnable sample it describes (2021). Built the LIKE MAGIC Mental Model as the organization's written context layer (2022–2026). Wrote CompanyGraph's conventions, design specs and worked example, prose other people follow for readers who were not in the room (2026)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "skills/vendor-management",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "proficiency-levels/proficient",
        "Evidence": "Ran LIKE MAGIC's AI and automation tooling as a managed portfolio: Claude Code team licenses, multi-provider tooling across Claude, Gemini and Copilot and the call to self-host n8n on its own Kubernetes rather than take the hosted service (2022–2026). Led the same call on Camunda at contract renewal, where the platform used a fraction of the engine and the choice was to build on it or leave it (2022–2023)."
      }
    },
    {
      "from": "profiles/robert-blust",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/agentic-ai-development",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/agile-delivery",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/ai-governance",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/ai-strategy",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/ai-tool-integration-mcp",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/api-design",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/business-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/business-process-modeling-bpmn-dmn",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/change-management",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/ci-cd",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/cloud-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/community-building",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/company-vision-and-strategy",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/consulting",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/container-orchestration-kubernetes",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/context-engineering",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/conversational-ai",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/data-engineering",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/data-governance",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/data-modeling",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/data-protection-gdpr",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/database-design",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/devops",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/domain-driven-design",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/domain-specific-language-design",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/engineering-leadership",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/enterprise-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/event-driven-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/event-streaming",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/finops",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/frontend-development",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/identity-and-access-management",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/incident-management",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/information-security-management",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/infrastructure-as-code",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/integration-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/iot-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/it-governance",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/it-strategy",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/java",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/knowledge-management",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/legacy-modernization",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/machine-learning",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/mentoring-and-coaching",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/microservices-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/mlops",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/model-driven-engineering",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/multi-tenant-saas-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/observability",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/open-source-stewardship",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/organization-design",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/platform-engineering",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/process-orchestration",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/product-discovery",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/product-management",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/public-speaking",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/requirements-engineering",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/site-reliability-engineering",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/software-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/software-engineering",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/software-modeling-uml-sysml-c4",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/software-process-engineering",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/software-testing",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/solution-architecture",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/solution-selling",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/spec-driven-development",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/stakeholder-management",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/storytelling",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/technical-writing",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "skills/vendor-management",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "values/build-the-alternative-before-making-the-point",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "values/decide-well-over-build-fast",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "values/grow-the-people-with-the-platform",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "values/model-it-before-you-build-it",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "values/production-is-the-finish-line",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "vision",
      "to": "sources/local",
      "via": "source",
      "attrs": {}
    }
  ],
  "repo": "robertblust/mental-model"
}
