"We'll automate later. We don't have time right now."

Your team has said it. Then, six releases later: "We should have automated ages ago."

WAVE automates backend testing. Your team stays expert in your product. Not in test frameworks. Not in glue code. Not in prompts.

What is testing by hand costing you?

No AI required. No framework to learn first. Runs on your own machine.

WAVE 26-second teaser, on loop
The teaser's opening card: WAVE - test automation for backend systems.
The teaser is a 26 second cut of the full tour, without the chapter cards. The tour itself is 3 minutes 28 seconds, in six chapters, each starting with a title card and then a recording of the real product. One: you drag a block from the palette onto a connection, and it joins to the blocks on either side. Two: the view moves across one test that connects to SSH hosts, a remote Kubernetes API, OpenSearch and PostgreSQL. Three: you add an HTTP block with a keyboard shortcut and set it to TLS 1.3, and it runs on its own while the live trace shows the real TLS handshake as it happens. Four: you watch a suite run live, set a breakpoint while it is running, step over it, and let the run finish with every block passing. Five: a block built in one test is published to the team library, then dropped into a second test as one block. Six: you reopen a finished run read-only, with the secret values masked and a dated report.
01

You did not choose to test by hand. You got here for two reasons.

01

First, there is never time. The deadline is now. Automating is later. So you re-run the tests by hand one more release, and one more, and the "later" never comes.

02

Second, the tools do not fit your environment. The tools that could really take this work off your hands assume the cloud. They phone home. In a regulated or air-gapped environment, that rules them out. So testing by hand can feel like the only option left.

The expensive part is not the testing. It is everything around it:

re-run
You re-run the same tests, again and again.

A security fix. A new version of an open-source library. A hotfix from your own team. Each one triggers a full regression run, done by hand, on top of the releases you planned.

wait
You wait.

A test run by hand only moves while people are at their desks, so it sits idle nights, weekends, and holidays while the date you promised your customer keeps coming closer. Slip past that date, and you pay the penalty you already signed for.

consistency
It comes out a little different every time.

Two engineers run the same test and write the report differently. A step gets skipped on a Friday. And a step run by hand leaves nothing behind, so there is nothing to analyse later and nothing to hand an auditor.

You are probably guessing at that number right now. You do not have to.

02

We built a free calculator that shows you the cost of testing, in your own numbers.

It uses the true cost of an engineer's hour, not just the wage. It can count the re-runs and the waiting. And it shows you how the loss grows over the next few years if nothing changes.

It asks for no email. Your numbers never leave your browser.

That last part matters. If the calculator keeps your data on your own machine, you can guess how the product treats your data.

Illustration

yearly testing cost, example team

by hand with WAVE 60% you could save from year 2 Year 1 Year 2 Year 3 Year 4 Year 5

The calculator puts your own numbers on it and separates out the part you are not counting: the waiting.

Open the calculator
Testing Cost Calculator
03

WAVE gives you what is good about testing by hand and what is good about automation, without the bad side of either.

You can see and run it, like testing by hand.A machine repeats it, like automation.

Here is what that looks like:

WAVE the see-it-and-repeat loop
The WAVE workbench with a test open on the canvas: connect over SSH, read the service status, then a branch that routes on that status to restart the service, log the result, or alert the on-call team. A breakpoint is set on the branch block.
A test runs in debug mode. It connects to a server over SSH and stops at a breakpoint, where the status it captured reads degraded. You press Step Over, then Continue, and the run takes the restart branch, verifies the service, and passes. Each block lights up as it runs.
01 Build your test on a visual canvas.

You drag a block onto the canvas for each thing the test does: an HTTP call, an SSH command, a database query. You see the whole flow, not a wall of code.

02 Watch it run, one step at a time.

Set a breakpoint, look at any value in the middle of a run, and re-run a single block by hand.

03 Start it and walk away.

Run a whole regression from the canvas and leave it. Come back to a finished run with every block recorded.

04 Every run saves its own complete record:

What was checked, what passed, what failed, how long it took, who triggered the run, and the full logs. Export the whole thing as one HTML or JSON file.

The top of a real exported WAVE run report: the run Nightly health check marked Passed, environment Staging, triggered by alex.ureche, started 2026-08-08 20:41:23 UTC, duration 5s, with its execution ID, above a results row reading 10 blocks, 7 passed, 0 failed, 0 skipped, 0 stopped, 3 not run. The recording scrolls on through the per-block timeline and into the full log of the run.
The clip scrolls through the exported report file, top to bottom: the run header and its environment, who triggered it and when, then the pass and fail counts, then every block with its status, start time and duration, then the full log of the run.
report.htmlreport.json

