Build on Alpha SDKs — and the case for waiting until GA

About Will

I run a multi-site content operation on Claude and Notion with autonomous agents — and I write about what we do, including what breaks.

Connect on LinkedIn →

A Second Take on a working decision: whether a solo operator should build production-grade infrastructure on alpha SDKs, or wait for general availability. This is not a hypothetical. Yesterday a fleet of ten Notion Workers shipped in three hours on an alpha SDK — eight of them working end-to-end, two of them gated behind capabilities that have not been enabled. Today the question is whether that was leverage or whether that was a detour. Both cases get made here.


The Thesis from the First Take

The argument for building on alpha software is older than software itself. It is the argument every operator who ever shipped early made to themselves: the people who get to the new surface first do not just get there first. They shape what arrives. They become the reference customer. Their friction becomes the roadmap. The ones who wait until everything is polished are buying the polish someone else paid for — and giving up the position that polish makes invisible.

In the specific case of Notion Workers, the argument is even stronger. The SDK is free until August 11, 2026. The fleet built in one session validated four full capability shapes — tool, sync, sync-with-external-HTTP, and webhook with HMAC. The friction points discovered were specific enough to compile into a Slack-ready writeup to Notion’s product-ops team. The auth gotcha that cost four OAuth attempts at the start of the session is now a documented doctrine that any future operator on Windows-WSL will inherit for free. That is the trade you make on alpha. You pay in friction. You earn in surface knowledge and the right to be a voice in what gets built next.

There is a deeper version of this argument that matters more than the tactical one. Production infrastructure is not built by people who watch other people build production infrastructure. It is built by people who put their hands on the actual surface, find the actual edges, and develop the kind of tacit understanding that no documentation, however good, can transfer. Reading about how a Worker handles a webhook signature is different from having one fail at 11 PM because the secret was not pushed. That second experience is what gets called intuition later. It cannot be downloaded. It has to be earned.

The first take, then, is not really about Notion Workers at all. It is about the deeper claim that the people who learn the new surfaces first are the people who define what those surfaces are for. Everyone else inherits a category that was already decided.

And the Case for Waiting

Now the counter.

The same fleet of ten Workers that proved four capability shapes also revealed something that the celebration glosses over. Two of the ten — the automation Worker and the AI connector Worker — could not be tested at all. They deployed clean. The code is fine. The bundles are sitting in the Notion infrastructure. They do not run because the user account does not have alpha access to those specific capabilities. The fix is not a code change. The fix is a permission grant that has to come from inside Notion. Until that happens, two of the ten Workers are not Workers. They are receipts for work done that cannot ship.

That is the first hidden cost of alpha. The capability gates are not announced. They become visible only at the moment of attempted use, which is the most expensive moment to discover them. A solo operator’s time is the binding constraint of the entire operation. Spending it on bundles that cannot run because of an upstream permission is a worse trade than it looks on the surface.

The second hidden cost is the dispatch gap. The Workers SDK in its current state assumes a developer running commands from a laptop. The `–local` execution mode requires a WSL Ubuntu environment with the right environment variables exported, the right token loaded into the right config file, and a human being to type the command. There is no remote trigger surface available through the Notion MCP server. There is no scheduled execution that an external system can verify. There is no way for an AI assistant working from a mobile session to invoke a Worker, even one already deployed and working. The Workers exist. They can be triggered. But only from one specific laptop, by one specific human, sitting in front of it.

That gap turns out to matter more than any individual capability. The reason for building Workers in the first place was to remove the operator from the critical path of routine operations. If the operator still has to be physically present to start the Worker, the Worker has not removed the operator from the critical path. It has just changed the operator’s job from doing the work to invoking the thing that does the work. The leverage is real but smaller than advertised.

