Automating CSV WooCommerce Imports Without Plugins

`Most WooCommerce stores rely on plugins to import products, update stock, or sync external catalogs.

The problem?

Plugins break, slow down the site, and often require manual uploads.

In this guide, I’ll show you how to automate CSV → WooCommerce imports using a lightweight API workflow — no plugins, no cron jobs that explode, no manual uploads.

Why Automate CSV Imports?

  • Suppliers send updated lists daily
  • Stock changes constantly
  • Prices fluctuate
  • Manual imports waste hours
  • Plugins often fail silently

Automation solves all of this.

Step 1 — Convert the Supplier CSV into Clean JSON

Most supplier CSVs are a mess: inconsistent headers, weird encodings, missing fields.

A simple PHP script can normalize everything:

`php
$csv = array_map(‘str_getcsv’, file(‘supplier.csv’));
$headers = array_shift($csv);

$products = [];
foreach ($csv as $row) {
$products[] = array_combine($headers, $row);
}

echo json_encode($products, JSON_PRETTY_PRINT);
`

Step 2 — Push Data to WooCommerce via REST API

WooCommerce provides a clean REST endpoint:

http
POST /wp-json/wc/v3/products/batch

You can send:

  • new products
  • updates
  • stock changes

All in one request.

Step 3 — Automate the Workflow

You can run the script:

  • every hour
  • on file upload
  • on webhook
  • or via a simple API call

This workflow is fully automated inside MyAPIKey, with ready‑to‑use endpoints for CSV/XML → WooCommerce.

`

Why Wobbly Plugs and Overheating Outlets Are More Dangerous Than You Think (UL 498 Explained)

 Most of us plug things in multiple times a day — phone chargers, laptops, lamps, kitchen appliances, power strips. We barely think about it.

But every now and then you get a plug that feels a bit loose, wobbles in the outlet, or makes the outlet warm after a while. Sometimes you even see a small spark when plugging or unplugging. These small things are easy to ignore, but they’re actually one of the common starting points for electrical fires in homes and offices.

This is exactly why the UL 498 standard exists.

UL 498 is the main safety standard in North America for attachment plugs and receptacles (what we normally call plugs and wall outlets). It doesn’t just care about whether electricity flows — it cares deeply about how the plug physically connects with the outlet.

Why dimensions and fit matter so much

If the blades on a plug are even slightly too thin, too narrow, or the spacing is off, several bad things can happen:

  • The plug sits loosely → poor contact → arcing and heat buildup
  • The plug is too tight → damages the outlet over time → loose connection later
  • Grounding pin is wrong → grounding may not work properly when needed
  • Live parts can become accessible if the plug is inserted incorrectly

These issues don’t always show up immediately. Sometimes a product passes initial testing but starts causing problems after months of use when the outlet wears or the plug deforms slightly.

 ## What UL 498 gauges actually check

Manufacturers and testing labs use precision gauges to verify plugs and outlets against UL 498 requirements before products go to market. These gauges perform several important checks:

  • Dimensional accuracy of plug blades and pins (Go/No-Go testing)
  • Retention force — how securely the plug stays in the outlet
  • Protection against improper insertion (so you can’t accidentally touch live parts)
  • Grounding pin configuration and strength
  • Accessibility of live parts
  • Assembly security of the plug itself

The goal is simple: make sure that when millions of people plug things in every day, the connection stays safe and consistent.

From the testing side, I’ve seen that small deviations in blade thickness or retention force that seem minor on paper can turn into real overheating or arcing issues in the field, especially with frequent plugging/unplugging or in high-power devices.

The everyday reality

Your phone charger, laptop adapter, air fryer, monitor, and even that power strip in your living room all rely on this level of dimensional control. When the plug and outlet are made to the right tolerances, the connection stays reliable for years. When they’re not, you start seeing the symptoms we all recognize — wobbly plugs, warm outlets, and occasional sparks.

It’s one of those behind-the-scenes standards that most people never hear about, but it quietly affects the safety of almost every electrical connection in a typical home or office.

Have you ever had a plug that felt suspiciously loose or an outlet that got noticeably warm? Or noticed certain cheap power strips wearing out much faster than others?

I’d be curious to hear what kinds of plug and outlet issues you’ve run into in real life.

Building an AI Model Evaluation Pipeline on AWS for Audio Content Generation