What that does to the loss you just measured:

  • re-run

    The re-running stops being by hand. The machine runs the same flow the same way, every release.

  • wait

    The waiting drops. A run can finish unwatched, at night.

  • prove

    The proof comes with it. Every run writes its own record, so no one has to put the proof together by hand.

A test framework asks you to stop, learn it, and carry it in your head before it returns anything. That is why "later" never comes. WAVE goes the other way. Every step runs on its own, so you can automate one test in the release you are testing right now and keep the rest by hand until you are ready. There is no migration to schedule.

04

Every run becomes evidence you can reopen.

The exact test, with every block colored by its result. It stays exactly as the run left it.

Open any past run from its history and you get that run's values, its logs, and a click through to the full report.

Nothing runs again. Execution history is a read-only snapshot of everything that happened during the run, kept so anyone can open it later. When an auditor or a teammate asks what you checked and how it went, you open the run and show them.

WAVE execution history
A finished run of the test Nightly health check reopened in WAVE, read-only. Every block on the canvas is outlined green and badged PASS, from Connect through Get status, Check status, Restart, Remote Execution and GET Healthcheck API to Disconnect, while the branch that was not taken stays unlit. The run is marked Passed, a Report button links to the full report, and the variables panel lists the run's values including ssh_pass masked as asterisks and badged SECRET.
05

Build the hard part once. The whole team reuses it.

Save a block, or a whole piece of a test, to a shared library. Anyone drops it into their own test as one block.

Some test logic is hard to get right, and everyone needs it: a tricky login, a fiddly bit of setup, a check the whole team repeats. Build it once on the canvas. Then publish it to your team's shared library with a version number and a changelog.

After that, anyone reuses it by reference. They drop it into a test as one block, pinned to a version you choose. A change that breaks the shape of a function can only go out as a new major version, so anything pinned to the old one keeps working.

So the same logic does not get rebuilt in ten places, each a little different.

WAVE reuse on the canvas
The Publish Function dialog in WAVE, publishing a new shared function called Wait for rollout at version 1.0.0. It is described as waiting for a Deployment to finish rolling out before the rest of the run continues, tagged k8s and deploy, and both the Changelog and Details fields are marked required and filled in. Above the Publish button a line reads: A new library Function will be created.
06

It runs inside your network, not in someone else's cloud.

WAVE runs on your own machine, needs nothing from the outside, and does not collect your data. It reaches your systems the same way you do, on this machine or anywhere on your network. Air-gapped if you need it.

the internet WAVE never connects here. zero telemetry. a service on your network a server over SSH a remote host through a jump host WAVE every connection is started by you the internet WAVE never connects here. zero telemetry. WAVE every connection is started by you a service on your network a server over SSH a remote host through a jump host
07

One canvas to reach your systems, build the test, debug it live, and prove it ran.

Here is the rest of what is in the box, all of it built in.

01Reach your systems
HTTP callsHit any URL or API. All methods, redirects, retries, and TLS.
SSH to serversLog in to a remote server, even hop through several. Run a command or a whole script, or forward a port.
Shell, Python, and file blocksRun a shell command, run Python code, and read, write, copy, or move files, all as blocks on the canvas.
Data blocksRead and check JSON, XML, and log output.
More systemsKubernetes, SQL databases, and OpenSearch. It also reaches SFTP, Ping, Netcat, and CSV and Excel files.
02Build and control a test
Variables and expressionsReuse values across blocks, and compute with Python.
Profiles and environmentsPoint the same test at any environment.
Inspect and edit any valueOpen any value to see it as a grid or JSON, compare its start value to its live value, and change it at a breakpoint to debug.
Control the flowSend a test down different paths, run paths side by side, or wait until a condition is true.
Suites and regression runsGroup your tests into a suite and run the whole set to catch new breaks.
03Debug and prove
Step-debugger with breakpointsStop a run at a breakpoint, look at any value, and step from one block to the next.
HTML and JSON reportsTurn any run into an HTML or JSON report you can open or share.
Results browserFind, reopen, filter, and download the files and logs from any past run.
Export and importMove tests, suites, and data between machines.
04Secure
Secrets stay hidden Secret values show as ******** in logs, reports, and the console, stay sealed on disk instead of plain text, and follow the export rule you set.

What WAVE does, in detail

What WAVE does
08

WAVE is built for one kind of team. You will know if it is you:

  • You build and test a real, integration-heavy system, and testing it by hand is slow and risky. Especially if you work in a regulated or air-gapped environment, where cloud test tools are off the table.

  • There is a date with money on it. Penalties if you slip. Revenue when you deploy.

  • You test by hand today or your current automation is too complex.

