---
title: "Blog"
canonical: https://wavect.io/blog/overview/page/15/
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 CTO 30/60/90-Day Plan](/blog/fractional-cto-30-60-90-day-plan/)

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

You hired a fractional CTO. What should the first 90 days produce? Assess, plan, execute, and the artifacts and running system that survive their departure. Plus when to replace them full-time.

### [AI MVP Scope Template](/blog/ai-mvp-scope-template/)

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

Scoping an AI MVP differs from normal software: you replace it works with an eval set, a metric and threshold, a launch gate, and failure handling. A copy-ready SoW template included.

### [Permissions-First RAG over SharePoint, Confluence, Drive](/blog/rag-permissions-sharepoint-confluence-drive/)

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

The hard problem in enterprise RAG is permissions: never surface a document to a user who cannot see it. Enforce at the retrieval layer, not the prompt, with per-chunk ACLs and identity-aware retrieval.

### [QA for AI-Generated Code](/blog/qa-for-ai-generated-code/)

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

What breaks in code from Lovable, Cursor, Claude Code, and Replit before launch, and the production-readiness checklist we run to catch it.

### [From Lovable and Cursor Prototype to Production: The Migration Checklist](/blog/lovable-cursor-prototype-to-production/)

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

Getting to a demo is fast. Getting to production is a separate project. The checklist we run to harden an AI-IDE prototype, auth, data, secrets, hosting, and the keep-vs-rebuild call.

### [Vibe-Coded Software Audit: What Breaks Before Launch](/blog/vibe-coded-software-audit/)

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

You shipped software you never read. Here is the structured read we run on AI-generated code, the seven things we check first, and what blocks launch versus what can wait.

### [RAG Production-Readiness Checklist for EU Companies](/blog/rag-production-readiness-checklist-eu/)

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

A RAG demo is easy. A trustworthy, GDPR- and AI-Act-defensible, affordable RAG assistant is not. The retrieval, grounding, cost, compliance, and security checks we run before one ships.

### [MVP Development for Startups in Austria: Agencies, Cost and Selection 2026](/blog/best-software-agencies-austria-ai-mvp/)

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

A sourced comparison of eight Austrian MVP providers by fit, public pricing, stated timeline, presence and proof, with Wavect's commercial interest disclosed and missing facts left unguessed.

### [How Much Does an AI MVP Cost in Austria in 2026?](/blog/ai-mvp-cost-austria-2026/)

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

Honest EUR bands by tier, what drives the number up or down, the build/buy/fine-tune call, the ongoing costs people forget, and how the Austrian funding stack changes the real price.

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/15/",
      "name": "Blog",
      "position": 2
    }
  ]
}
```