Executive Summary

A European digital media publisher needed to determine which foundation model on Amazon Bedrock produces the highest-quality podcast-style summaries from news articles. Rather than selecting a model based on general benchmarks, they built a serverless evaluation pipeline on AWS that runs structured experiments — comparing multiple models in parallel, scoring outputs with an LLM-as-Judge approach, and delivering actionable insights to both technical and editorial teams.

This post describes the business drivers, architectural approach, evaluation methodology, and outcomes of the proof of concept (PoC), built entirely on AWS-native services.

Business Challenge

The customer is a digital media publisher experiencing declining engagement as user consumption shifts toward flexible, audio-first formats. Their strategic objective is to evolve from traditional text delivery into personalized, AI-driven audio experiences — such as user-specific podcast-style summaries generated from their existing article library.

This initiative is expected to:

  • Increase content consumption by meeting users where they are (commutes, workouts, passive listening)
  • Unlock new monetization opportunities through premium audio tiers and advertising
  • Extend the value of existing editorial content without proportional editorial cost

The technical challenge: foundation models produce highly variable output quality depending on the model, prompt strategy, and content type. Selecting the wrong model risks hallucinated facts (unacceptable for a news publisher), poor audio readability, or unsustainable cost per article.

The customer needed a data-driven approach to model selection — not a one-off playground test, but a repeatable evaluation framework that could inform decisions across formats, topics, and evolving model capabilities.

PoC Scope and Objectives

The PoC focused on building an evaluation and experimentation pipeline — not the production audio generation system itself. The goal was to enable structured, repeatable testing of multiple foundation models and prompt strategies for summarization and script generation.

Core Requirements

Requirement Description
Model Evaluation & Selection Test multiple models on Amazon Bedrock in parallel; compare outputs on quality, tone, coherence, and editorial relevance
Prompt & Format Experimentation Support different summary styles (short-form, multi-speaker podcast, custom editorial prompts) to identify optimal content structures
Scalable Evaluation Pipeline Automated workflows triggered via API, with consistent storage of outputs and metadata
Evaluation Metrics Framework LLM-as-Judge scoring combined with native Bedrock evaluation metrics, covering accuracy, completeness, faithfulness, and style
Results Visualization Side-by-side comparison of outputs with cost, latency, and quality insights for technical and editorial stakeholders
AWS-Native Architecture Fully built on AWS services: Amazon Bedrock, AWS Step Functions, AWS Lambda, Amazon S3, Amazon API Gateway

Solution Architecture

The evaluation pipeline is fully serverless, deployed via Terraform, and designed around the principle of experiment-as-configuration — each evaluation run is defined by a JSON document specifying models, prompts, inputs, and scoring criteria.

Architecture Overview

AWS Architecture

AWS Services Used

Service Role in Architecture
Amazon Bedrock Foundation model access via unified Converse API; supports Llama, Claude, DeepSeek, Nova, and others
AWS Step Functions Orchestrates the multi-step evaluation workflow with built-in error handling and state management
AWS Lambda Serverless compute for API handling, model invocation, scoring, and report generation
Amazon API Gateway HTTP API entry point with CORS support; JWT authorizer ready for Amazon Cognito integration
Amazon S3 Persistent storage for experiment artifacts, outputs, and generated reports
Amazon Cognito User authentication (pre-built, ready to enable for production)
Amazon CloudWatch Structured logging, billing alarms, and operational monitoring
Amazon SNS Alert notifications when cost thresholds are breached

How It Works: The Evaluation Workflow

Phase 1: Prompt Generation and Review

The user submits an article and selects a scenario type (interview, monologue, debate, short summary). A Prompt Agent powered by Claude Haiku generates an optimized instruction prompt tailored to the article topic and requested format.

The user reviews and optionally edits the prompt before execution. This human-in-the-loop step prevents wasted model invocations on suboptimal prompts.

Phase 2: Parallel Model Invocation

AWS Step Functions triggers the evaluation workflow. The Invoker Lambda uses Python’s ThreadPoolExecutor to invoke 2-5 Bedrock models simultaneously via the Converse API — a unified interface that eliminates provider-specific request/response handling.

Results are written to S3 progressively as each model completes, enabling the frontend to display partial results without waiting for the slowest model.

Phase 3: LLM-as-Judge Scoring

