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

FROM THE TRENCHES Issue №165

# 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.

### [Fractional CTPO vs CTO and CPO](/blog/fractional-ctpo-vs-fractional-cto-and-cpo/)

- **Details:** Leadership & Teams · 17 Jun 2026

When one combined head owning product and engineering beats hiring a fractional CTO and CPO separately, the eight-engineer split point, and the single-point-of-failure trade-off.

### [Technical Due Diligence for AI MVPs Before Funding](/blog/technical-due-diligence-ai-mvp/)

- **Details:** Product & MVP · 16 Jun 2026

What investors check beyond the demo: evals, model and prompt versioning, inference economics, data rights, and the handover artifacts that keep your valuation when diligence starts.

### [The Vibe-Code Production-Readiness Checklist](/blog/vibe-code-production-readiness-checklist/)

- **Details:** Delivery & QA · 16 Jun 2026

A standalone, scannable checklist to run on any AI-generated app before real users touch it. Ten checks ordered by how often they bite, sorted into blocker, high, and cleanup.

### [What It Costs to Make a Vibe-Coded App Production-Ready](/blog/vibe-coded-software-audit-cost/)

- **Details:** Delivery & QA · 16 Jun 2026

Effort bands by product type, where the time actually goes, and what an audit typically finds, framed as money and timelines. The hardening is the spend; the audit tells you its size first.

### [Fractional CPO vs Senior PM](/blog/fractional-cpo-vs-product-manager/)

- **Details:** Leadership & Teams · 16 Jun 2026

What a fractional CPO, a senior PM, and hiring nobody yet each actually own. The PM-to-CPO progression and why most early-stage founders need none of them.

### [When to Hire a Fractional CPO](/blog/when-to-hire-fractional-cpo-austria/)

- **Details:** Leadership & Teams · 16 Jun 2026

The honest framework. The post-PMF trigger, founder readiness to delegate the product call, when it backfires, and the freier Dienstvertrag contract shape.

### [The One-Page AI Policy for a DACH Company](/blog/ai-policy-one-page-dach/)

- **Details:** Business & Regulation · 15 Jun 2026

A 5 to 50 person company does not need a 27-page manual, just one page that gets read: approved tools, data rules, a human-review rule, one owner. With a copy-ready template.

### [How to Cut LLM Token Costs in 2026](/blog/reduce-llm-token-costs-2026/)

- **Details:** AI & Agents · 15 Jun 2026

Token prices collapsed, but agentic products still run up big bills. The playbook we apply in order, caching, batching, routing, the right model including the Chinese open-weight frontier, and context compression.

### [AI Agent Pilot in 30/60/90 Days](/blog/ai-agent-pilot-30-60-90-days/)

- **Details:** AI & Agents · 14 Jun 2026

A serious production rollout plan for Austrian SMEs: scope and de-risk, build and shadow, then limited production and handover. The hard parts are permissions, approvals, evals, and a clean handover, not the model.

Inbox, without the noise

## Follow the work that matters to you

Get a short email when we publish something new. Follow the whole blog or only the problems you care about.

## 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-08-05",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-08-05",
      "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/14/",
      "name": "Blog",
      "position": 2
    }
  ]
}
```
