37signals' bridge was 16 months long, the trigger was "product revenue covers expenses" (not "beats consulting"), and the analog breaks at the point that matters most for RDCO
The question
Verbatim: "Deep-dive the 37signals/Basecamp services-to-product transition: how they managed the cashflow bridge while the product leg was sub-scale, and the trigger to let the service leg fade — closest analog to RDCO's phData-funds-the-bets shape."
Raised as an open follow-up in [[2026-06-28-productized-consulting-scalable-anchor-transition]], which asserted that "RDCO's transition is not 'convert the consulting firm' — it's the 37signals shape." This brief tests that assertion against the primary record rather than restating it, and it partially fails the test.
What we already know (from the vault)
- The parent brief named 37signals as the canonical case and drew the parallel — services leg funds and de-risks, productized leg carries the recurring anchor — but never checked the bridge mechanics or the fade trigger, which is exactly where a structural analogy either holds or doesn't ([[2026-06-28-productized-consulting-scalable-anchor-transition]]).
- The founder's own corrected frame on the W2 leg is sharper than the parent brief's: phData is (a) the cash engine funding capital that compounds and (b) a sensor on enterprise deal flow that will surface an ownable niche. He explicitly rejected the "the skill compounds" story and stated his method for finding the next bet is to let a profitable niche emerge from cross-industry use-case work at phData ([[2026-06-15-owner-mindset-vs-w2-compounding-reflection]]).
- RDCO's binding constraint is demand generation, not capital, and there is no purchasable fix. The vault verified ~$260k genuinely idle and then found that every documented "buy demand" play requires a conversion surface that already converts — RDCO has three dormant demand assets and had zero RDCO revenue across five months of cover ([[2026-08-24-idle-capital-buying-demand-playbook]]).
- Cole's "portfolio of writing businesses" step is structurally identical to RDCO's current stack, and its economics argument runs the other way from a pure product bet: 2 clients at $5k/mo beats 66 units of a $150 product, so services fund products rather than being replaced by them ([[2026-08-13-ship30for30-writer-portfolio-100k-framework]]).
- Barry's account of the Basecamp playbook is already in the vault and it is a distribution story, not a product story: 37signals built 100k+ blog readers by teaching, so when they launched there was a pre-built audience and no advertising was needed ([[2026-04-04-authority-nathan-barry]]).
- Chin's "start from demand" test would push back hard on going full-time on a consulting posture before demand is proven — the same objection, arrived at from the career-moat side ([[2026-04-15-commoncog-career-moats-chapter-2-start-from-demand]]).
What the web says
- The overlap ran roughly 16 months, not years. Basecamp launched February 2004 with four people and a single web server. Within about 18 months Basecamp revenue exceeded the web-design revenue, and the team took its last client project in mid-2005 and never did another (Nira; Stacking the Bricks).
- The trigger condition, in Fried's own words, is a lower bar than the popular retelling. DHH, quoting Fried in a Signal v. Noise reader Q&A dated 16 Oct 2007: "We did client work until Basecamp revenue was able to support our expenses. Once that happened we stopped doing client work." Not "until product revenue beat consulting revenue" — until it covered the expense base (Signal v. Noise).
- The resourcing rule during the bridge is the single most portable mechanic in the record. Basecamp was treated internally as "essentially a third client" that "had to compete for resources on equal footing with other clients." The product leg got a defended allocation, not the residue of client work (Signal v. Noise).
- Basecamp was built to run their own client work. Fried: "we built Basecamp so we could handle our client work. It just turned out that Basecamp was the reason we stopped doing client work." He also states the whole thing "emerged one day at a time" — it was not a planned transition (Signal v. Noise).
- The bar they set was small and they cleared it almost instantly. The stated goal was
$5,000/month a year out ($60k/yr) as "a good thing going." They hit it in about six weeks, and had roughly 100 paying customers within a month of launch (Nira; Built In Chicago). - A second, non-financial trigger is stated openly and usually omitted: by 2005 the four-person team simply didn't like doing client work anymore. The fade was preference plus arithmetic, not arithmetic alone (Nira).
- The best-documented correction to the popular narrative: Amy Hoy, 6 Nov 2013, argues Basecamp was 37signals' third product, not its first — the E-Commerce Search Report ($99, January 2003) and the book Defensive Design for the Web (March 2004) preceded or paralleled it. The audience predates all of it (Design Not Found, 2001; the Signal v. Noise blog). During the bridge they ran fixed-price consulting packages and filled revenue gaps with workshops, ebooks and books while SaaS revenue built slowly, and they used Basecamp itself "as a competitive advantage to seduce consulting clients" (Stacking the Bricks).
- The expense base being cleared was tiny, which is the whole reason the trigger fired fast. By the time Getting Real was published (2006) the company reported five apps plus Rails shipped in two years with no outside funding, no debt, and seven people; the book's doctrine chapters are literally "Fund Yourself" (subtitle: outside money is plan B), "Stay Lean," and "Less Mass" (37signals / Getting Real).
- Not public, and I am not estimating them: 37signals' consulting revenue at the switch point; the dollar value of the "expenses" the trigger was measured against; Basecamp MRR on the day client work stopped; the identity or size of the final mid-2005 engagement; and any accounting of agencies that attempted the same bridge and stalled. Jason Fried's own Medium "origin story" post returned HTTP 403 and was not retried.
Convergences and contradictions
- Convergence: the vault and the primary record agree that the audience came first and it was the actual asset. Barry's account (100k+ readers before launch, zero advertising) and Hoy's (Design Not Found 2001, two products before Basecamp) are the same claim from two directions. This strengthens the demand-generation finding in [[2026-08-24-idle-capital-buying-demand-playbook]] and weakens the parent brief's framing: 37signals' hard part was solved three years before the bridge started, so citing them as a bridge case cites the easy half of their story.
- Contradiction with the parent brief's read. [[2026-06-28-productized-consulting-scalable-anchor-transition]] describes the shape as "let the services leg fund and de-risk while the productized leg carries the recurring anchor." The record says something narrower and stranger: the product was an artifact of doing the service work, built to run their own client projects, and it also functioned as a sales asset for the service leg. The two legs were mutually reinforcing, not merely sequenced. RDCO's four bets have no such relationship to phData.
- Contradiction on what the trigger measures. The retelling everyone repeats ("product revenue surpassed consulting") is true as a milestone but is not the stated trigger. Fried's trigger is expenses-covered, which fired at a materially lower revenue level than revenue-parity. This matters because the two framings produce completely different target numbers when transposed.
Synthesis for RDCO
Take the mechanics, not the mapping. Three things in the 37signals record are genuinely portable and one of them is close to free. First, the "third client" rule: during the bridge, the sub-scale product leg was given a named allocation that competed for resources on equal footing with paying work, rather than receiving whatever was left over after the clients were served. Second, the trigger is denominated in expenses, not in parity — they stopped when the product covered the cost of running the company, which is a bar an order of magnitude below "beats the service leg." Third, they did not wait for SaaS to carry it: workshops, a $99 report, and two books filled revenue gaps for years while the recurring line built. Read against RDCO's stack, that third point reframes MAC and Sanity Check — they are structurally the gap-fillers, the 37signals ebook-and-workshop tier, and they are probably being mis-scored whenever they get evaluated as though one of them were "the product."
The transposition that actually works for RDCO is not about phData at all — it is about allocation. The founder cannot run the "third client" rule the way 37signals did, because their scarce resource was four people's weeks and they controlled the client intake valve. His scarce resource is founder attention against a fixed W2 obligation with no partial dial. But RDCO has an asset 37signals did not: agent throughput. The one clean read-across is that the "third client" allocation should be denominated in agent-hours with a defended floor, not in founder-hours — a bet gets a standing, non-negotiable share of Ray's capacity that client-of-record work (phData prep, cert study, delivery) cannot preempt, in the same way Basecamp could not be preempted by whichever client shouted loudest. That is a scheduling decision, reversible, and it is the only recommendation in this brief I hold with real confidence.
Now the disanalogy, which is larger than the parallel. (1) 37signals' service leg was their own company's revenue: they set prices, chose clients, ran fixed-price packages, and could throttle intake continuously. phData is salaried employment at someone else's firm — binary, not throttleable, and the founder does not own the pricing or the client selection. There is no "take fewer clients this quarter" move available. (2) Their trigger cleared a four-person business expense base, cash they controlled; his equivalent trigger would have to clear a household base with a spouse's income, childcare, and a live build-versus-paid-off housing decision, which is a different arithmetic and a worse one. (3) Most importantly, Basecamp fell out of the service work itself. It was built to run their client projects, then sold to everyone with the same problem. Sanity Check, Squarely, Scribble Works and MAC are not tools built to do the phData job; none of them emerged from delivery pain. The mechanic that made 37signals work is not currently running at RDCO. (4) 37signals' second trigger was that they stopped enjoying client work; phData is the MAIN bet and a stated capability platform, so that trigger does not fire and should not be simulated.
The honest conclusion, and it cuts against the parent brief. The founder's own already-stated method — let a niche emerge from cross-industry use-case work at phData, with phData functioning as a sensor on enterprise deal flow ([[2026-06-15-owner-mindset-vs-w2-compounding-reflection]]) — is the 37signals mechanic, described correctly, and it predates this brief. The four current bets are not. So the useful version of "RDCO is the 37signals shape" is not the flattering one (services fund products, products eventually win); it is the demanding one: the bet that inherits the 37signals dynamic is the one that comes out of the delivery work and can be sold back to the people who have that same delivery problem. Everything else in the portfolio is the ebook-and-workshop tier, which is a legitimate and useful tier — 37signals ran it for years — but it is not the leg that ends a bridge. And the bridge question is premature regardless: 37signals entered their bridge with three years of audience and two shipped products behind them, while RDCO's verified binding constraint is that the demand assets are dormant. On the 37signals timeline, RDCO is at 2001-2002, not 2004. There is no fade trigger to design yet; there is a distribution problem that 37signals had already solved before the interesting part of their story began.
Why this is in the vault
It closes the specific open follow-up left by [[2026-06-28-productized-consulting-scalable-anchor-transition]] and corrects that brief's load-bearing claim — "RDCO's transition is the 37signals shape" — from a flattering structural parallel into a testable condition (the product must emerge from the delivery work), which changes how the pending Portfolio Scoring scorecard should weight Sanity Check, Squarely, Scribble Works and MAC against a phData-derived bet that does not yet exist.
Open follow-ups
- What is the base rate? Every source here is survivorship — 37signals is cited because it worked. Are there written post-mortems from agencies that ran the same clients-fund-the-product bridge and stalled, and what killed them (expense base, allocation discipline, or the product never emerging from the work)?
- Run the "third client" allocation rule as an actual experiment: what does a defended, non-preemptable agent-hour floor per bet look like in practice, and does throughput on a bet measurably change when it stops receiving residue capacity?
- Which phData delivery pains are candidates to become the 37signals-style artifact — i.e. what is Ray/RDCO already building to do the job that other people with that job would pay for? (This is the quiet CAF use-case ledger, promoted from a passive log to a scored screen.)
- Fried's trigger was denominated in expenses. What is RDCO's actual standalone expense base, and what monthly RDCO revenue would clear it? Not as an exit signal — as the self-sustaining-bets milestone that has never been named, given zero RDCO revenue across five months of cover.
- The 2013 Hoy correction says 37signals ran fixed-price consulting packages during the bridge. Is there a documented account of how those packages were scoped, and does the standardization-first move show up in other successful bridges or only this one?
Related
- [[2026-06-28-productized-consulting-scalable-anchor-transition]]
- [[2026-06-15-owner-mindset-vs-w2-compounding-reflection]]
- [[2026-08-24-idle-capital-buying-demand-playbook]]
- [[2026-04-04-authority-nathan-barry]]
- [[2026-08-13-ship30for30-writer-portfolio-100k-framework]]
- [[2026-04-15-commoncog-career-moats-chapter-2-start-from-demand]]
- [[2026-06-25-productize-framework-armstrong-vecteris]]
- [[2026-08-26-lex-fridman-dhh-future-of-programming]]
Sources
Vault:
- [[2026-06-28-productized-consulting-scalable-anchor-transition]] — the parent brief; the "RDCO is the 37signals shape" claim this brief tests
- [[2026-06-15-owner-mindset-vs-w2-compounding-reflection]] — founder's corrected frame: phData as cash engine + deal-flow sensor; niche should emerge from use-case work
- [[2026-08-24-idle-capital-buying-demand-playbook]] — demand generation as the verified binding constraint; dormant demand assets; no purchasable fix
- [[2026-04-04-authority-nathan-barry]] — 37signals built 100k+ blog readers by teaching before launching products
- [[2026-08-13-ship30for30-writer-portfolio-100k-framework]] — services-fund-products portfolio economics
- [[2026-04-15-commoncog-career-moats-chapter-2-start-from-demand]] — Chin's start-from-demand objection to a premature services posture
- [[2026-06-25-productize-framework-armstrong-vecteris]] — maturity ladder and the pending Portfolio Scoring scorecard this brief feeds
- [[2026-08-26-lex-fridman-dhh-future-of-programming]] — DHH primary-source context on 37signals' current operating practice
Web:
- https://signalvnoise.com/posts/650-ask-37signals-how-to-go-from-clients-to-products — DHH quoting Fried, 16 Oct 2007: the expenses-covered trigger, the "third client" resourcing rule, "we built Basecamp so we could handle our client work"
- https://stackingthebricks.com/37signals-isnt-mythical-youre-not-paying-attention/ — Amy Hoy, 6 Nov 2013: Basecamp was the third product; Design Not Found 2001; fixed-price consulting packages; workshops/ebooks as gap-fillers
- https://nira.com/basecamp-history/ — launch Feb 2004 with 4 people; ~$5k/mo goal hit in ~6 weeks; ~18mo to revenue crossover; last client project mid-2005; the "didn't like it anymore" trigger
- https://www.builtinchicago.org/articles/how-basecamp-grew-side-project-one-world-s-most-thriving-startups — ~100 paying customers within a month of launch
- https://books.37signals.com/8/getting-real/169/start-your-engines — Getting Real (2006): five apps + Rails in two years, no funding, no debt, seven people; "Fund Yourself" / "Stay Lean" / "Less Mass"
- https://medium.com/@jasonfried/basecamp-the-origin-story-f509fdd725f8 — not fetched, HTTP 403, not retried