A separate Claude Haiku instance evaluates each model’s output against the source text using a strict rubric. Five dimensions are scored on a 0-100 scale:

Dimension Evaluation Criteria
Accuracy Factual correctness; penalizes hallucinations, distortions, and vague references
Fluency Natural language quality; penalizes unfinished sentences, repetition, and awkward phrasing
Completeness Coverage of key points; penalizes missing sections or shallow treatment
Neutrality Objectivity; penalizes editorial opinion or speculation presented as fact
Prompt Compliance Adherence to format, tone, and constraints; violations cap the score

The rubric is deliberately strict: scores of 96-100 are “almost never given,” and most solid outputs land in the 61-80 range. This forces meaningful differentiation between models.

Phase 4: Report Generation and Approval

The pipeline generates a self-contained HTML comparison report with:

  • Side-by-side model outputs
  • Color-coded score badges per dimension
  • Latency and cost metadata
  • Reviewer preference selection

Editorial stakeholders can view reports via presigned S3 URLs without requiring AWS console access. The approval workflow saves the selected output for downstream use.

Key Architectural Decisions

Why Amazon Bedrock’s Converse API?

The Converse API provides a unified interface across all foundation models on Bedrock. Adding a new model to the evaluation requires only a configuration change — no code modifications for request formatting or response parsing. This is critical for an evaluation platform where the set of models under test changes frequently.

Why Serverless (Lambda + Step Functions)?

  • Cost at rest: zero. The platform costs nothing when no experiments are running.
  • Automatic scaling. Parallel model invocations scale with Lambda concurrency.
  • Operational simplicity. No servers to patch, no clusters to size.
  • Built-in observability. Step Functions provides visual execution tracking; Lambda integrates natively with CloudWatch.

Why LLM-as-Judge Over Traditional Metrics?

Traditional NLP metrics (ROUGE, BLEU) measure surface-level text similarity. They cannot evaluate:

  • Whether a podcast script sounds natural when read aloud
  • Whether the tone matches the editorial brand
  • Whether the format constraints were followed (no markdown, no stage directions)

An LLM-as-Judge captures these subjective quality dimensions that matter most to editorial teams. The strict rubric ensures scoring consistency across experiments.

Why Build Evaluation Before Production?

The cost of running 100 evaluation experiments ($15-50 in Bedrock usage) is negligible compared to the cost of building a production system on the wrong model and discovering quality issues after launch. The evaluation pipeline de-risks the model selection decision and creates a reusable framework for ongoing optimization.

Evaluation Metrics Framework

The platform supports two complementary evaluation approaches:

LLM-as-Judge (Primary)

A separate foundation model evaluates outputs against source text and prompt instructions. Scoring features are configurable per experiment — teams can define custom dimensions relevant to their use case.

The scoring agent receives:

  • The original source text
  • The instruction prompt given to the content model
  • The model’s output
  • A detailed rubric with scoring guidelines

It returns a JSON object with integer scores per dimension, which are validated against the defined scale ranges.

Amazon Bedrock Native Evaluation (Secondary)

Where available, the platform also leverages Bedrock’s built-in evaluation API for standardized metrics:

  • Accuracy — factual alignment
  • Robustness — consistency under variation
  • Toxicity — harmful content detection

These provide a baseline that complements the more nuanced LLM-as-Judge scores.

Open Area: Custom Metrics via API

An area under exploration is the ability to define and register custom evaluation metrics programmatically — for example, an “audio readability” metric that specifically penalizes text patterns that sound unnatural in text-to-speech synthesis.

Results and Insights

After running structured experiments across multiple articles, models, and prompt strategies:

Model quality varies significantly by format. A model that excels at short-form summaries may produce awkward multi-speaker scripts. Format-specific evaluation is essential — there is no single “best model” across all use cases.

Prompt engineering impact often exceeds model selection impact. The quality difference between a well-crafted prompt and a generic one frequently exceeds the difference between models. The Prompt Agent + human review loop captures this value early.

Hallucination rates correlate with topic complexity. Simple event reporting is handled well by all tested models. Complex topics with nuance (scientific findings, policy debates) show significantly higher hallucination variance.

Scoring consistency requires explicit rubric design. Without strict guidelines, the AI judge assigns uniformly high scores. The calibrated rubric forces differentiation that maps to real editorial quality differences.

Cost Profile

