We had built a model that could read curves off a scanned paper well-log, and we were about to make the most common mistake a technical team makes with a working model: assume we knew what to build next. What stopped us was not discipline. It was three letters of intent, signed by three buyers who wanted the same model wrapped in three almost incompatible products. Reading those letters side by side, instead of reading our own roadmap, is the closest thing to a turning point this engagement had. This is the account of what the three letters agreed on, what they did not, and how that disagreement told us exactly where to spend.
Three signatures, three different companies
A letter of intent is a strange artifact. It is not a contract and it is not a sale, but it is more honest than either, because the person signing it is describing the product they would actually pay for rather than the product a survey says they admire. We had three of them for the digitiser, and the only thing the signers shared was a wall of scanned logs they could not query.
The first came from a small exploration group: a handful of geoscientists who wanted to turn their own filing cabinet of scanned logs into something a laptop could read. The second came from a private-equity firm that held a portfolio of producing assets and wanted to digitise across every operator it owned, with the audit trail a financial holder needs to trust a number it did not generate. The third came from a national oil company, which wanted the same curve-reading model but behind its own firewall, in its own theme, wired into a stack it would never expose to us. Same model at the core. Three different companies around it.
The question we set out to answer
The constraint we were under was the ordinary one for a small team: we could build a few things well or many things badly. The accelerated programme behind the model was already running six engineers hard, and every capability we added to the product wrapper was an engineer not spent on the curve extraction itself. So the question was not what the buyers wanted in the abstract. It was narrower and more useful: which capabilities did enough of these letters demand that building them was buying revenue, and which did a single letter want so specifically that building them was building bespoke software for one customer and calling it a roadmap.
We had a price to reason against. The plan put the product at 1,200 USD per seat per year, a number that only works at volume, which meant the capabilities worth building were the ones that widened the seat count rather than deepening a single account. Koroteev and Tekic, in their survey of AI across the upstream, make the point that an upstream tool's value is gated less by its sophistication than by whether it reaches the workflow it is meant to serve.1 For a per-seat product that translates directly: a capability is worth building in proportion to how many seats it unlocks, not how clever it is.
How we actually read the letters
We did the unglamorous thing. We listed every capability any letter asked for, then marked which of the three letters named each one, and we refused to weight a capability by how strongly any single buyer argued for it. A national oil company will argue very persuasively for on-prem deployment and a white-labelled interface, because for that buyer those are non-negotiable. But persuasiveness is not market signal. The market signal is the count of independent buyers who arrived at the same demand without coordinating, and on that measure the letters sorted themselves into three tiers almost immediately.
At the top sat the capabilities all three signed for: curve-to-CSV export, batch runs across an archive, and a confidence-and-QC review step so a human could trust the output. Every one of the three buyers, with nothing in common but the problem, independently asked for those. That is as clear a table-stakes signal as a young product gets. In the middle sat capabilities two of three wanted, like per-seat self-serve access and an API into the buyer's own stack, real but not universal. At the bottom sat the demands a single letter made: on-prem deployment, an audit-and-lineage trail strong enough for a financial holder, and a white-label theme. Each of those was a hard requirement for exactly one buyer and a non-event for the other two.
The temptation in that bottom tier is enormous, because the buyers asking for it are the largest and the loudest. The national oil company's letter was the most prestigious of the three, and it was the one asking for the most product we did not have. Saying yes to all of it would have meant pointing most of the team at the needs of a single account whose seat count, however impressive the logo, was capped by definition.
What the grid showed us
We built the mapping into a single exhibit so we could argue from it rather than from memory. Each capability is a row, each signed letter a column, and a cell lights when that buyer's letter named that capability. The brighter a row, the more of the three asked for it. The footer re-weights every lit capability by the per-seat price, discounted to the serviceable slice of the market, so the bar reads in the only currency that matters for a per-seat product: how much addressable seat-value a capability actually unlocks.
The grid made the tiering impossible to argue with. Filter to the national oil company alone and the bottom-tier rows light up, the on-prem and white-label and lineage demands that look, in isolation, like the most serious requirements in the building. Switch to all three letters and those same rows go dim relative to the three rows every buyer shares, because the weighting rewards demands that recur across independent buyers and discounts demands that live inside one account. The capabilities that survive the switch to all-three are the ones worth pointing the team at. The shared three rows are the product. The lone rows are options.
There is a market reason the weighting is built the way it is. The whole oil and gas transactions market the plan addressed was framed at roughly 134B USD, of which the serviceable software slice was about 6.7B USD, a small fraction of the headline.2 A capability that only one buyer wants is, almost by construction, a capability scoped to a sliver of an already-thin serviceable market. Weighting demands by how broadly the letters shared them is just the product-level expression of building toward the serviceable market rather than the addressable fantasy.
Before
Read each letter on its own terms
The national oil company's letter is the most prestigious and asks for the most product we lack: on-prem, white-label, deep lineage. Build to it and most of the team serves one capped-seat account.
After
Read the three letters as one signal
Only curve-to-CSV, batch runs and confidence QC recur across all three independent buyers. Build those first and every seat the product can ever sell is served by the same core.
The overlap, not the loudest letter, is the roadmap
What the three signatures rearranged
The lasting effect of those three letters was not a feature list. It was a rule for spending attention. We shipped the shared three first, curve-to-CSV, batch, and confidence-gated review, because those three rows were the product every buyer had independently described, and a seat sold to any of the three would land on the same core. Per-seat self-serve and the API came next, in the middle tier where two of three letters agreed. The single-buyer demands did not get dropped, but they got reclassified honestly: not roadmap, but the scope of a specific deal with the specific buyer who needed them, priced and staffed as such rather than smuggled into the product under the cover of a prestigious logo.
What the letters really corrected was a bias we did not know we had. Left to our own instincts, we would have built toward the most sophisticated buyer, because the most sophisticated buyer asks the most interesting questions, and interesting questions are seductive to engineers. The three signatures, read together, told us that the interesting questions were the narrow ones and the boring questions were the broad ones. A product young enough to be deciding what it is should build the boring overlap first and treat the interesting edges as deals, not destiny. We learned that from buyers who never met each other and who, without meaning to, voted three times for the same short list.
What the three letters of intent settled
- Three independent buyers (a small exploration group, a private-equity asset holder, a national oil company) signed letters of intent for the same curve-reading model wrapped in three almost incompatible products. The only honest market signal was the count of letters that named a capability without coordinating, not how forcefully any single buyer argued for it.
- Exactly three capabilities recurred across all three letters: curve-to-CSV export, batch runs across an archive, and a confidence-and-QC review step. Those are table stakes and we shipped them first. Per-seat self-serve and an API split the middle (two of three). On-prem, deep lineage and white-label were each a single buyer's hard requirement and got reclassified as deal scope, not roadmap.
- At 1,200 USD per seat against a roughly 134B USD market whose serviceable slice was about 6.7B USD, a per-seat product earns by widening seat count, so a capability is worth building in proportion to how broadly the letters shared it. The most prestigious buyer asked for the most product we lacked and the least transferable seat value, which is exactly the trap reading the letters together let us avoid.
References
Footnotes
-
Koroteev, D. and Tekic, Z. Artificial intelligence in oil and gas upstream: Trends, challenges, and scenarios for the future. Energy and AI, 2021. The framing that an upstream tool's value is gated by whether it reaches the workflow it serves, which for a per-seat product means a capability earns in proportion to the seats it unlocks, draws on this survey. https://www.sciencedirect.com/journal/energy-and-ai ↩
-
The three letters of intent, the 1,200 USD per-seat annual price, and the market framing (roughly 134B USD total addressable, about 6.7B USD serviceable) are the engagement's own pitch and planning records. The buyer identities, the client, and personnel are anonymised under operator confidentiality, and the per-letter capability demands are reconstructed in the exhibit as a schematic consistent with what the three letters asked for. The underlying digitisation corpus drew on the public Texas Railroad Commission (Texas RRC) well-log dataset. https://www.rrc.texas.gov/ ↩