If that is you, the calculator will show a large and growing loss, and WAVE is built to bring it down.

If testing by hand is not a heavy, repeating burden for your team, WAVE will not help much, and we will tell you so.

09

WAVE was built by Alex Ureche, a software architect who works on integration-heavy backend systems.

His team runs the tests, by hand, every release, and he is the one who answers when a date slips because of it. He built WAVE to take that work off them.

10

Here is the deal.

WAVE is live. You can build and run real tests on the canvas today. But it is early, and the founding cohort is three people.

So there are three founding partner spots. Three, not thirty. Here is what that means.

  • 01

    You help decide what gets built next. Tell us what matters, and we build it before we build anything else.

  • 02

    You pay less than every team that comes after. Your renewal rises at most 5% a year while your version is supported, then locks.

  • 03

    You work directly with the engineer who builds it. Not a sales rep.

Here is what is coming next. As a founding partner, you help steer it, not just wait for it.

next

A shared server for the whole team. The next step is a server on your own hardware that the whole team runs against, so tests and run history live in one place as your testing grows.

next

Deeper into the systems your tests touch. You tell us which ones to connect first.

direction

Turning your test plans into real tests. Many teams already keep their test plans in Excel, Word, or PDF. Turning those into real tests by hand is often the real reason "we'll automate later" never happens. So the direction we are most excited to explore with our first partners is your own AI, on your own hardware, doing that work for you. Your AI, your hardware, your data. Nothing leaves your environment. This is the least sure thing here. It may never get built. Being one of only three is what earns you a real say in whether it ever does.

This is not a fixed plan. You help set the order. And for some of it, you help decide whether we build it at all.

Two things you should know before you apply.

First, this is a paid partnership, not a free trial. You are paying to help shape something early.

Second, the whole price is on this page. Nothing new appears on the call. We walk through it together. The same day, we send you one page with the numbers for your seat count, the terms, who decides, and by when.

When the three spots are filled, the founding cohort closes.

11

The price

Founding partner Standard
First year $22,500 $30,000
First 90 days $4,500 $6,000
Seats 5 5
One more seat $1,125 $1,500
Five more seats $4,500 $6,000
Twenty more seats $15,000 $20,000
Renewal Rises at most 5% a year That year's list price

How the price works

You can start with 90 days: $4,500 as a founding partner, $6,000 standard. Before it starts, we write down what WAVE has to do for you. If it does that, what you already paid counts toward the first year, and you pay the rest.

The 90 days are for the 5 seats in the base package. If you want more seats, or you would rather not do the 90 days, you pay the whole first year up front.

A seat is one engineer on one machine. Twelve months.

You buy one version of WAVE. That version is supported for three years. After that it stops getting support, and your renewal price stops going up.

Founding partners get four 30-minute calls with us a month, and a say in what gets built next. In return, two feedback sessions a month. That is per partner. Buying more seats does not buy more of our time.

Standard gets email support, answered the next working day.

Founding partners always pay 25% less than the standard price on new major releases.

There are three founding spots. Anyone can buy at the standard price at any time. Once the three are gone, standard is the only choice.

How the 90 days work

The 90 days are a paid start. You pick one workflow that matters to you, and WAVE has to prove it handles that workflow. We write down the criteria first: what WAVE has to do. We both sign that as a separate agreement.

What you pay counts in full toward the first year. If WAVE does not meet the criteria, nothing more is due. The criteria never change the price.

It costs you time. We need sessions to agree on the criteria, and more during the 90 days. It does not suit everyone.

The 90 days are only for the 5 seats in the base package. They are optional too: you can pay the first year up front instead.

12

Questions people ask before they buy.

The ones that come up before a first call, answered here so you do not have to ask.

What WAVE is

What is WAVE, exactly?

WAVE is test automation for the systems behind your product: its APIs, its servers, its databases. You build a test by dragging blocks onto a canvas. You run it with breakpoints, the way you debug code. After that the same test runs again every release. WAVE runs on your own machine, on your own network.

Do I need to write code to use it?

No. A test is a diagram. Anyone who opens it sees the blocks and the order they run in, with no code to read. There are Python and shell blocks for the parts where you do want code, and you pass values into them and take values back out.

How is this different from writing tests in pytest, Playwright or Robot Framework?

Those are frameworks you write tests in, and they work. The difference is how much you have to build before you get anything back. With a framework you learn it, write the glue code, then keep that code working as your product changes.

In WAVE the test is a diagram on a canvas, and you run one block at a time while you build it. You can automate one test in the release you are working on now and leave the rest by hand. There is no migration to schedule.

