---
title: "Wavect Blog: AI, software, product and Web3, Page 26"
canonical: https://wavect.io/blog/overview/page/26/
language: en
description: "Browse a curated front page, then move through focused topic and cluster hubs without losing older work to chronology. (Page 26)"
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

FROM THE TRENCHES Issue №244

# Opinions, Not Press Releases

Browse a curated front page, then move through focused topic and cluster hubs without losing older work to chronology.

## Latest articles

Nine articles per page, ordered by publication date.

### [Werkvertrag vs T&M for Austrian SaaS](/blog/werkvertrag-vs-time-material-austrian-saas/)

- **Details:** Business & Regulation · 26 May 2026

How Austrian law distinguishes result-based work from time-based services, and what founders should clarify about scope, acceptance, IP, VAT, and accounting.

### [Products We Shipped: What Outcome Benchmarks Can Prove](/blog/products-shipped-failure-benchmark/)

- **Details:** Product & MVP · 26 May 2026

A transparent framework for measuring shipped-product outcomes without turning approximate internal observations into a market benchmark.

### [Web3 Gas Cost Hindsight: Compare L1, L2, and Solana](/blog/web3-mandates-gas-cost-l1-l2-hindsight/)

- **Details:** Web3 & Privacy · 26 May 2026

Replace static fee tables with production-shaped measurements across Ethereum, Base, OP Mainnet, Arbitrum, Polygon PoS, and Solana.

### [Fixed Price vs T&M: Measure Scope Change](/blog/fixed-price-vs-tm-scope-creep-rates/)

- **Details:** Business & Regulation · 26 May 2026

Why universal scope-creep rates are not defensible, how to measure change consistently, and what to compare before choosing a commercial model.

### [Fractional CTO vs Hiring in Austria](/blog/fractional-cto-when-to-hire-austria/)

- **Details:** Leadership & Teams · 26 May 2026

Compare the leadership mandate, authority, availability, team needs, employment cost inputs and current supplier terms before choosing a model.

### [MiCA + FMA Reality Austria 2026](/blog/mica-fma-crypto-licensing-austria-2026/)

- **Details:** Business & Regulation · 26 May 2026

A current engineering guide to Austrian crypto scoping after the MiCA transition, including CASP authorization, token issuance, prudential safeguards, and the EU Travel Rule.

### [GDPR + EU AI Act for DACH SaaS](/blog/gdpr-ai-act-stacking-dach-saas/)

- **Details:** Business & Regulation · 26 May 2026

A current framework for classifying AI use cases, mapping GDPR and AI Act duties, assigning evidence owners, and planning applicable deadlines.

### [Why AI Agent Projects Get Cancelled](/blog/why-ai-agent-projects-get-cancelled/)

- **Details:** AI & Agents · 26 May 2026

What Gartner's forecast does and does not show, plus an evidence-based review of value, evaluation, tools, cost, handoff, data, scope and governance risks.

### [RAG vs Fine-Tuning vs Long-Context 2026](/blog/rag-vs-finetune-vs-longcontext-2026/)

- **Details:** AI & Agents · 26 May 2026

A workload-based method for testing retrieval, supervised fine-tuning, long context, and hybrid architectures without relying on universal cost crossovers.

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/blog/overview/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-09-22",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-09-22",
      "url": "https://wavect.io/blog/overview/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/",
      "name": "Home",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/overview/page/26/",
      "name": "Blog",
      "position": 2
    }
  ]
}
```