The third hidden cost is the one nobody talks about. It is the cost of being early on a surface that may never become widely adopted. Every hour spent learning the idiosyncrasies of an alpha SDK is an hour not spent on a surface with broader applicability. If Notion Workers become the standard automation pattern for the platform, the early learning compounds for years. If Notion deprioritizes the SDK, retires it quietly, or pivots to a different model — none of which are unlikely for an alpha product — that learning has a shelf life measured in months. The operator who waited for GA still has all of the time they did not spend on the deprecated surface. The early adopter has bills receivable in a currency that no longer trades.

The case for waiting, then, is not a case for timidity. It is a case for opportunity cost. Every alpha SDK is competing with every other thing that operator could have built in the same window. The question is not “is the alpha SDK valuable” — it usually is, in some narrow technical sense. The question is “is the alpha SDK more valuable than the next-best use of the same hours.” For a solo operator, that comparison is often unflattering to the alpha.

What the First Take Gets Right

The first take is correct that surface knowledge cannot be downloaded. The team that put hands on the alpha now knows things about how Notion Workers authenticate, how the schema module differs from the builder module, how the webhook HMAC pattern resolves, and how the capability registration phase fails in five different ways. None of this is in any document anyone has written. All of it will be implicit in every future architectural decision the operator makes about Notion as a platform. That is not nothing. That is a kind of capital.

The first take is also correct that the price of alpha is paid once, while the position earned can compound. The four OAuth attempts that cost an hour of frustration on Worker number two cost zero hours on Worker number three. The capability shape that took thirty minutes to validate the first time took twelve minutes the second time and would take five minutes the next time it appears. Learning curves are nonlinear in the operator’s favor. The cost is front-loaded. The return, if the surface survives, is durable.

And the first take is correct about something the counter-argument tends to miss: there is no neutral position. The operator who waits for GA is not pausing. They are doing something else with that time. If the something else is also valuable, the wait is rational. If the something else is consuming content about other people’s builds, the wait is just deferral dressed up as discipline.

What the Second Take Gets Right

The second take is correct that capability gates are real, that dispatch gaps are real, and that the operator’s time is the binding constraint on everything. None of those are abstract concerns. The two gated Workers from yesterday’s session are sitting in the infrastructure right now, doing exactly nothing, because a permission grant has not arrived. The eight working Workers cannot be triggered from anywhere except one specific laptop. The operator who wanted to invoke a Worker from a mobile session this morning could not.

The second take is also correct that the deeper question is opportunity cost. If the same three hours had gone to building a Cloud Run service that wrapped the same logic, the result would be a working dispatch surface that any system could invoke — Slack, Notion automations once they’re enabled, scheduled cron, a webhook, an AI assistant on a phone. That service would not have been blocked on alpha permissions. It would not have required a specific WSL environment to invoke. It would have been ready for use the moment it deployed. The Workers fleet is more capable per line of code than the equivalent Cloud Run service would be, but it is less invokable. For an operator whose problem is “I want this to run when I am not there,” the less-invokable solution is the worse solution, even if it is more elegant.

And the second take is correct that the rhetoric of “shaping the product” tends to flatter the early adopter beyond what the evidence supports. Most early adopters do not shape products. They use products that other early adopters shaped before them, and they generate friction reports that get triaged into a backlog that may or may not produce changes before the product changes direction. The reference customers who actually get heard tend to be the ones with the largest accounts, the most followers, or the deepest relationships with the product team. A solo operator is rarely any of those things. The Slack message to Notion’s product-ops team yesterday was a good message. Whether it produces changes in the SDK is a question whose answer is mostly out of the operator’s hands.

The Test That Decides It

Both takes are partially right, which is what makes the decision interesting rather than obvious. The test that decides between them, for any specific operator on any specific alpha SDK, is not whether the SDK is interesting or whether the friction is tolerable. It is a simpler test, and it is the only test that matters:

Does the alpha SDK shorten the path to a result the operator already wanted, or does it create a new path to a result the operator did not previously care about?

If the SDK shortens an existing path, alpha is leverage. The operator was going to solve the problem anyway. The alpha tool reduces the time and cost of solving it. The friction is just the friction of any new tool, and the early-mover advantage is real because the operator’s underlying intent was real.