Component Monthly Cost
AWS Lambda (API + Invoker) ~$7
AWS Step Functions ~$2
Amazon S3 < $1
Amazon API Gateway < $1
Amazon CloudWatch ~$3
Infrastructure total < $15/month
Amazon Bedrock (variable) $0.15-0.50 per experiment

The serverless architecture means infrastructure costs are near-zero when the platform is idle. The primary cost driver is Bedrock model invocations — directly proportional to experiment volume and controllable via API rate limiting and usage quotas.

Security and Operational Considerations

  • API authentication: Amazon Cognito with JWT authorizer (pre-built, ready to enable)
  • Rate limiting: API Gateway usage plans with per-key quotas to control Bedrock spend
  • Cost controls: CloudWatch billing alarms at $10 and $25 thresholds with SNS notifications
  • Error sanitization: AWS resource identifiers (ARNs, account IDs) are stripped from user-facing error messages
  • Infrastructure as Code: Full Terraform deployment; reproducible and version-controlled
  • Token usage tracking: Bedrock response metadata passed through for downstream billing attribution

Strategic Outlook : : The Start of Something Bigger

This PoC is phase one of a broader initiative:

Phase Focus Status
Phase 1 Evaluation pipeline — model comparison, prompt experimentation, quality scoring ✅ Complete
Phase 2 Production summarization — selected model(s) deployed for automated generation Planned
Phase 3 Multi-format generation — short-form audio/video, text-to-speech integration Roadmap
Phase 4 Optimization — fine-tuning on editorial feedback, A/B testing, cost-based model routing Roadmap

The customer is evaluating AWS as the long-term platform to support end-to-end content generation workflows — from article ingestion through summarization, text-to-speech synthesis, and media distribution.

The TikTok-Style Video Opportunity

The customer’s next ambition is to automatically generate daily short-form video content — 30-60 second clips summarizing top stories in a format optimized for TikTok, Instagram Reels, and YouTube Shorts. This requires chaining multiple AI capabilities:

  • Summarization (Amazon Bedrock) — condense articles into punchy, spoken-word scripts
  • Text-to-Speech (Amazon Polly or third-party) — generate natural-sounding narration
  • Visual generation — create or select imagery to accompany the audio
  • Assembly — combine audio, visuals, and captions into a publishable video

The evaluation pipeline built in Phase 1 directly informs this: the model and prompt strategy selected for summarization quality will power the script generation layer of the video pipeline. The same LLM-as-Judge framework can evaluate script quality for the shorter, punchier format that short-form video demands.

The customer is seeking a continued partnership with AWS to build this end-to-end workflow — from article ingestion through AI summarization, speech synthesis, and automated video publishing. This represents a multi-phase engagement with growing AWS service consumption across Bedrock, Polly, S3, MediaConvert, and potentially SageMaker for fine-tuning.

Expected Outcomes

  • A working evaluation pipeline for large-scale AI experimentation on Amazon Bedrock
  • Clear, data-driven comparison of foundation models and prompt strategies
  • Identification of the most suitable model(s) for summarization and script generation
  • A reusable framework for future optimization and potential fine-tuning
  • Reduced decision risk around model selection through structured experimentation

Conclusion

Foundation model selection for production use cases requires more than benchmark comparisons. It requires evaluation on your actual content, with your actual quality criteria, at sufficient scale to surface meaningful differences.

By building the evaluation infrastructure first — using Amazon Bedrock for model access, AWS Step Functions for orchestration, and an LLM-as-Judge approach for quality scoring — this customer established a repeatable, cost-effective framework for making model decisions with confidence.

The serverless architecture ensures the platform costs nothing at rest, scales automatically during experimentation, and deploys in minutes via Terraform. The evaluation framework will continue to serve as new models become available on Amazon Bedrock and as the customer expands into new content formats.

Why Continued Investment Matters

Funding this initiative accelerates experimentation on Amazon Bedrock, reduces decision risk around model selection, and establishes a reusable evaluation framework that supports not just the current summarization use case — but the entire roadmap from podcast generation through TikTok-style video automation. The customer’s growing ambition maps directly to expanding AWS service adoption.

AWS Services Referenced

Amazon Bedrock · AWS Step Functions · AWS Lambda · Amazon API Gateway · Amazon S3 · Amazon Cognito · Amazon CloudWatch · Amazon SNS · Terraform (Infrastructure as Code)