Playwright also drives a browser, which WAVE does not do at all. WAVE tests the systems behind the screens.

Is this Postman with a flowchart, or just another workflow tool?

No. Two things are different. One test reaches several systems in the same run: an HTTP call, then a command on a server over SSH, then a query against a database, passing values along as it goes. And it has a debugger, so you can stop a run in the middle and change what it is holding.

What it does

What systems can WAVE reach today?

HTTP and HTTPS APIs. Linux servers over SSH, directly or through any number of jump hosts. Kubernetes, SQL databases, OpenSearch and SFTP. Files, including CSV and Excel. Ping, and a TCP or UDP port check. One test can reach several of these in the same run.

For anything that does not have its own block, use a Python or shell block. The whole list is on the features page. If you need a system that is not on it, tell us before you buy.

Can I debug a test while it is running?

Yes. Set a breakpoint before the run or while it is running. When the run stops there you can look at any value it is holding and change it before carrying on. You can step over a block, step into it, skip one, or continue. You can also run a single block on its own, or start the run at any block and carry on from there.

What does a run leave behind, and would an auditor accept it?

Every run has a report. It shows what ran, what passed, what failed, how long each block took, who started the run, and the full log. You export it as one HTML file that opens in any browser without WAVE, or as JSON for another tool to read. Any files the run wrote are saved with the run. The finished run stays as a read-only snapshot you can reopen and walk through block by block.

Whether that satisfies your auditor is a question for your auditor. We can tell you what is in the report. We cannot tell you what your auditor will accept.

Does WAVE replace our CI, or run inside it?

WAVE does not replace your CI. A run starts in three ways: from the lists of tests, suites and regressions; from a test you have open; or through a REST API. Your CI uses the REST API to start a run and read the result.

Does WAVE need AI, and does anything I write go to a model?

No, and no. WAVE has no AI model inside it and it never calls one. Nothing you build or run is sent anywhere by WAVE.

There is one AI part, and it is off until you turn it on: an MCP server that your own AI assistant connects to. You choose whether it listens on your machine only or on your network, and whether it asks for a username and password. The assistant is yours, and it runs where you install it. Leave the server off and none of this applies.

Whether it fits you

What does WAVE not do?

Three things. Browser and user interface testing: WAVE tests the systems behind the screens, so if the work is clicking through a web app, WAVE is the wrong tool. Load and performance testing: there is no block for it, and nothing in WAVE measures how much traffic a system can take. And there is no cloud version: nothing to sign up for, and nothing of yours on our machines.

Who should not use WAVE?

If testing by hand is not a heavy, repeating burden for your team, WAVE will not help much, and we will tell you so. The same goes if the automation you have today works and your team uses it. WAVE is for teams that ship an integration-heavy backend system, test it by hand today, and lose money when a release date slips.

How long before we have our first automated test?

It depends on one thing, and you can check it yourself: whether WAVE already reaches every system your first test has to touch. The features page lists what it reaches. If they are all there, there is nothing to build first. You put the blocks on the canvas and run it.

If one is missing, that is what the paid 90 day start is for. We agree in writing what WAVE has to do, and we build what is missing inside those 90 days.

We are a team of four. Can we all use it today?

Yes. Both packages include five seats. A seat is one named engineer on one machine, for twelve months, and each engineer installs WAVE on their own machine.

Tests are stored as plain text files in a directory you choose, so you can keep them in version control. A change to a test shows up as readable text. You can also export tests, suites and test data on one machine and import them on another.

The step after file storage is a shared server on your own hardware, so tests and run history sit in one place. It is not built yet, and it is not a fixed plan.

Can you build the tests for us?

Yes, as separate paid work, remote or on site. It is not part of a seat and not part of the founding partner sessions. Ask for a quote.

Your data and your network

Does any of our data leave our environment?

No. WAVE runs on your own machine, on your own network. There is no account to create and no license server to call. No telemetry and no update check. Every connection out is one your test opened, to an address you set.

You do not have to take that on trust. Block outbound traffic from the machine and run your tests. Your tests, credentials, hosts, results and reports stay where they are.

The one thing that can leave is a debug trace, and only if you send it. You choose what goes in it, and you can report a bug without sending one.

Does it work with no internet at all?

Yes. Nothing in WAVE needs the internet: no account, no license server, no update check. It works on a network with no internet connection at all.

Where do secrets live, and what protects them?

Mark a variable as secret and WAVE masks it everywhere it appears: in logs, in reports and on screen. It is encrypted when it is saved, including inside the test files on your disk.

There is one case to watch. When you export a profile you choose whether its secrets go out masked, still encrypted, or in plain text. Masked is the default. Plain text only happens if you pick it.

