← ALL PATCH NOTES

The Sauce enters the arena

v0.7.0 New

Digging through an old build of the original prospecting tool, we found a signal feed we had completely forgotten we wrote. It was too good to leave buried, so it got ported into the CRM and polished up.

  • A rotating feed of markets, tech, and prospect alerts with a live stock ticker. Open it before your first dial.
  • Live public-filings and news-wire alerts on the companies already in your pipeline.
  • Agent Hub ships: every agent on one page instead of scattered across the sidebar.
  • Demo seed data is dead everywhere. If it renders, it is your pipeline.
THE BUILD LOG

We deleted the feature and the deletion outlived it by three months

The Sauce shipped as a custom signal builder, lasted three days, and was removed by a line of code that then ran on every server restart until August.

The Sauce is the part of the product that tells you something happened. A company filed with the regulator. Somebody got funded, sued, promoted, acquired. It is the reason to call today rather than next quarter, and it has been in this product in some form since the first weekend, when it appeared in a commit subject as "buy signals."

On 2026-05-13 it got ambitious. A rename, an agent hub, and a custom signal builder: an interface where you could define your own signals, save them, and have the system watch for them. Tables were created to hold them. There was a badge for it, called Catalyst Builder, awarded for creating five custom signals. There was a daily quest that asked you to add five prospects from your signals. There was a public API endpoint, and a token scope to authorise it.

Three days later it was gone.

The commit that removed it, on 2026-05-16 at 22:17, carries the changelog line that I think is the single best sentence in this project's history: "We tried The Sauce as a custom signal builder. It was too much UI for the job. It's back to what it was: a rotating feed of markets, tech, and prospect alerts, plus a live stock ticker."

(That ticker has its own ending, about three months later, and it is not a happy one either.)

Too much UI for the job. That is the whole diagnosis in six words.

What "too much UI" actually means

The custom builder was not badly made. The problem is that it required the user to already know what they were looking for.

To define a signal, you have to specify a condition. To specify a useful condition you need a hypothesis about which observable events precede a company being ready to buy from you. And here is the thing: almost nobody has that hypothesis, including people who are very good at sales. What good sellers have is a fast reaction to something interesting once they see it. That is a different cognitive act. Recognition, not specification.

So the builder asked its users for the one input they did not have, and in exchange offered them the ability to automate a judgement they were making intuitively in half a second anyway. It was a form standing between a seller and a feed, charging a setup fee in attention.

The rotating feed asks nothing. You look at it, something catches your eye, you act. It is strictly worse as an engineering artefact and enormously better as a product, and the only way to find that out was to build the good version and watch nobody want it.

The teardown was thorough. The template lost 596 lines and gained 329. The public signals endpoint and its token scope were deleted, which is a real cost: an API surface that existed for three days and may have been integrated against by somebody. The badge definition was deleted, because an achievement for using a feature that no longer exists is a small piece of archaeology nobody needs. The daily quest was rewritten from "add five prospects from your signals" to "add five net-new prospects," which is the same quest with the dead dependency removed.

The deletion that would not stop

To clean up the database, the commit added three lines to the application's startup routine. Drop the signal runs table, drop the saved signals table, drop the definitions table, children before parents so the foreign keys resolve. There is even a courteous comment above them explaining that The Sauce reverted from a builder to a feed on 2026-05-15.

The startup routine runs on every server start.

So those three table drops executed on 2026-05-16, and then again on the next deploy, and the one after that, and on every crash restart and every worker recycle, continuously, for almost three months. They were still running in August. The feature they were cleaning up after had been dead since May and its funeral was being held several times a day.

They were harmless, in the narrow sense that the tables were already gone and dropping a table that does not exist does nothing. The genuine danger was subtler and we did not spot it until much later: if anyone had ever tried to bring one of those tables back, for any reason, it would have vanished on the next restart with no error anywhere, and the person debugging that would have had a memorably bad week.

This is what a temporary cleanup looks like when it is written inside a function that runs forever. It was correct on 2026-05-16. It was correct in exactly the way a note-to-self is correct, and then it kept being executed by a machine that does not read comments.

That line, and five others like it accumulated over the following months, were finally retired in August when the project got a real migration system. The story of that cleanup is its own entry, and this commit is where its first item was born.

There is a smaller footnote worth having. The same commit reports a diff of over nineteen thousand lines changed, which is an alarming number for what is mostly a feature removal. Nearly all of it is not real. The main application file had its line endings converted from Windows to Unix in the same commit, so every one of its seventeen thousand lines registers as changed. Ask git to ignore whitespace and about eighty-nine percent of that diff evaporates.

I mention it because if you ever go through this history yourself, that commit will look like the biggest thing that happened in May, and it is not. It is a feature being deleted and a text file learning what operating system it lives on.

The honest accounting, for anyone checking: ignore whitespace and line endings and the commit is 2,580 lines added against 1,436 removed across those 42 files. The single largest real change inside it is the main application file, at 71 added and 635 removed, and most of the rest is handoff documents written the same week.

The Sauce is still a rotating feed. It is still free on every tier. Nobody has asked for the builder back.

— DealArena Team