---
title: "Blog"
canonical: https://wavect.io/blog/overview/page/11/
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.

### [AI Agent Cost per Action: Why Agentic Workflows Blow Up Token Bills](/blog/ai-agent-cost-per-action-2026/)

- **Details:** AI & Agents · 9 Jul 2026

Executives do not buy tokens. They buy actions: support tickets resolved, invoices extracted, PRs reviewed and leads enriched. The calculator for tracing every model call, tool call, retry, verifier, cache hit and failed attempt into one cost per successful action.

### [When Local Models Beat APIs: A Break-Even Calculator for EU Companies](/blog/local-models-vs-apis-break-even-eu-2026/)

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

Self-hosting an LLM only wins when utilization, governance, and ops all line up. The calculator for comparing API spend against GPU hours, engineer time, eval upkeep, concurrency, and EU data residency.

### [LLM Cost Calculator 2026: Cost per Task, Not Cost per Token](/blog/llm-cost-calculator-2026/)

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

The spreadsheet logic behind a real AI bill: count completed tasks, not token prices. Formulas for cached input, batch discounts, routing escalation, self-host utilization, retries, human rework and eval quality.

### [The Factory Returns](/blog/the-factory-returns/)

- **Details:** Delivery & QA · 7 Jul 2026

How agentic AI revives the software-factory dream that failed twice, and whether agility can survive it. Alexandre Kotcherguine and Kevin Riedl weigh the technical-debt and productivity evidence on both sides, trace the craft moving up the stack into specifications and quality gates, and read Stripe's agent fleet as the thesis observed in production.

### [Building Real Applications With ZK and FHE in 2026: A Pragmatic Guide](/blog/building-real-applications-zero-knowledge-fhe-2026/)

- **Details:** Web3 & Privacy · 5 Jul 2026

Apple runs FHE on millions of iPhones and Google Wallet proves your age with ZK, yet most projects that start with the technology still fail. The decision tree, the honest 2026 cost numbers, and the five failure modes we see in privacy-tech builds.

### [Zero-Knowledge Proofs in 2026: What Is Actually Production-Ready](/blog/zero-knowledge-proofs-production-2026/)

- **Details:** Web3 & Privacy · 5 Jul 2026

Proving an Ethereum block fell from 1.69 dollars to under 4 cents in one year, and ZK identity landed in Google Wallet. Which zkVMs to build on, what proving costs, what works on a phone, and where the security bodies are buried.

### [Fully Homomorphic Encryption in 2026: What Ships and What Is Still Hype](/blog/fully-homomorphic-encryption-practical-2026/)

- **Details:** Web3 & Privacy · 5 Jul 2026

FHE runs on iPhones and settles encrypted transactions on Ethereum, yet stays three to four orders of magnitude slower than plaintext. The production pattern that works, the honest overhead numbers, and the encrypted-LLM reality check.

### [ZK vs FHE vs MPC vs TEE: How to Choose in 2026](/blog/zk-vs-fhe-vs-mpc-vs-tee/)

- **Details:** Web3 & Privacy · 5 Jul 2026

Four privacy technologies, four trust models, four price tags. The four questions that pick the right one, a side-by-side comparison with honest numbers, and the EU regulations that increasingly force the choice.

### [Open USD Explained: What a Consortium Stablecoin Changes](/blog/open-usd-stablecoin-explained-2026/)

- **Details:** Web3 & Privacy · 4 Jul 2026

Visa, Mastercard, Stripe, Coinbase and BlackRock backed a shared-reserve stablecoin, and Circle dropped 16 to 18 percent. What Open USD actually changes, why the coin is not live yet, and what to check before you build on any stablecoin.

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