Price, terms and risk

What does it cost?

$30,000 a year, or $22,500 as a founding partner. Both include five seats for twelve months. Extra seats are $1,500 a seat, $6,000 for five, $20,000 for twenty. A founding partner pays $1,125 a seat, $4,500 for five seats, $15,000 for twenty.

At five seats you can pay for the first 90 days instead of the first year: $6,000, or $4,500 as a founding partner. What you pay counts in full toward the first year. Ask for more than five seats, or skip the 90 days, and the first year is paid up front.

Renewal for a founding partner goes up by no more than 5% a year while your version of WAVE is supported. After that it stops going up. Standard renewal is the list price in the year you renew.

Is there a free trial?

No. You can pay for the first 90 days instead of the first year: $6,000, or $4,500 as a founding partner, at five seats.

You pick one workflow that matters to you. Before the 90 days start, we write down what WAVE has to do with it, and we both sign that. What you pay counts in full toward the first year. If WAVE does not meet the criteria, you pay nothing more. The criteria never change the price.

It costs you time: sessions to agree the criteria, and more during the 90 days. Those sessions end when the 90 days end.

Can I see it running before I pay anything?

Yes, on a call. There is a video tour on this page. It is a recording of the product. Past that, we walk you through it and run your own scenario rather than a demo script.

There is no download to try. WAVE is early, and the first hour needs someone there to answer questions. The 90 days are how you run it yourself, on your own machines, on a workflow you pick.

What do the three founding spots commit me to?

Twelve months from acceptance, invoiced annually, bank transfer, net 30. You give two structured feedback sessions a month. You get four 30-minute calls with us a month and a say in what gets built next. That is per partner: buying more seats does not buy more of our time.

Your name is used publicly only after the acceptance criteria are met, and only with your separate written approval.

What if we are not one of the three?

You buy at the standard price, at any time. Same product, same five seats, same twelve months. What changes: $30,000 instead of $22,500, email support answered the next working day instead of four calls a month with us, and renewal at the list price in the year you renew instead of the 5% cap.

Once the three spots are gone, standard is the only choice. If you are not applying for a spot, there is a second button under the apply button. It asks five questions and shows you the price for your seat count before you send anything. We reply within three business days with that price in writing.

What am I licensed to do, and what happens if I stop paying?

A seat is one named engineer on one machine, for twelve months. The license file is signed and tied to the hardware of the machine it is installed on. Move the engineer to another machine and we reissue the license. The same seat never runs on two machines at once.

The license names one version of WAVE, and that version is supported for three years. After that it stops getting support, your renewal price stops going up, and the license keeps running. Moving to a newer version is a new purchase: 20% off its list price while your own version is still supported, and a founding partner pays 25% less, with no time limit.

If you stop paying, you stop using it.

What happens to our tests if TrueByte stops existing?

Your tests are plain text files in a directory you chose, on your own disk, and they stay readable without WAVE. Your reports export as HTML files that open in any browser without WAVE. None of that depends on TrueByte.

Every quote includes source-code escrow as an option, which you pay for. That is what covers you if TrueByte stops operating for good.

What happens when you are not available?

There is a response time you can hold us to. Standard support is email, answered the next working day. A founding partner has four 30-minute calls with us a month. And the source-code escrow on your quote covers TrueByte stopping for good.

Founding partner application

Apply for one of three founding partner spots

Eleven questions, one screen. The long one is the one that matters, and it is the one we read first. A person reads every application.

This goes straight to TrueByte. No form service, no tracker, no third party in between.

Please add your name.

Please add the company you work for.

Please add an address we can reply to.

Please pick the closest role.

A sentence or two here, please. It is the one field the call depends on.

How many engineers would use this? Required

Please pick the closest number.

What do your tests touch? Optional Search and pick as many as apply. If something is missing, add it under Other. This is how we learn what to build next, so it is worth being generous here.

Can you run software on your own machines without a procurement cycle? Required

Please pick one.

This is a paid partnership. Can you approve or sponsor the spend? Required

Please pick one.

Read what happens to this in the privacy note. Nothing is recorded until you press send.

Standard license request

Ask for the standard license price

Five questions, one screen. You see the price for your seat count before you send anything.

This goes straight to TrueByte. No form service, no tracker, no third party in between.

Please add your name.

Please add the company you work for.

Please add an address we can reply to.

What do your tests touch? Optional Search and pick as many as apply. It tells us what to write about when we reply.

Please enter a whole number of seats.

Read what happens to this in the privacy note. Nothing is recorded until you press send.

Privacy note

Reading the privacy note...