This solution was built by Storm Reply as part of an AWS-funded proof of concept for AI-driven content generation.

Your Side Project Is Not a Business

There are 630 million repositories on GitHub. App Store submissions jumped 84% in Q1 2026. Product Hunt launches with AI in the name went from 5% to 40% of all submissions. Non-technical founders built 3.2 million production-grade apps using AI builders in 2025 alone.

Most of these will never have a paying customer.

That is not pessimism. That is the math. AI solved the building problem. Nobody solved the selling problem. And the gap between those two problems is where careers and savings accounts go to die.

The Great Shipping Delusion

Something changed in 2025. The hard part of building software stopped being hard. A developer with Claude Code or Cursor can go from idea to deployed application in a weekend. Not a prototype. Not a mockup. A real, working, deployed application with authentication, a database, a payment page, and a landing page that looks like it was built by a funded team.

This is genuinely remarkable. The barrier that kept most ideas from becoming products has collapsed. The same AI-driven velocity that redefined what one developer can ship is now aimed at the market. Twenty years ago, you needed a team, capital, and months of development to ship what one person can build in 48 hours today.

And that collapse created a delusion that is burning through the developer community like wildfire: the belief that shipping is the hard part.

It is not. Shipping has never been the hard part. Distribution is the hard part. Finding people who have the problem you solved, convincing them your solution is worth paying for, and keeping them around long enough to build a sustainable revenue stream. That was hard before AI. It is still hard. AI did not touch it.

Camp One: Just Ship It

The build-in-public crowd has a seductive argument. Lower the barrier to entry and more people can participate. More participation means more experiments. More experiments mean more discoveries. More discoveries mean more real businesses.

And they have success stories. Real ones. Sabrine Matos, a growth marketer with no engineering background, built Plinq entirely using AI tools. Ten thousand users. $456,000 in annual recurring revenue. Three months. Base44, a solo developer, hit 250,000 users and profitability in six months. Wix acquired it for $80 million.

These stories are real and they are powerful and they are the exception, not the rule. But they prove something important: the ceiling for what one person can build has been removed. The limiting factor is no longer technical capability. It is everything else.

This camp will tell you that the old world was worse. That the gatekeeping of needing a team and capital and time just meant that only privileged people could try. That AI democratized the attempt. That more attempts, even with a high failure rate, produce more winners in absolute terms. The same dynamic is reshaping who gets to build professionally.

Camp Two: You Built a Demo

The other side of the aisle has a body count to point to. Vibegraveyard.ai and vibegraveyard.rip catalog the wreckage. Of 60-plus AI app builders launched in 2025, roughly half are dead by April 2026. The apps they helped create are dying even faster.

One indie hacker posted a summary that captures the entire problem: 4 organic users. 400,000 impressions. Zero paying customers. Building in public update.

That ratio is not unusual. It is typical. The feed is full of beautifully built applications with nobody using them. The code is clean. The UI is polished. The landing page converts. There is just nobody on the landing page.

This camp will tell you that AI made the easy part easier. Building was never the hard part for people who knew what they were doing. It was the hard part for people who did not know what they were doing, and making it easy for them does not make them entrepreneurs. It makes them people with deployed applications and no customers.

A deployed application is not a business. A business has customers who pay money. Everything else is a hobby with hosting costs.

The Distribution Cliff

There is a cliff that every side project hits. The building phase is euphoric. You have an idea, you open your editor, the AI helps you ship fast, and in days you have something real. The dopamine is extraordinary. You are a builder. You are shipping. You are doing the thing.

Then you launch. And the essay that captures this moment better than anything else this year put it plainly: you shipped something real. You spent nights and weekends building something that actually solves a problem. Then you launched. Silence. Crippling, soul-destroying silence.

The silence is not because the product is bad. The silence is because nobody knows it exists. And the skills required to make people know it exists have nothing to do with the skills required to build it. Marketing. Distribution. Sales. Positioning. Community building. SEO. Content strategy. Partnerships. These are not coding skills. They are not enhanced by AI coding tools. They take as long to learn as software engineering does.

The community consensus emerging in 2026 is blunt: the distribution versus product skill gap is very real. A lot of builders assume that if the product is good enough, users will somehow appear. Those are two completely different problems to solve.

The Market Is Drowning

The App Store review queue tells the story. Wait times ballooned from a 24 to 48 hour baseline to 7 to 30 days. Not because Apple got slower. Because submission volume exploded. Apple started actively blocking updates for apps built with AI coding tools and removing others.

Product Hunt is seeing the same pattern. AI’s share of launches jumped to 40%, but upvotes did not follow proportionally. More launches, same attention. Horizontal AI tools show diminishing returns. The market is not growing as fast as the supply.

This is the part nobody in the just-ship-it camp talks about. When shipping is easy, everyone ships. When everyone ships, attention becomes the scarce resource. And attention was already scarce. Now it is being divided among ten times more products competing for the same eyeballs.

The irony is thick. AI made building so easy that building is no longer a competitive advantage. The thing that used to differentiate you, the ability to turn an idea into working software, is now table stakes. If everyone can build, nobody stands out by building.

What Actually Becomes a Business

The pattern emerging from the wreckage is consistent. The side projects that become businesses are not the ones with the best code or the most features. They are the ones built by people who understood the problem before they built the solution.

They talked to customers first. They understood the workflow they were improving. They knew where the money was. They built the minimum thing that solved the specific problem for a specific group of people willing to pay for a solution. Then they built distribution before they built features.

The highest-leverage advice for solo founders in 2026 is counterintuitive: use AI to build things for specific clients at premium prices rather than building SaaS tools for anonymous markets. Sell a finished product for $5,000 instead of selling access to a tool for $50 per month. The economics are better, the feedback is faster, and the learning is real.

The projects that become businesses skip the launch-and-pray model entirely. They find the customer first. They validate the willingness to pay first. Then they build. AI makes the building fast enough that this order of operations actually works. Build last, not first.

The Uncomfortable Question

If you are building a side project right now, ask yourself one question. Not whether you can build it. You can. AI made sure of that. Ask whether you have talked to ten people who have the problem you are solving and whether any of them would pay for a solution.

If the answer is no, you do not have a business idea. You have a building idea. Those are different things. Building ideas are fun. Business ideas are profitable. The gap between them has not changed. AI just made it easier to find out which one you have, faster.

If the answer is yes, you might have something. Build it fast, ship it to those ten people, and find out if they actually pay. If they do, find ten more. That is a business. Everything else is a portfolio project with a Stripe integration.

The side projects that win in 2026 are not the ones built fastest. They are the ones built for someone specific. AI changed the speed of building. It did not change the definition of a business. A business is someone paying you money to solve their problem. Everything before that is practice.

Neurodiversity and the two layers of cognition

About twenty years ago, while studying Gestion Mentale, a pedagogy framework developed by French educator Antoine de la Garanderie, our group was asked to do a simple mental calculation. Something like 47+35. Then explain what happened in our heads.

The results were staggering.

One person talked to themselves through it. Another wrote the numbers on an imaginary blackboard, in their own handwriting. Someone else saw their primary school teacher’s handwriting instead. One person had visual bars and immediate access to the result, with no intermediate steps they could describe. Ten people, ten different internal processes, one correct answer.

Nobody had assumed everyone else did it the same way. But nobody had ever questioned it either, because there had never been a reason to ask.

That exercise made something visible that is almost always invisible: the internal process and the expected output are two separate things, and they don’t have to map onto each other in any particular way.
I saw this confirmed during an internship with a Gestion Mentale practitioner working with a child struggling with long divisions. Over several sessions they had found a method that worked for the child, that he understood and could use reliably. Then the teacher called him to the board, he used his method, and she dismissed it. She hadn’t taught it, she didn’t recognize it, so as far as she was concerned it wasn’t valid.

The practitioner spent the next session reframing things. There are two layers, he told the child: how you perform a task, and what the world expects as output. Those are separate problems. Let’s find a way to convert your method into the expected format.

I’ve recently been writing about autism, following my own diagnosis at 43. Autism adds a cost to this picture. When your internal process doesn’t map naturally onto what the social world expects as output, there is a translation layer running constantly — reading faces, calibrating tone, tracking when to speak and when to stop. For most people this is automatic, effectively free. For an autistic person it runs consciously, alongside every interaction.

The result looks the same. The cost doesn’t show. Which is why late diagnosis is so common: the output passes inspection, so nobody looks at the process.

Happy to hear how this lands — particularly from those of you who recognize the translation cost from your own experience, whether or not you have a diagnosis.