If the SDK creates a new path to a new problem, alpha is a detour. The operator is now solving a problem the SDK suggested rather than a problem the business required. The friction is no longer in service of any pre-existing goal. The early-mover advantage is hypothetical because there is no business outcome the alpha is actually serving — only an interesting tool that happens to exist.

The Notion Workers case fails this test on the strict reading. The operator did not have an existing need to schedule recurring Notion automations. The Workers SDK suggested that need. The fleet was built to validate the SDK, not to solve a pre-existing operational problem. By the strict test, this is a detour.

But the strict test misses something. The operator did have an existing need — to remove themselves from the critical path of routine operations. That need pre-dated the SDK by years and survives the SDK if it gets retired. The Workers SDK was one possible tool to serve that need. Cloud Run was another. Notion’s own automations product was a third. The fleet built yesterday tested whether Workers was the right tool for the existing need. The answer, on the evidence, is: partially. Workers are excellent at the work itself. They are not yet good at the dispatch problem. That is useful information, and it was acquired in three hours at zero dollar cost.

By the strict test, the build was a detour. By the deeper test, it was a calibration run on a candidate tool for a real need. Both readings are defensible. The operator will know which is correct when the next decision arrives: whether to invest in the dispatch gap that would make Workers fully production-ready, or whether to redirect that investment toward a Cloud Run service that solves the dispatch problem natively. That decision is the verdict. Until it is made, the build is neither leverage nor detour. It is a question still open.

The Verdict

The verdict, for this specific case, leans toward continuation but with a different framing.

Notion Workers are not a production automation platform yet. They are a research investment in what a production automation platform on the Notion surface might look like. The eight working Workers are not deliverables. They are experimental rigs that produced specific knowledge about a specific surface. That knowledge is valuable independent of whether Workers ever become the standard pattern. It is also valuable independent of whether the operator continues to use Workers at all.

The right next move is not to abandon the Workers fleet. It is also not to keep building Workers as if the dispatch problem will solve itself. The right next move is to add a Cloud Run dispatcher — a small service that accepts authenticated POST requests and, internally, triggers the appropriate Worker. That dispatcher would close the dispatch gap immediately, would work for any future Worker without further integration, and would also work for any non-Worker job the operator wants to invoke from anywhere. It would cost less to build than the original Workers fleet because it would inherit all the lessons.

That move makes both takes correct. The first take wins on the claim that the alpha investment paid for itself in surface knowledge and capability shape validation. The second take wins on the claim that the dispatch gap is the binding constraint and that the path through Cloud Run is the better answer for that specific gap. Neither take is wrong. Both takes describe a real part of the trade.

The deeper lesson, if there is one, is that the question “should an operator build on alpha SDKs” is the wrong question. It is too general to answer. The right question is “does this specific alpha SDK shorten a path the operator already cares about, and what is the operator’s plan for the parts of the path the SDK does not yet cover.” If both halves of that question have answers, the alpha investment is rational. If either half is missing, the alpha investment is a detour wearing the costume of leverage.

For Notion Workers, the first half has an answer. The second half got its answer today. The Cloud Run dispatcher is the missing half. Once it is built, the fleet that looked like a possible waste yesterday becomes the foundation of something usable. That is the way alpha investments usually work, on the cases where they work. They look like a detour right up until the moment the missing piece arrives. Then they look like infrastructure.

And that, finally, is the second take. Not “wait for GA.” Not “always ship on alpha.” Something more specific: build on alpha when the SDK shortens a path you already care about, and when you have a plan for the parts of the path the SDK does not yet cover. If both conditions hold, alpha is leverage. If either fails, alpha is a detour. The Workers fleet is not yet a finished case. It is a case in progress, and the progress depends on what happens next, not what happened yesterday.

The original take ran here yesterday, in a different form, when a fleet of ten Workers was treated as proof that alpha investments pay off. This take argues that the proof is still pending — and names the move that converts the pending proof into a finished one.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *