<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Crucible</title><description>Crucible is a magazine about building startups — the severe test that forges founders, and the mix of people, money, and ideas that becomes a company. Practical writing on product, growth, operations, money, and the founder&apos;s mindset.</description><link>https://readcrucible.com</link><language>en-us</language><item><title>Why Substack, Beehiiv, and Buttondown won the newsletter wars</title><link>https://readcrucible.com/articles/why-substack-beehiiv-and-buttondown-won-the-newsletter-wars</link><guid isPermaLink="true">https://readcrucible.com/articles/why-substack-beehiiv-and-buttondown-won-the-newsletter-wars</guid><description>How three newsletter platforms beat Mailchimp by giving operators a writer&apos;s identity instead of a marketer&apos;s toolkit.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In 2020, Lenny Rachitsky made a move that, in hindsight, was the signal. He had been running Lenny&amp;#39;s Newsletter on Mailchimp for over a year, according to his own newsletter post. It worked fine. Mailchimp was reliable, feature-rich, and cheaper than most alternatives. But Rachitsky switched to Substack anyway, and his explanation was telling: Mailchimp was built for marketers, and he was a writer, as he wrote in his newsletter. The tool, however capable, projected an identity he did not want to wear.&lt;/p&gt;
&lt;p&gt;That moment captured something larger. Mailchimp did not lose the operator newsletter market on price or features. It lost on identity. The platforms that won, Substack, Beehiiv, and Buttondown, each understood that operators building newsletters wanted to feel like writers running a business, not marketers running a campaign. They won by giving that feeling a home.&lt;/p&gt;
&lt;h2&gt;The Mailchimp-era assumption and why it broke&lt;/h2&gt;
&lt;p&gt;Mailchimp was originally designed for marketing emails and e-commerce, according to general industry analysis. It was built for the person who sends a monthly newsletter because their boss told them to. Its language was the language of campaigns, segments, and click-through rates. For an operator building a newsletter as their primary product, that framing was a constant, low-grade insult.&lt;/p&gt;
&lt;p&gt;The problem was never that Mailchimp lacked features. It had plenty. The problem was that every interaction with the tool reminded the operator that they were being treated as a marketer. The dashboard was optimized for e-commerce metrics. The templates were designed for promotional blasts. The entire product assumed the newsletter was a means to an end, not the end itself.&lt;/p&gt;
&lt;p&gt;Rachitsky&amp;#39;s switch was not an outlier, as he documented in his newsletter. It was the leading edge of a migration that defined the next several years of the newsletter market. Operators wanted a tool that said &amp;quot;you are a writer&amp;quot; every time they logged in. Mailchimp could not say that, because it was not built to believe it.&lt;/p&gt;
&lt;h2&gt;Substack&amp;#39;s founder-publishing positioning&lt;/h2&gt;
&lt;p&gt;Substack was founded in 2017 by Chris Best, Hamish McKenzie, and Jairaj Sethi, according to Crunchbase. Its positioning was precise from the start: writers should own their relationship with their audience and run a business directly, rather than relying on ad-driven platforms, as stated on Substack&amp;#39;s blog. That framing was exactly what operators wanted to hear. It elevated the newsletter from a marketing channel to a publishing business.&lt;/p&gt;
&lt;p&gt;The model worked spectacularly for a certain kind of operator. Substack&amp;#39;s Top 25 list of paid newsletters shows a concentration in categories like politics, culture, and technology, with top earners making over $1 million annually, according to Substack&amp;#39;s blog. For a writer with a large audience in a high-traffic category, Substack was the obvious choice.&lt;/p&gt;
&lt;p&gt;But the same model revealed a ceiling for niche operators. If you were writing about, say, industrial supply chains or municipal zoning, the Substack ecosystem did not offer much help. The platform&amp;#39;s discovery features and social layer worked best for topics that already had large audiences. For the operator building a small, loyal readership in a narrow domain, Substack&amp;#39;s writer-as-business framing was aspirational but not always practical. The platform gave you the identity of a publisher without always giving you the tools to reach one.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The problem was never that Mailchimp lacked features. It was that every interaction with the tool reminded the operator they were being treated as a marketer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Beehiiv&amp;#39;s growth-tool positioning&lt;/h2&gt;
&lt;p&gt;Beehiiv was founded in 2021 by Tyler Denk, Benjamin Hargett, and Graham McNicoll, and raised $2.8 million in seed funding led by Greycroft, according to TechCrunch. Its positioning was the inverse of Substack&amp;#39;s. Where Substack said &amp;quot;you are a writer,&amp;quot; Beehiiv said &amp;quot;you are a business that happens to use a newsletter.&amp;quot;&lt;/p&gt;
&lt;p&gt;The platform&amp;#39;s growth-tool suite included referral programs, an ad network, and analytics, according to Beehiiv&amp;#39;s features page. These features were not afterthoughts. They were the product. Beehiiv explicitly targeted the operator who wanted to grow fast, who saw the newsletter as a scalable distribution channel, and who was comfortable thinking in terms of subscriber acquisition cost and conversion funnels.&lt;/p&gt;
&lt;p&gt;This positioning filled the gap Substack left open. For operators who prioritized growth over writer identity, Beehiiv was the better fit. The platform&amp;#39;s referral programs turned subscribers into a distribution channel. Its ad network monetized attention without requiring the operator to build a sales pipeline. Its analytics gave operators the numbers they needed to optimize.&lt;/p&gt;
&lt;p&gt;Beehiiv won by being honest about what it was. It did not pretend the newsletter was a literary endeavor. It treated it as a growth engine, and operators who wanted a growth engine chose it.&lt;/p&gt;
&lt;h2&gt;Buttondown&amp;#39;s quiet text-first positioning&lt;/h2&gt;
&lt;p&gt;Buttondown was founded by Justin Duke in 2016 as a side project, focusing on a simple, text-first email newsletter tool with Markdown support, according to Buttondown&amp;#39;s about page. Its founding story emphasized a quiet approach, with no venture capital funding and a focus on simplicity and reliability over rapid growth, as stated in the Buttondown Manifesto.&lt;/p&gt;
&lt;p&gt;Buttondown&amp;#39;s positioning was the anti-thesis of Beehiiv and the complement to Substack. It rejected the growth-at-all-costs framing entirely. Its manifesto explicitly stated that it was not trying to be a platform, not trying to raise money, and not trying to become the default for everyone, according to the Buttondown Manifesto. It was a tool for people who wanted to write and send email, nothing more and nothing less.&lt;/p&gt;
&lt;p&gt;This anti-growth stance was itself a growth strategy. It attracted operators who felt alienated by the business-framing of Substack and the growth-framing of Beehiiv. For the operator who wanted to write a weekly newsletter to 500 people without thinking about referral programs or ad networks, Buttondown was the obvious choice. Its Markdown support made writing feel like writing. Its simplicity meant the tool got out of the way.&lt;/p&gt;
&lt;p&gt;Buttondown won a loyal niche by being willing to stay small. It proved that there was a market for operators who valued writing over metrics, and that a platform could serve that market without chasing venture capital.&lt;/p&gt;
&lt;h2&gt;The platform that does not exist yet&lt;/h2&gt;
&lt;p&gt;Three platforms, three distinct positions. Substack gave operators a writer&amp;#39;s identity. Beehiiv gave them growth tools. Buttondown gave them simplicity. Each made a trade-off, and each trade-off attracted a specific kind of operator.&lt;/p&gt;
&lt;p&gt;The platform that does not exist yet would combine all three without forcing the trade-offs. It would give the operator the writer identity of Substack, the growth tools of Beehiiv, and the simplicity of Buttondown. It would treat the newsletter as both a creative endeavor and a scalable business, and it would not ask the operator to choose between the two.&lt;/p&gt;
&lt;p&gt;That platform would be hard to build. The three positions are in tension. Writer identity often resists growth optimization. Simplicity often resists feature expansion. But the tension is not unresolvable. A platform that started with simplicity, added growth tools as optional modules, and maintained a writer-first identity throughout would cover the full spectrum of operator needs.&lt;/p&gt;
&lt;p&gt;The gap is real. Someone will fill it. The question is whether they will be a new entrant or one of the existing three, willing to expand beyond their original positioning.&lt;/p&gt;
</content:encoded><category>Growth</category><category>newsletters</category><category>platforms</category><category>writing</category><category>growth-tools</category><category>operator-market</category><author>Crucible Editorial</author></item><item><title>The state of cold email in 2026: response rates by industry</title><link>https://readcrucible.com/articles/cold-email-2026-deepseek</link><guid isPermaLink="true">https://readcrucible.com/articles/cold-email-2026-deepseek</guid><description>Cold email response rates have dropped from 8-10% in 2019 to 1-3% in 2024-2025. Here is where they stand by industry, and what the best operators do differently.</description><pubDate>Wed, 27 May 2026 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The baseline has moved. Cold email response rates that justified outbound in 2019 no longer apply. The average has dropped from 8-10% in 2019 to 1-3% in 2024-2025, a decline driven by inbox saturation and algorithmic filtering, not just recipient fatigue, according to multiple vendor reports from Smartlead, Apollo, and Belkins. The operators still doing it have shifted from volume to research-per-send.&lt;/p&gt;
&lt;p&gt;This is not a death notice. It is a recalibration. The old volume playbook is self-defeating, and the data makes that clear. Understanding where response rates actually sit in 2026, by industry and by sending behavior, is the difference between a channel that works and one that quietly burns money.&lt;/p&gt;
&lt;h2&gt;The decline is not uniform&lt;/h2&gt;
&lt;p&gt;The 1-3% average masks a more useful distribution. According to Apollo&amp;#39;s 2024 cold email benchmark report, the average reply rate across all industries was 2.3%, with SaaS at 1.8% and services at 3.1%. Instantly&amp;#39;s 2024 data showed that accounts sending fewer than 50 emails per day per inbox had a 3.5% reply rate, while those sending 200+ per day dropped to 0.8%.&lt;/p&gt;
&lt;p&gt;The decline is a function of sending volume per inbox, not just industry. The more you send from a single inbox, the faster your domain reputation degrades, the harder the algorithmic filters hit, and the lower your response rate falls. The old playbook — more volume, more replies — is arithmetic. The inbox is not arithmetic. It is a system that penalizes the sender who does not respect its constraints.&lt;/p&gt;
&lt;h2&gt;Industry by industry: SaaS, services, and the enterprise floor&lt;/h2&gt;
&lt;p&gt;The gap between vendor benchmarks and operator self-reports is narrower than marketers claim. Most operators are near the floor. A 2024 Hacker News thread collecting self-reported rates from founders showed SaaS founders reporting 0.5-2%, B2B services 2-5%, and enterprise targeting 0.1-0.5%. These numbers align closely with Apollo&amp;#39;s vendor data. The gap between average and best-in-class is real but small. The operator who claims a 10% reply rate in 2026 is either lying, selling a course, or sending to a very narrow, pre-qualified list that is not representative.&lt;/p&gt;
&lt;p&gt;Enterprise targeting is the floor for a reason. The decision-maker is harder to reach, the inbox is more protected, and the buying process involves multiple stakeholders. A 0.1-0.5% reply rate means that for every thousand emails sent to enterprise contacts, you can expect one to five replies. That is not a channel failure. It is a numbers game with very bad numbers. The operator who goes into enterprise cold email expecting anything better is setting themselves up for a long, expensive disappointment.&lt;/p&gt;
&lt;h2&gt;The volume-versus-personalization frontier&lt;/h2&gt;
&lt;p&gt;The data from Instantly is the most actionable finding here. Sending fewer than 50 emails per day per inbox yields a 3.5% reply rate. Sending 200+ per day drops to 0.8%. The inflection point is somewhere between 50 and 100 emails per day per inbox, where the algorithmic filtering starts to bite harder than the personalization can compensate for.&lt;/p&gt;
&lt;p&gt;This is the volume-versus-personalization frontier. At low volumes, you can afford to research each prospect, write a genuinely specific opening line, and reference something real about their company or work. At high volumes, you cannot. The personalization becomes templated, the research becomes superficial, and the recipient can tell. The inbox can tell too. The algorithmic filters are trained on engagement signals. A personalized email that gets opened and replied to is a positive signal. A templated email that gets deleted unread is a negative one. The system learns.&lt;/p&gt;
&lt;p&gt;The practical implication is uncomfortable for anyone who learned outbound from the spray-and-pray playbooks still taught in many sales programs. The marginal return of an additional send is negative at high volumes. You are better off sending 50 well-researched emails than 200 mediocre ones. The math is not close.&lt;/p&gt;
&lt;h2&gt;Tooling: what the data says about what wins&lt;/h2&gt;
&lt;p&gt;The tooling debate is a distraction. Instantly, Smartlead, Apollo, lemlist — they all do roughly the same thing. They rotate inboxes, manage warmup, and provide analytics. The tool that enforces low-volume, high-personalization workflows will correlate with higher reply rates. The tool that defaults to high-volume, low-personalization workflows will correlate with lower ones. The data from Instantly is not a recommendation for Instantly. It is a recommendation for the sending discipline that Instantly&amp;#39;s defaults happen to support.&lt;/p&gt;
&lt;p&gt;The real question is not which tool to use. It is which tool&amp;#39;s defaults align with the volume-personalization frontier. If a tool defaults to sending 200 emails per day per inbox, it is working against you. If it defaults to 50 or fewer, it is working with you. The operator who blames the tool for low reply rates is missing the point. The tool is a multiplier. The sending discipline is the base.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The marginal return of an additional send is negative at high volumes. You are better off sending 50 well-researched emails than 200 mediocre ones.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;The legal layer: GDPR, CAN-SPAM, and the EU AI Act&lt;/h2&gt;
&lt;p&gt;Cold email compliance in 2026 requires navigating three overlapping regimes. The newest one adds a transparency layer that most tooling does not yet support.&lt;/p&gt;
&lt;p&gt;GDPR requires explicit consent or a documented legitimate interest for processing personal data in cold email campaigns, as per Article 6 of the regulation. The legitimate interest basis is often contested and must be supported by a balancing test. If you are sending to a list scraped from LinkedIn or a purchased database, you almost certainly do not have legitimate interest. You have a liability.&lt;/p&gt;
&lt;p&gt;CAN-SPAM, the US regime, requires commercial emails to include a clear opt-out mechanism, accurate header information, and a valid physical postal address, according to the FTC&amp;#39;s compliance guide. Penalties can reach $50,120 per violation as of 2024. That is per email, not per campaign. A single blast of 1,000 emails without a valid opt-out is a potential $50 million exposure. In practice, the FTC goes after the worst offenders, but the theoretical ceiling is high enough that compliance is cheap insurance.&lt;/p&gt;
&lt;p&gt;The EU AI Act, effective August 2024, adds a novel layer. It classifies AI systems used for automated commercial messaging as limited risk under Title IV, requiring transparency disclosures when AI generates or personalizes cold emails at scale, per the regulation (EU) 2024/1689. If your tool uses an LLM to write the body of the email, or to personalize the opening line based on scraped data, you may need to disclose that. The regulation is new enough that enforcement is unclear, but the compliance gap is real. Most cold email tools do not yet support this disclosure. The operator who ignores it is taking a bet that the regulator will not look closely. That bet may hold for a while. It will not hold forever.&lt;/p&gt;
&lt;h2&gt;The honest summary&lt;/h2&gt;
&lt;p&gt;Cold email in 2026 is not dead. It is harder, more expensive per reply, and more legally exposed than it was in 2019. The operators still winning are the ones who treat it as a research channel, not a volume channel. They send fewer emails, research each prospect, and accept that the reply rate will be low. They comply with the legal regimes that apply to their market. They do not blame the tool.&lt;/p&gt;
&lt;p&gt;The baseline has moved. The operators who have moved with it are the ones still sending.&lt;/p&gt;
</content:encoded><category>Growth</category><category>cold-email</category><category>outbound</category><category>saas</category><category>b2b</category><category>sales</category><author>Crucible Editorial</author></item><item><title>The first regrettable hire: a pattern study</title><link>https://readcrucible.com/articles/the-first-regrettable-hire-a-pattern-study</link><guid isPermaLink="true">https://readcrucible.com/articles/the-first-regrettable-hire-a-pattern-study</guid><description>Founders&apos; first regrettable hire follows a predictable shape. A pattern study drawn from startup literature and founder interviews.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The story is always the same. A founder, six to eighteen months in, feeling the strain of doing everything themselves. They make their first senior hire. A VP of Sales from a public company. A COO from a Fortune 500 firm. A VP of Engineering from Google. The resume is impeccable, the references glow, the title feels like proof that the company is becoming real. Within six months, the hire has either quit, been fired, or is quietly costing the company more than anyone wants to admit.&lt;/p&gt;
&lt;p&gt;This is not a run of bad luck. It is a structural pattern, documented across enough founder interviews and startup literature that it deserves a name: the first regrettable hire. Ben Horowitz described it in &lt;em&gt;The Hard Thing About Hard Things&lt;/em&gt; as the mistake of bringing in a &amp;quot;professional manager&amp;quot; from a large company before the startup has the structure that manager depends on. Marc Andreessen, in his Pmarca guide, warned that early hires should be generalists who can adapt, not specialists who expect established processes. Paul Graham listed hiring too fast and hiring people who are not a fit for the early-stage environment among the 18 mistakes that kill startups. The pattern is not anecdotal. It is structurally identical across sales, engineering, and operations, because the mismatch is systemic, not personal.&lt;/p&gt;
&lt;h2&gt;Why scaling hires fail at pre-scale companies&lt;/h2&gt;
&lt;p&gt;The failure looks different depending on the role, but the root cause is the same. The startup lacks the infrastructure the senior hire depends on to succeed.&lt;/p&gt;
&lt;p&gt;Stewart Butterfield, Slack&amp;#39;s co-founder, described on &lt;em&gt;How I Built This&lt;/em&gt; the regret of hiring a senior VP of Sales from a large company too early, someone who struggled with Slack&amp;#39;s product-led growth model because it did not match the playbook they had spent years perfecting. In an interview on &lt;em&gt;The Twenty Minute VC&lt;/em&gt;, a founder recounted hiring a COO from a Fortune 500 company who failed because the startup lacked the data and reporting infrastructure the COO relied on to make decisions. On &lt;em&gt;Lenny&amp;#39;s Podcast&lt;/em&gt;, a founder regretted hiring a VP of Engineering from Google who could not adapt to the absence of infrastructure and support at the startup.&lt;/p&gt;
&lt;p&gt;The missing infrastructure is not abstract. It is specific: no reporting systems to tell a COO what is happening in the business, no established workflows for a VP of Engineering to plug into, no delegated support to absorb the administrative overhead a senior hire expects to offload. A person who has spent ten years operating inside a machine with all its parts running smoothly is suddenly asked to build that machine from scratch, and they have never done it. The First Round Review&amp;#39;s guide to the first ten hires puts it plainly: do not hire for &amp;quot;scale&amp;quot; before achieving product-market fit. Early hires should be builders, not managers.&lt;/p&gt;
&lt;h2&gt;The signals founders missed before the hire&lt;/h2&gt;
&lt;p&gt;The missed signals are not about resume red flags. They are about the founder&amp;#39;s own cognitive biases.&lt;/p&gt;
&lt;p&gt;Founders overvalue credentials. A VP title from a recognizable company feels like a shortcut to legitimacy. It signals to investors, to the team, to the founder themselves, that the company has arrived. But the same credential that signals competence inside a large organization signals something else entirely inside a startup: a person who has never had to operate without a safety net.&lt;/p&gt;
&lt;p&gt;Andreessen argued that the first hires should be generalists who can adapt, not specialists from large companies who expect established processes. Graham warned that hiring people who are not a good fit for the early-stage environment, often from larger companies, is a mistake that kills startups. Butterfield&amp;#39;s regret with the Slack VP of Sales was not that the person was bad at their job. It was that the person was good at a different job, one that required a sales motion Slack did not have.&lt;/p&gt;
&lt;p&gt;The founder&amp;#39;s eagerness to delegate a problem they do not understand is the hidden signal. When a founder says, &amp;quot;I need someone to handle sales so I can focus on the product,&amp;quot; they are often saying, &amp;quot;I do not understand sales well enough to know what the right hire looks like.&amp;quot; The First Round Review&amp;#39;s advice is blunt: do not hire for scale before you have figured out the function yourself. The founder who has not personally done the job cannot evaluate whether a candidate can do it in the context of a startup.&lt;/p&gt;
&lt;h2&gt;What the successful version looks like&lt;/h2&gt;
&lt;p&gt;The successful alternative is not complicated. It is hiring a generalist builder who can operate without infrastructure, or delaying the hire until the founder has personally figured out the function.&lt;/p&gt;
&lt;p&gt;A generalist builder is someone who treats the lack of structure as an opportunity, not a deficiency. They have worked at a startup before, or they have built something from nothing inside a larger company. When you ask them how they will handle the absence of reporting data, they do not look confused. They describe how they will pull the data themselves. When you ask them about the lack of established workflows, they describe how they will build them, one week at a time. Andreessen&amp;#39;s generalist is not a compromise. It is the right tool for the job.&lt;/p&gt;
&lt;p&gt;The alternative is to delay the hire entirely. Graham&amp;#39;s advice against hiring too fast is not just about avoiding bad hires. It is about forcing the founder to understand the function well enough to manage it. A founder who has personally handled sales for eighteen months knows what the job actually requires. They can evaluate a candidate against reality, not against a job description they copied from a public company&amp;#39;s careers page. The First Round Review&amp;#39;s framework makes this explicit: do not hire for scale before product-market fit, because the person you need before fit is different from the person you need after.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The founder who has not personally done the job cannot evaluate whether a candidate can do it in the context of a startup.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;A practical pre-offer checklist for founders&lt;/h2&gt;
&lt;p&gt;The pattern is predictable enough that a founder can avoid it with three diagnostic questions, asked before the offer letter is drafted.&lt;/p&gt;
&lt;p&gt;First, has the candidate operated without infrastructure? Not in theory, not in a past role that was also at a large company. Have they built a reporting system from scratch? Have they managed a team without an HR department? Have they shipped a product without a QA team? If the answer is no, the risk is high. Horowitz&amp;#39;s warning about the professional manager who fails without the structure they are used to applies here.&lt;/p&gt;
&lt;p&gt;Second, does the founder understand the function well enough to manage it? This is the hard question. A founder who has never done sales cannot evaluate a VP of Sales. A founder who has never managed engineers cannot evaluate a VP of Engineering. The honest answer is often no, and the honest response is to delay the hire until the answer becomes yes. Andreessen&amp;#39;s generalist-first approach and Graham&amp;#39;s warning against hiring too fast both point to the same conclusion: the founder must know the job before they can hire for it.&lt;/p&gt;
&lt;p&gt;Third, has the company achieved product-market fit? If not, the hire is for scale that does not yet exist. The First Round Review&amp;#39;s framework is clear: before fit, hire builders. After fit, hire managers. The distinction is not about titles. It is about whether the company needs someone to build the machine or someone to run it.&lt;/p&gt;
&lt;p&gt;These three questions will not eliminate every bad hire. But they will eliminate the first regrettable hire, the one that follows the same shape every time. A founder, feeling the strain, reaches for a credential instead of a capability, and six months later they are back where they started, minus the severance and the morale. The pattern is documented, the signals are visible, and the alternative is a hire who treats the absence of everything as the starting point, not the problem.&lt;/p&gt;
</content:encoded><category>Operations</category><category>hiring</category><category>early-stage</category><category>team-building</category><category>pattern-study</category><author>Crucible Editorial</author></item><item><title>The hidden cost of &quot;small&quot; tech choices three years in</title><link>https://readcrucible.com/articles/regression-001</link><guid isPermaLink="true">https://readcrucible.com/articles/regression-001</guid><description>How Auth0, Algolia, and Stripe pricing changes and technical lock-in can cost startups months of engineering time and 15x price hikes.</description><pubDate>Tue, 26 May 2026 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Pick any early-stage startup and look at the vendor stack from year one. Auth0 for authentication. Algolia for search. Stripe for payments. SendGrid or Mailgun for transactional email. Each choice was obvious at the time: best developer experience, fastest integration, cheapest entry point. The team was moving fast, and these tools let them move faster.&lt;/p&gt;
&lt;p&gt;Three years later, that same stack is a trap. The team is spending months migrating off vendors whose pricing has multiplied, whose APIs have shifted, or whose architecture no longer fits. The time they spend on these migrations is time they cannot spend on product. Joel Spolsky described this dynamic in his essay &amp;quot;Fire and Motion,&amp;quot; published January 6, 2002 on joelonsoftware.com: competitors pin you down by forcing you to react to their changes instead of advancing your own work. What Spolsky did not fully anticipate is that your own vendors would pin you down just as effectively. The auth provider you chose for its five-line setup guide now owns your password hashes. As one Hacker News commenter observed in a 2021 thread on auth lock-in, passwords are hashed and the only way off without a mass password reset is a silent migration that can take months and will never reach 100% of users. The search provider with the generous startup credit now charges per-record fees that grow faster than your revenue, according to Algolia&amp;#39;s Grow plan pricing documented by Vendr. The payment processor whose 2.9% rate felt standard now takes 5.4% on international transactions with currency conversion, according to payment fee analysis published by CheckThat.ai.&lt;/p&gt;
&lt;p&gt;These are not failures of execution. They are failures of evaluation. Teams optimize for day-one developer experience and ignore exit cost entirely. By the time exit cost matters, it is too late to evaluate it objectively.&lt;/p&gt;
&lt;h2&gt;Three documented migrations and the actual person-months consumed&lt;/h2&gt;
&lt;p&gt;The engineering blog posts of successful companies are, read together, a catalog of this pattern. Notion, Figma, and Linear each undertook major infrastructure migrations driven by choices that seemed small at the start. The actual effort consumed months of engineering time and required complex, risky operations.&lt;/p&gt;
&lt;p&gt;Notion ran its entire product on a single Postgres monolith through five years and four orders of magnitude of growth, according to Notion&amp;#39;s engineering blog post &amp;quot;Herding elephants: lessons learned from sharding Postgres at Notion.&amp;quot; By mid-2020, that database was heavily strained. Engineers on-call routinely woke up to CPU spikes. Simple catalog-only migrations became unsafe because, as Notion&amp;#39;s own retrospective states, the team had to be very frugal with migrations lest they add even more load. The team&amp;#39;s explicit lesson was &amp;quot;Shard earlier.&amp;quot; The solution was a sharding project that moved data across 480 logical shards on 32 physical databases. The migration required a machine with 96 CPUs, an AWS m5.24xlarge instance, and took three days to complete, as documented in the same Notion engineering post. That was 2021. By 2022, the infrastructure was straining again. In July 2023, Notion published &amp;quot;The Great Re-shard,&amp;quot; describing how they expanded from 32 to 96 physical shards with zero downtime. According to a post-migration analysis published by chenten.me, CPU and IOPS utilization dropped from roughly 90% to around 20% during peak traffic after the project completed.&lt;/p&gt;
&lt;p&gt;Figma&amp;#39;s trajectory followed the same arc. In 2020, they ran a single Postgres database on AWS&amp;#39;s largest physical instance. By the end of 2022, they had built a distributed architecture with caching, read replicas, and a dozen vertically partitioned databases, as documented in Figma&amp;#39;s engineering blog post &amp;quot;How Figma&amp;#39;s Databases Team Lived to Tell the Scale.&amp;quot; The final vertical partitioning operation in October 2022 moved 50 tables and caused a 30-second period of partial availability impact, dropping about 2% of requests, according to Figma&amp;#39;s blog post &amp;quot;The growing pains of database architecture.&amp;quot; Figma considered horizontal sharding but ruled out backfilling large tables because, as the team noted in their engineering blog, the operation would have taken months given Postgres throughput constraints. Meanwhile, their legacy data synchronization pipeline, built in 2020 as a simple daily cron job, had by 2023 grown so unwieldy that daily tasks took around six hours, and the largest tables took several days. Maintaining extra database replicas to support daily exports resulted in millions of dollars in unnecessary costs every year, according to Figma&amp;#39;s blog post &amp;quot;From Multi-Day Latency to Near Real-Time Insights: Figma&amp;#39;s Data Pipeline Upgrade.&amp;quot; Notion&amp;#39;s data under management had grown 10x in just three years, according to a December 2023 presentation by Thomas Chow and Nathan Louie, software engineers on Notion&amp;#39;s Data Platform team, summarized by Onehouse.&lt;/p&gt;
&lt;p&gt;Linear&amp;#39;s migration was different in kind but similar in cost. They built multi-region support by extracting authentication into a global service and creating a Cloudflare Workers proxy to route requests to the correct regional deployment, as described in Linear&amp;#39;s engineering blog post &amp;quot;How we built multi-region support for Linear.&amp;quot; The project touched authentication logic, which the team explicitly noted is &amp;quot;always a sensitive part of any codebase.&amp;quot; It required three distinct phases: terraforming infrastructure, extracting authentication to a global service, and creating the routing proxy. The proxy layer queries the auth service on every request to determine workspace region and obtain a signed JWT before forwarding traffic.&lt;/p&gt;
&lt;p&gt;The common thread is not that these teams made bad choices. It is that each migration was not a single event but a multi-year sequence of escalating effort, with each phase more complex than the last. Notion sharded once, then re-sharded. Figma partitioned, then built a new data pipeline. Linear rebuilt their entire auth architecture. None of these projects were visible on the roadmap in year one.&lt;/p&gt;
&lt;h2&gt;Why teams over-index on day-one DX and under-index on exit cost&lt;/h2&gt;
&lt;p&gt;The pricing models of popular vendors create a &amp;quot;growth penalty&amp;quot; that can multiply costs dramatically with only modest user growth. Auth0 provides the clearest example. In late 2023, Auth0 implemented a 300% increase in overage costs for the B2C Essentials plan, jumping from $0.023 per monthly active user to $0.07 per MAU. Simultaneously, the base plan was adjusted from covering 1,000 MAUs for $23 per month to 500 MAUs for $35 per month, according to SSOJet&amp;#39;s analysis of Auth0 pricing. One company profiled by SSOJet experienced a 15.54x increase in their monthly Auth0 bill, from $240 to $3,729, after only a 1.67x growth in MAUs. Since Okta completed its acquisition of Auth0 in May 2021, most pricing adjustments have resulted in rate increases for enterprise and startup customers, according to Stytch&amp;#39;s analysis of Auth0&amp;#39;s 2024 pricing update.&lt;/p&gt;
&lt;p&gt;Algolia&amp;#39;s pricing creates a different but equally dangerous lock-in. Their Grow plan charges approximately $0.50 per 1,000 search requests and $0.40 per 1,000 records, according to Vendr&amp;#39;s pricing documentation. Enterprise contracts typically start in the $20,000 to $50,000 range for mid-market deployments. The startup credit program creates a timing trap: a pre-revenue startup that set up Algolia in summer 2024 and launched in January 2025 had used only about $300 of the $10,000 in startup credits, but lost the remaining credits because Algolia&amp;#39;s one-year clock starts at acceptance, not at product launch, according to a verified G2 reviewer. That reviewer concluded they were &amp;quot;locked in to paying Algolia&amp;#39;s expensive rates until we have the engineering bandwidth to switch.&amp;quot;&lt;/p&gt;
&lt;p&gt;Stripe&amp;#39;s pricing is more predictable but still carries hidden costs. The standard rate for online card transactions has remained 2.9% plus $0.30 per successful charge. But Stripe Billing&amp;#39;s fee increased from 0.5% to 0.7% of subscription volume effective July 10, 2024 for new customers, with existing customers grandfathered at 0.5% until June 30, 2025, according to Wingback&amp;#39;s analysis of the Stripe Billing price increase. The effective rate for international transactions with currency conversion can reach 5.4% plus $0.30 per transaction, an 86% cost increase over domestic processing, due to fee stacking: 2.9% base plus 1.5% international card fee plus 1.0% currency conversion, according to CheckThat.ai&amp;#39;s Stripe pricing analysis.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The time spent reacting to vendor pricing changes is time spent not advancing your product. That is the true cost of a &amp;quot;small&amp;quot; vendor choice.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The pattern is consistent. The pricing review cadence at a startup accelerates when revenue exposure crosses a meaningful threshold. But by then the technical debt of integration is already sunk. The cost of leaving is higher than the cost of staying, even when staying means accepting 300% price hikes. The auth provider cannot be left without a mass password reset because the passwords are hashed. As noted in the 2021 Hacker News thread on auth lock-in, a silent migration is technically difficult and will never reach 100% of users during the transition period. The search provider requires rebuilding every index. The payment processor requires re-engineering the entire checkout flow.&lt;/p&gt;
&lt;h2&gt;A pre-commitment checklist for any vendor over $5k per year&lt;/h2&gt;
&lt;p&gt;Before signing any vendor contract over $5,000 per year, teams should evaluate three things.&lt;/p&gt;
&lt;p&gt;First, the cost of a silent migration. Can you export your data without a mass password reset? For auth providers, the answer is almost always no, because passwords are hashed and the migration requires users to re-authenticate during a transition period, as documented in the 2021 Hacker News thread on auth lock-in. For search providers, the answer depends on whether the vendor supports index export in a standard format. For payment processors, the answer depends on whether subscription data and customer payment methods can be exported without manual intervention.&lt;/p&gt;
&lt;p&gt;Second, the vendor&amp;#39;s pricing history. Has the vendor raised prices in the last two years? Auth0 has raised prices twice within a year, according to Stytch&amp;#39;s analysis of Auth0&amp;#39;s 2024 pricing update. Stripe raised Billing fees by 40%, from 0.5% to 0.7%, effective July 2024, according to Wingback&amp;#39;s reporting on the change. Algolia&amp;#39;s pricing structure has remained relatively stable, but the startup credit timing trap is a form of pricing risk, as documented by the G2 reviewer cited above. A vendor with a history of price increases is a vendor that will raise prices again. The question is whether your growth rate exceeds their price increase rate.&lt;/p&gt;
&lt;p&gt;Third, whether the vendor&amp;#39;s business model aligns with your growth trajectory. Vendors that charge per active user, per search request, or per transaction create a direct tax on your growth. Vendors that charge a flat fee or a percentage of revenue create alignment. Figma considered buying a proprietary end-to-end data pipeline solution but found no option that met their needs in terms of flexibility, cost, and scale. They chose to build their own incremental synchronization system because, as Figma&amp;#39;s engineering blog notes, a vendor solution would not have given them the flexibility to optimize their workflow based on existing technology. That decision was expensive in the short term but eliminated a vendor lock-in risk that would have compounded over time.&lt;/p&gt;
&lt;h2&gt;The vendors least likely to lock you in&lt;/h2&gt;
&lt;p&gt;Vendors with open data formats, transparent pricing, and no proprietary protocols are less likely to lock you in. Vendors with opaque pricing, data export barriers, and aggressive credit programs are the most dangerous.&lt;/p&gt;
&lt;p&gt;Auth0 and Algolia exhibit the highest lock-in risk. Auth0&amp;#39;s pricing opacity has historically misled developers, and the 300% overage cost increase demonstrates that the vendor&amp;#39;s incentives are misaligned with customer growth, as documented by SSOJet&amp;#39;s pricing analysis. The data export barrier for auth providers is structural: password hashes cannot be exported, and a silent migration is technically difficult, as noted in the 2021 Hacker News thread on auth lock-in. Algolia&amp;#39;s lock-in is driven by the cost of rebuilding indexes and the timing trap of startup credits, as documented by the G2 reviewer cited above. Their pricing charges for both search requests and records, creating a double tax on growth, according to Vendr&amp;#39;s Algolia pricing documentation.&lt;/p&gt;
&lt;p&gt;Stripe&amp;#39;s pricing is more predictable but still carries risk. The international fee stacking can increase effective rates by 86%, according to CheckThat.ai&amp;#39;s analysis. The Billing fee increase shows that even Stripe will raise prices when they can, as reported by Wingback. However, Stripe&amp;#39;s data export capabilities are relatively good, and payment processing is a commodity market with alternatives like Adyen and Paddle that offer comparable services.&lt;/p&gt;
&lt;p&gt;The honest summary is that every vendor will eventually raise prices or change their terms. The question is not whether it will happen, but how much it will cost you to leave when it does. A vendor whose data format is open, whose pricing is transparent, and whose contract has no minimum commitment is a vendor you can leave. A vendor whose data is locked in, whose pricing is opaque, and whose startup credits create a switching cost is a vendor that owns your roadmap.&lt;/p&gt;
&lt;p&gt;The teams at Notion, Figma, and Linear spent months on migrations that were invisible in year one. The teams that chose Auth0 and Algolia are spending months on migrations that were invisible in year one. The pattern will repeat for every startup that optimizes for day-one developer experience and ignores exit cost. The only way to break it is to evaluate the cost of leaving before you sign.&lt;/p&gt;
</content:encoded><category>Product</category><category>vendor-lock-in</category><category>infrastructure</category><category>pricing</category><category>migrations</category><category>startups</category><author>Crucible Editorial</author></item><item><title>The vendor you chose in week one is the migration you will run in year three</title><link>https://readcrucible.com/articles/the-vendor-you-chose-in-week-one-is-the-migration-you-will-run-in-year</link><guid isPermaLink="true">https://readcrucible.com/articles/the-vendor-you-chose-in-week-one-is-the-migration-you-will-run-in-year</guid><description>How small vendor choices made in week one compound into expensive migrations by year three, and a pre-commitment checklist to avoid the trap.</description><pubDate>Tue, 26 May 2026 06:00:00 GMT</pubDate><content:encoded>&lt;p&gt;There is a specific kind of engineering regret that does not show up in the postmortem. It does not come from a bad hire, a botched launch, or a product bet that missed. It comes from a decision made in week one that nobody wrote down, defended in year one by everyone who touched it, and then quietly absorbed six person-months of engineering time in year three while the roadmap sat still.&lt;/p&gt;
&lt;p&gt;The pattern is so consistent it almost has a grammar. A team picks Auth0 because the docs are excellent and the free tier covers them for now. Or they pick Algolia because the search results are genuinely good on day one and the integration takes an afternoon. Or they pick a transactional email provider because it was the first result and the API looked clean. None of these is a bad decision in isolation. The problem is that none of them was made with any attention to what it would cost to leave.&lt;/p&gt;
&lt;h2&gt;Why year one feels fine and year three does not&lt;/h2&gt;
&lt;p&gt;Joel Spolsky&amp;#39;s 2002 essay &amp;quot;Fire and Motion&amp;quot; is about competitive strategy, but it contains a line that applies exactly here: the goal of a slow-moving competitor is to keep you busy so you cannot advance. Vendor lock-in works the same way. It does not hurt you while you are small. It hurts you the moment you need to move.&lt;/p&gt;
&lt;p&gt;In year one, the team is small, the data is thin, and the vendor&amp;#39;s defaults fit. Auth0&amp;#39;s user management is fine for ten thousand users. Algolia&amp;#39;s index is fast and the relevance tuning is good enough. SendGrid handles transactional email without complaint. The DX is the whole point: someone evaluated these tools on how quickly they could get to working code, and they succeeded.&lt;/p&gt;
&lt;p&gt;By year three, the conditions that made the choice easy have changed. The user count is higher, which means the Auth0 invoice has climbed through several tiers. The search index has grown to a size where Algolia&amp;#39;s per-record and per-search pricing is a line item that finance has started asking about. The email volume has moved from negligible to meaningful. And somewhere in the stack, a product requirement has arrived that the vendor either cannot support or can only support on a higher plan that resets the economics entirely.&lt;/p&gt;
&lt;p&gt;The team now faces a choice: pay the new price, work around the limitation, or migrate. All three options consume engineering time. The third option consumes the most, but it is often the one that makes the most sense over a three-to-five year horizon. And it is almost always harder than anyone estimates.&lt;/p&gt;
&lt;h2&gt;What public migration data shows&lt;/h2&gt;
&lt;p&gt;The honest version of this conversation requires specific examples. The most useful ones are the migrations companies have written about themselves — not because the published account is complete (it almost never is) but because it lets you see the shape of the work and the period of time it consumes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notion&amp;#39;s Postgres sharding migration.&lt;/strong&gt; Notion&amp;#39;s October 2021 engineering post, &amp;quot;Herding elephants: lessons learned from sharding Postgres at Notion,&amp;quot; describes a multi-year effort. By mid-2020 their five-year-old Postgres monolith — never MySQL — was hitting hard limits: engineers woken by CPU spikes, VACUUM stalls threatening transaction-ID wraparound, schema migrations becoming unsafe. They sharded application-side into 480 logical shards across 32 physical Postgres databases, using dual-write periods and dark reads to verify correctness before cutover. The underlying mistake was not picking Postgres; it was picking a monolithic database without planning the sharding strategy that horizontal scale would eventually require.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Figma&amp;#39;s vertical partitioning and custom sharding.&lt;/strong&gt; Figma published &amp;quot;The growing pains of database architecture&amp;quot; in 2022. By 2020 they were running on AWS&amp;#39;s largest single RDS Postgres instance. Rather than migrate off Postgres — they considered and rejected NoSQL — they vertically partitioned by table. The final partitioning operation in October 2022 involved 50 tables and produced about 30 seconds of partial availability impact (around 2% of requests dropped). Horizontal sharding came later: they built a custom Go DBProxy and shipped the first horizontally sharded table in September 2023. Staying on RDS Postgres and building their own tooling was the deliberate choice — a bigger migration was the riskier path, not the safer one.&lt;/p&gt;
&lt;p&gt;What you notice across both is that the companies willing to publish the technical narrative almost never publish the full cost in engineering hours. They publish the architecture. The actual cost in person-months tends to stay internal, surfacing only in founder conversations and in the HN threads where someone is venting at midnight.&lt;/p&gt;
&lt;h2&gt;The pricing drift problem&lt;/h2&gt;
&lt;p&gt;One factor that makes migrations harder to justify in year one and easier to justify in year three is that vendor pricing has moved — and not always in the direction the marketing pages suggest.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Auth0.&lt;/strong&gt; Okta acquired Auth0 in May 2021 for $6.5 billion, and the pricing matured under Okta ownership. Paid tiers now start at $35 per month for Essentials (B2C, 500 monthly active users), $150 for Essentials B2B, and $240 for Professional. In September 2024, Auth0 expanded the free tier to cover up to 25,000 monthly active users — a meaningful improvement on the volume side. But the production-grade features most growth-stage applications need — MFA, role-based access control, audit log streaming to Datadog or Splunk, separate development and production environments — sit behind the paid tiers. The free tier is generous on volume and restrictive on capability. The shape that emerges is a structural pull toward Essentials and Professional once a product is past prototyping, even when MAU counts would otherwise fit under the free ceiling.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Algolia.&lt;/strong&gt; Algolia restructured its pricing on March 30, 2023, with a public announcement titled &amp;quot;Algolia Introduces New Developer-Friendly &amp;#39;Build&amp;#39; Pricing Plan with One Million Free Records.&amp;quot; The new Build tier raised free records from 10,000 to 1 million — a 100x increase — and the new Grow tier cut search-request pricing by 50% and record pricing by 60%. Grow now runs $0.50 per 1,000 search requests and $0.40 per 1,000 records, on a pay-as-you-go basis. The 2023 change is the most customer-favorable pricing move in the search-as-a-service category in years. The lock-in dynamic, however, is unchanged: index format, relevance configuration, and API conventions are not portable. Cheaper-to-stay does not mean easier-to-leave.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stripe.&lt;/strong&gt; Stripe&amp;#39;s headline pricing has been stable for years at 2.9% plus $0.30 per transaction for standard online card processing in the United States. What has changed is the surface area. Teams that started on a clean Stripe integration and have since added Subscriptions, Connect, Radar, and Stripe Tax have a much more complex dependency than they originally signed up for, even if the per-transaction rate has not moved.&lt;/p&gt;
&lt;p&gt;The pattern across all three is the same: the tool that was easy to adopt is harder to leave than it was to join, and the cost of staying — whether measured in dollars, in product surface, or in operational entanglement — has risen faster than the cost of the product the team is building.&lt;/p&gt;
&lt;h2&gt;Why teams make this mistake&lt;/h2&gt;
&lt;p&gt;The day-one developer experience problem is structural, not a failure of judgment. The people evaluating a tool are almost always the people who will use it first, and the criteria they apply are the criteria that matter most to them right now: how fast can I get to working code, how good are the docs, how clean is the API, does this solve my immediate problem. Exit cost is not a criterion that feels real on day one because exit cost is not a day-one problem. Nobody integrating Auth0 for the first time is thinking about what it will take to move to Clerk or to a self-hosted Keycloak instance in three years. They are thinking about OAuth flows and JWT validation and whether the dashboard is comprehensible. There is also a motivated reasoning problem: once a team has integrated a vendor deeply, the people who did the integration have a stake in the decision having been correct. Questioning the vendor choice is, implicitly, questioning their judgment. This is not cynical, it is just how people work. The result is that the &amp;quot;this is fine&amp;quot; assessment of a vendor&amp;#39;s limitations tends to persist longer than it should, right up until the moment when it clearly is not fine and the migration is unavoidable.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The tool that was easy to adopt is harder to leave than it was to join, and the cost of staying has risen faster than the cost of the product the team is building.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;The vendors most likely to lock you in&lt;/h2&gt;
&lt;p&gt;Not all vendor lock-in is equal. Some tools are easy to replace; others are load-bearing in ways that are not obvious until you try to remove them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Auth providers&lt;/strong&gt; are among the highest-lock-in categories. Auth0, Okta, and Cognito all store user credentials in a format and location that requires careful migration. Password hashes, MFA configurations, and session management are deeply embedded in how users experience the product. A user who cannot log in during a migration cutover is not a technical problem, it is a customer service crisis. Clerk has published migration tooling specifically designed to reduce this friction. Supabase Auth is open-source and self-hostable, which changes the exit calculus entirely. If you are choosing an auth provider today and have any reason to believe you will outgrow the free or low-cost tier within two years, the migration cost of Auth0 or Cognito is worth pricing in explicitly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Search-as-a-service&lt;/strong&gt; is similarly sticky. Algolia&amp;#39;s index format, relevance configuration, and API conventions are not portable. Moving to Typesense, Meilisearch, or a self-hosted Elasticsearch cluster means rebuilding the index, re-tuning relevance, and rewriting the integration layer. Typesense has positioned itself as the lower-lock-in alternative, with an API intentionally similar to Algolia&amp;#39;s and a self-hosting option that removes the per-search pricing entirely. For teams where search is a core product feature rather than a secondary utility, the build-vs-buy question deserves more time than it usually gets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Transactional email&lt;/strong&gt; is lower-stakes than auth but higher-stakes than it looks. SendGrid, Mailgun, and Postmark all have their own template formats, suppression list management, and webhook schemas. Switching providers means migrating templates, re-verifying domains, and rebuilding any automation that listens to delivery events. Postmark has a strong reputation for deliverability and a clean API; it is not the cheapest option but it is the one most engineers who have migrated between providers tend to land on and stay with.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Payment processors&lt;/strong&gt; are the highest-stakes category and, paradoxically, often the most defensible choice. Stripe is genuinely hard to migrate away from, but the reasons to do so are narrower than they are for auth or search. Stripe&amp;#39;s pricing has been stable, its feature set is comprehensive, and the alternatives — Adyen for enterprise, Tap or HyperPay for MENA, Braintree for specific use cases — each have their own switching costs. The case for moving off Stripe is usually either geographic (needing local payment methods Stripe does not support well) or pricing (at very high volume, the per-transaction fee becomes meaningful enough to negotiate or route around). For most teams, Stripe is the right choice and the lock-in is acceptable because the alternatives are not clearly better.&lt;/p&gt;
&lt;h2&gt;A pre-commitment checklist for any vendor over $5,000 per year&lt;/h2&gt;
&lt;p&gt;The framework does not need to be complex. Before committing to any vendor that will cost more than $5,000 per year at current or projected scale, or that will be integrated into a core product flow, answer these five questions in writing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What does this vendor store that we cannot easily export?&lt;/strong&gt; User credentials, trained models, proprietary index formats, and customer data in vendor-specific schemas are the categories that create hard exits. If the answer is &amp;quot;nothing we cannot export,&amp;quot; the lock-in risk is low. If the answer is &amp;quot;user password hashes&amp;quot; or &amp;quot;our entire search index configuration,&amp;quot; the lock-in risk is high.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What does the pricing look like at 10x our current scale?&lt;/strong&gt; Most vendor pricing pages make this easy to calculate. Do the math now, not when you are already at 10x. If the number is uncomfortable, it is worth knowing before you are committed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What would a migration to the next-best alternative actually require?&lt;/strong&gt; Name the alternative. Estimate the work in rough person-weeks. If you cannot name an alternative, that is a signal worth sitting with.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is there a self-hosted or open-source option that covers 80% of the use case?&lt;/strong&gt; For auth: Keycloak, Supabase Auth. For search: Typesense, Meilisearch. For email: a self-hosted Postal instance or a simpler SMTP relay. The self-hosted option is not always the right answer, but knowing it exists and what it would take to run it changes the negotiating position with the vendor.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who on the team will own the relationship with this vendor in year three?&lt;/strong&gt; This question sounds soft but it is not. Vendor relationships degrade when the person who made the original decision has moved on and nobody has context for why the choice was made. Assigning ownership at the point of commitment, even just a name in a decision log, makes the year-three conversation less likely to start from scratch.&lt;/p&gt;
&lt;h2&gt;The decisions least likely to compound badly&lt;/h2&gt;
&lt;p&gt;Some categories are genuinely low-lock-in and do not need this level of scrutiny.&lt;/p&gt;
&lt;p&gt;Feature flags via LaunchDarkly or Unleash are easy to migrate between; the integration surface is thin and the data model is simple. Monitoring and observability tools like Datadog or Grafana Cloud have high switching costs in terms of dashboard configuration but low costs in terms of data portability. Error tracking via Sentry is easy to replace; the integration is a few lines and the historical data is rarely critical to preserve. Analytics via Mixpanel or Amplitude is annoying to migrate but not catastrophic; the data can be exported and the integration is not load-bearing in the same way auth or payments is.&lt;/p&gt;
&lt;p&gt;The categories that deserve the most scrutiny are the ones closest to the user&amp;#39;s identity and money: auth, payments, and any vendor that stores data that users created and expect to get back. Everything else is a nuisance to migrate. Those are the ones that can stop a roadmap.&lt;/p&gt;
&lt;p&gt;The week-one decision that nobody wrote down is sitting in your stack right now. It is probably fine. It will probably stay fine for another year. The question worth asking is not whether it will become a problem, but whether you will have the context and the runway to deal with it when it does.&lt;/p&gt;
</content:encoded><category>Product</category><category>vendor-decisions</category><category>technical-debt</category><category>migrations</category><category>infrastructure</category><category>build-vs-buy</category><author>Crucible Editorial</author></item><item><title>How to hire your first ten people without a recruiter</title><link>https://readcrucible.com/articles/how-to-hire-your-first-ten-people-without-a-recruiter</link><guid isPermaLink="true">https://readcrucible.com/articles/how-to-hire-your-first-ten-people-without-a-recruiter</guid><description>A practical guide to making your first ten hires as a founder — no recruiter, no HR department, no budget for either. Includes MENA-specific notes on pay and sourcing.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The first hire is the one that breaks founders. Not because it is the hardest, it is not, the fifth and sixth are harder, but because most founders have never hired anyone, and the process they invent from scratch is usually a slow, anxious approximation of what a large company does. Phone screens. Competency frameworks. Panel interviews. Reference checks on people they already know they want. Six weeks of process for a decision they made in the first twenty minutes.&lt;/p&gt;
&lt;p&gt;The ten hires after the first are where the company actually gets built. And the way you make those hires, who you find, how you talk to them, what you offer, shapes the team you will be running two years from now more than almost any product decision you will make.&lt;/p&gt;
&lt;p&gt;Here is what actually works, without a recruiter, without an HR department, and without a budget for either.&lt;/p&gt;
&lt;h2&gt;Where to find people who are not already looking&lt;/h2&gt;
&lt;p&gt;Job boards attract people who are actively searching. That pool is fine and you should not ignore it, but the best early hires are usually not refreshing LinkedIn Jobs. They are working somewhere, quietly frustrated, and open to a conversation if the right one arrives.&lt;/p&gt;
&lt;p&gt;The most reliable sourcing channel at the early stage is the second-degree network. Not your close contacts, you have probably already exhausted those, but your contacts&amp;#39; contacts. A short message to twenty people you know well, asking specifically for introductions to strong engineers or operators in a particular space, will surface more qualified candidates than three weeks on a job board. The key word is &lt;em&gt;specifically&lt;/em&gt;. &amp;quot;Let me know if you know anyone good&amp;quot; produces nothing. &amp;quot;I&amp;#39;m looking for a backend engineer with payments experience, ideally someone who has worked at a fintech or a bank&amp;quot; produces introductions.&lt;/p&gt;
&lt;p&gt;Alumni networks work the same way and are underused. If you or your co-founders went to university, the alumni directory is a warm list of people who will at minimum read your message. A short, honest note about what you are building and what you need will get a response rate that cold outreach will not.&lt;/p&gt;
&lt;p&gt;For technical roles, GitHub and open-source contribution history are public sourcing databases that most early-stage founders never touch. Find repositories adjacent to your stack, look at who is committing consistently and writing readable code, and reach out. GitHub Discussions threads in relevant open-source projects are also worth scanning. The people asking and answering precise questions are often the ones you want. The conversion rate is low, but the quality of the people you find is high.&lt;/p&gt;
&lt;p&gt;Structured platforms help too. Wellfound (formerly AngelList Talent) and Y Combinator&amp;#39;s &amp;quot;Work at a Startup&amp;quot; board skew toward candidates who have already opted into the early-stage context, which filters out some of the mismatch problems you encounter elsewhere. In MENA, Bayt and Wuzzuf are the dominant job boards and worth posting to for roles based in Egypt, Jordan, Saudi Arabia, and the Gulf; their candidate density in those markets is higher than any international alternative.&lt;/p&gt;
&lt;h2&gt;The screening conversation&lt;/h2&gt;
&lt;p&gt;Most early-stage founders screen too formally or not at all. The formal version is a mistake because it signals that you have borrowed a process from a company ten times your size, and sharp candidates notice. The informal version, a loose chat with no structure, is a mistake because you end up hiring people you like talking to, which is not the same as people who can do the work.&lt;/p&gt;
&lt;p&gt;The screening conversation should take thirty minutes and answer three questions. Can this person do the specific job? Will they do it in the specific conditions of an early-stage company, which means ambiguity, changing priorities, and limited support? And do they understand what they are signing up for?&lt;/p&gt;
&lt;p&gt;The third question is the one founders skip. A strong engineer who has spent five years at a well-resourced company may be technically excellent and genuinely unsuited to a team of six where nobody owns the deployment pipeline yet. Finding this out in the screening conversation is a kindness to both of you.&lt;/p&gt;
&lt;p&gt;One question that surfaces a lot: &amp;quot;Tell me about a time you had to figure something out with no one to ask.&amp;quot; The answer is not really about the specific story. It is about whether the person has ever been in that situation and whether they found it energizing or exhausting.&lt;/p&gt;
&lt;h2&gt;The work sample, used correctly&lt;/h2&gt;
&lt;p&gt;A work sample or short paid task is the most reliable signal you have for most roles. Not a five-hour unpaid take-home that candidates who are currently employed cannot reasonably complete. A focused, two-hour paid task that mirrors something close to the actual work.&lt;/p&gt;
&lt;p&gt;Pay for it. The amount matters less than the act. Fifty dollars for two hours of a candidate&amp;#39;s time signals that you respect their time and that you are serious. It also filters out candidates who are not serious about you.&lt;/p&gt;
&lt;p&gt;Keep the brief tight. A vague prompt produces vague output and tells you nothing useful. A specific, constrained problem, &amp;quot;here is a real data set from our product, what do you see in it&amp;quot; or &amp;quot;here is a bug in our codebase, walk us through how you would approach it,&amp;quot; tells you how someone actually thinks.&lt;/p&gt;
&lt;p&gt;For non-technical roles, the work sample should still be concrete. A growth hire might be asked to sketch a distribution plan for a specific piece of content. An operations hire might be given a real process problem and asked to propose a fix. The goal is not to get free work done. The goal is to see how someone approaches a problem before you are committed to each other.&lt;/p&gt;
&lt;h2&gt;The offer conversation&lt;/h2&gt;
&lt;p&gt;The offer conversation is not a negotiation you want to win. It is a conversation you want to end with someone genuinely excited to join, clear on what they are agreeing to, and without a bad feeling that surfaces six months later.&lt;/p&gt;
&lt;p&gt;Say the number first. Founders who wait for the candidate to name a number are playing a game that makes everyone uncomfortable and produces no useful information. You know your budget. State it plainly, explain how you got there, and leave room for a real conversation about equity, flexibility, and the things that matter to this specific person.&lt;/p&gt;
&lt;p&gt;On equity: most early-stage candidates do not understand how startup equity works, and some of them will pretend they do. The honest thing is to explain the mechanics yourself, what percentage, what the current valuation is, what dilution typically looks like over time, and what the realistic range of outcomes is. Candidates who have been burned by equity before will appreciate the transparency. Candidates who have not will learn something useful. Neither group will hold the honesty against you.&lt;/p&gt;
&lt;h2&gt;What the offer letter should actually say&lt;/h2&gt;
&lt;p&gt;The offer letter is where verbal agreements become real, and vague offer letters cause more six-month problems than vague interview conversations. Keep it short; cover these six elements:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Title&lt;/strong&gt;: the exact role, not a generic label.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cash comp and currency&lt;/strong&gt;: the number, stated in the currency it will be paid in. In Lebanon and increasingly across MENA, this means USD, not local-currency equivalent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Equity grant&lt;/strong&gt;: the percentage or share count, the vesting schedule, and the cliff. If there is no equity, say so rather than leaving it implicit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conditions&lt;/strong&gt;: remote, hybrid, or in-office, and where. &amp;quot;Remote&amp;quot; in a country with uncertain power infrastructure means something different than &amp;quot;remote&amp;quot; in Berlin.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expected start date&lt;/strong&gt;: a specific date or a clear window, not &amp;quot;ASAP.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scope statement&lt;/strong&gt;: one sentence describing what this person owns. &amp;quot;Responsible for all growth experiments through Series A&amp;quot; is enough. It gives the hire something to hold you to.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;What to pay when you can&amp;#39;t pay market&lt;/h2&gt;
&lt;p&gt;This is the question every early-stage founder is actually asking, and it is the one the HR-tech blog posts refuse to answer directly.&lt;/p&gt;
&lt;p&gt;The honest answer is: less than market, more than you think you can afford, and with equity and conditions that make the gap feel worth it.&lt;/p&gt;
&lt;p&gt;&amp;quot;Less than market&amp;quot; is not a scandal at an early-stage company. It is the deal. The candidate is taking a risk on you and on the company, and the compensation structure should reflect that risk honestly rather than pretending it does not exist. What is a scandal is paying below market &lt;em&gt;and&lt;/em&gt; offering thin equity &lt;em&gt;and&lt;/em&gt; describing the conditions as a &amp;quot;startup environment&amp;quot; without explaining what that means.&lt;/p&gt;
&lt;p&gt;The floor is roughly this: the person should be able to live without financial stress on what you are paying them. A hire who is worried about rent is not going to do their best work, and the stress will surface in ways that cost you more than the salary savings. If you cannot clear that floor, you are not ready to make that hire yet.&lt;/p&gt;
&lt;p&gt;For benchmarking cash comp, Levels.fyi has the densest data but skews heavily toward the US; treat it as a ceiling reference, not a target. Pave and Ravio publish SaaS-specific compensation benchmarks that are more useful for startups calibrating against peer companies at similar stages.&lt;/p&gt;
&lt;p&gt;On equity, the rough early-stage benchmarks for a first ten hires at a pre-seed or seed company:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First engineering hire: 0.5–1.5%, depending on stage and seniority&lt;/li&gt;
&lt;li&gt;First non-technical operator or growth hire: 0.25–0.75%&lt;/li&gt;
&lt;li&gt;First senior or head-of hire: 0.5–2%, depending on what they are walking away from&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are starting points, not rules. The right number depends on your cap table, your stage, and what you have already promised to earlier hires.&lt;/p&gt;
&lt;p&gt;{/* TODO: Editor — insert 2026 cash comp ranges for senior engineer / mid engineer / non-technical operator across Beirut, Cairo, Amman, Dubai, Riyadh. Source from Bayt salary report or regional VC data if available. */}&lt;/p&gt;
&lt;h2&gt;A note on Lebanon and the pound&lt;/h2&gt;
&lt;p&gt;If you are hiring in Lebanon specifically, the compensation conversation has a layer that does not exist elsewhere.&lt;/p&gt;
&lt;p&gt;Since 2019, the Lebanese pound has lost more than ninety-five percent of its value against the dollar. Salaries denominated in pounds became effectively worthless. The result is that almost every serious professional in Lebanon now expects to be paid in USD, either directly or pegged to it, and any offer denominated in local currency will be read as either naive or dishonest.&lt;/p&gt;
&lt;p&gt;The practical implication: state the currency explicitly in the offer letter. &amp;quot;USD equivalent at the official rate&amp;quot; and &amp;quot;fresh dollars&amp;quot; mean very different things in Lebanon. Fresh dollars means physical USD or funds held in accounts outside the Lebanese banking system, as distinct from pre-2019 deposits trapped inside Lebanese banks (sometimes called &amp;quot;lollars&amp;quot;) that remain effectively inaccessible. Candidates will ask which you mean. The clearest offers are denominated in USD and paid in USD, USDT, or USDC. Anything else requires an explanation, and the explanation should be in the offer letter, not in a follow-up conversation three weeks later.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Almost every serious professional in Lebanon now expects to be paid in dollars, and any offer denominated in local currency will be read as either naive or dishonest.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For founders based outside Lebanon who are hiring into it: the talent is real, the cost is lower than most Western markets, and the candidates are often overqualified by the metrics you are used to using. The risk is retention. A strong engineer in Beirut is one recruiter message away from a remote role at a European or American company paying three times what you can offer. The counter is not matching the number, you probably cannot. The counter is the work itself, the ownership, and the speed of the environment. Some people find that genuinely compelling. Some do not, and it is better to know early.&lt;/p&gt;
&lt;h2&gt;The diaspora question&lt;/h2&gt;
&lt;p&gt;For MENA-based companies specifically, the diaspora is a sourcing channel that gets discussed vaguely and used poorly.&lt;/p&gt;
&lt;p&gt;There are large communities of Lebanese, Egyptian, Jordanian, Palestinian, and Syrian engineers and operators working across London, Berlin, Paris, the Bay Area, Toronto, and Dubai. The interest in working with regional companies is real but conditional. Most of them are not going to relocate. What they will often consider is a remote role, an advisory arrangement, or a part-time engagement that lets them maintain their current base while contributing to something they feel connected to.&lt;/p&gt;
&lt;p&gt;The hiring vehicle matters here. Bringing on a diaspora candidate as a direct employee across borders means dealing with their country of residence&amp;#39;s tax law, labor law, and payroll requirements, not yours. The practical path for most early-stage companies is an Employer of Record service: Deel, Remote, and Oyster all handle cross-border employment in most of the relevant jurisdictions and take the compliance burden off your cap. It costs more than direct hire, but the alternative is getting it wrong quietly until it becomes a problem.&lt;/p&gt;
&lt;p&gt;If you are considering classifying a diaspora hire as a contractor instead, the arrangement has to actually be contractor-shaped: output-based deliverables, no fixed hours, no exclusivity language. A contractor relationship with a fixed schedule and day-to-day direction looks like employment in most European and North American jurisdictions, and misclassification exposure sits with you, not with them.&lt;/p&gt;
&lt;p&gt;The pitch that works is not nostalgia. It is the work. A diaspora engineer who left Beirut for London is not going to take a pay cut to feel closer to home. They might take a meaningful role at an interesting company that happens to be based in the region, if the work is genuinely good and the equity is real.&lt;/p&gt;
&lt;p&gt;The pitch that does not work is &amp;quot;come back and help build the country.&amp;quot; It is not wrong, exactly, but it asks the candidate to carry the weight of your fundraising story, and the best candidates have heard it before.&lt;/p&gt;
&lt;h2&gt;What the first ten hires have in common&lt;/h2&gt;
&lt;p&gt;Looking back at the early teams that held together and the ones that did not, the common thread in the ones that worked is not skill level or pedigree. It is that each person had a clear answer to the question of why they joined this specific company at this specific moment, and the answer was not primarily the money.&lt;/p&gt;
&lt;p&gt;The first ten hires are making a bet on you as much as on the company. The founders who make those hires well are the ones who are honest about what the bet involves, the upside, the risk, the conditions, and the realistic shape of the next two years, and who give candidates the information they need to make it clearly.&lt;/p&gt;
&lt;p&gt;The founders who struggle are usually the ones who sell too hard and disclose too little, and then are surprised when the people they hired feel misled six months later.&lt;/p&gt;
&lt;p&gt;Run an honest process. It is slower in the first conversation and faster in every conversation after.&lt;/p&gt;
</content:encoded><category>Operations</category><category>hiring</category><category>early-stage</category><category>talent</category><category>compensation</category><category>mena</category><category>founders</category><author>Crucible Editorial</author></item><item><title>We built our own internal CRM. Six months later, here&apos;s what we wish we knew.</title><link>https://readcrucible.com/articles/01-crm-six-months-later</link><guid isPermaLink="true">https://readcrucible.com/articles/01-crm-six-months-later</guid><description>A practical account of building an internal CRM at a small team. What worked, what we would throw away, and the math that actually decided it.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The first thing we did was build the wrong thing.&lt;/p&gt;
&lt;p&gt;It was August. We had been running on a stitched-together combination of HubSpot Starter, a Google Sheet that one person was quietly responsible for, and a Notion database that everyone agreed was the source of truth even though nobody could explain why. Three places, three slightly different versions of who our customers were, and a growing suspicion that we were going to get caught.&lt;/p&gt;
&lt;p&gt;The decision to build came on a Tuesday. HubSpot raised its prices, the Notion database broke for the fourth time, and someone on the team said the words out loud: &amp;quot;We could just build this.&amp;quot; Eight hours later we had a wireframe. Six weeks later we had something people were logging into. And six months later we had a much clearer view of the question we should have asked before we wrote a single line of code.&lt;/p&gt;
&lt;p&gt;The question was not &lt;em&gt;build or buy&lt;/em&gt;. We treated that as the decision, and it was the wrong decision to be making.&lt;/p&gt;
&lt;h2&gt;The question we should have been asking&lt;/h2&gt;
&lt;p&gt;The standard build-versus-buy framework treats a CRM as a single thing. It is not. A CRM is four or five distinct systems held together by convention:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A &lt;strong&gt;contact database&lt;/strong&gt;: who is this person, and what do we know about them.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;timeline log&lt;/strong&gt;: what has happened with this person, and when.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;pipeline view&lt;/strong&gt;: where a given deal sits in our process.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;task system&lt;/strong&gt;: what needs to happen next, and who owns it.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;reporting layer&lt;/strong&gt;: the shape of all of it in aggregate.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Off-the-shelf CRMs ship all five tightly coupled, and the pitch is that the coupling &lt;em&gt;is&lt;/em&gt; the value. Everything connected, one source of truth, calm Mondays. For a large sales organization, that pitch is largely true. For a small team, the reality is that you are paying fifty dollars per seat per month for four systems you barely touch in order to reach the one you actually need.&lt;/p&gt;
&lt;p&gt;So the question is not whether to build a CRM. The question is which of those five layers your situation actually requires you to own, and which you should keep renting. We did not ask it that way. We asked &amp;quot;should we build a CRM,&amp;quot; answered yes, and then spent three weeks building a small, sad imitation of HubSpot.&lt;/p&gt;
&lt;h2&gt;Three false starts&lt;/h2&gt;
&lt;p&gt;The first version was a CRM-shaped clone of the tool we were leaving. It had a pipeline, deal stages, a dashboard. It also had nobody using it, because it did everything HubSpot did except worse, and HubSpot at least had a mobile app and a decade of polish.&lt;/p&gt;
&lt;p&gt;The second version overcorrected. We rebuilt it as a Notion database with extra steps: flexible, structureless, and immediately back to the exact ambiguity we were trying to escape. If your internal tool can become anything, it will, and then it is a Notion database again, only one you now have to maintain yourself.&lt;/p&gt;
&lt;p&gt;The third version was so spartan that it stored contacts and nothing else. Technically correct, genuinely used by no one, because a list of names with no context is a phone book, and we already had several of those.&lt;/p&gt;
&lt;p&gt;The fourth version is the one we still run. It came from finally asking the right question, and from accepting that the first three weeks of work were tuition rather than progress.&lt;/p&gt;
&lt;h2&gt;What we actually built&lt;/h2&gt;
&lt;p&gt;We built two of the five layers. Just two.&lt;/p&gt;
&lt;p&gt;We built the &lt;strong&gt;contact database&lt;/strong&gt;, because we needed it to talk to our other systems: billing, support, and outreach via Apollo for sequences and Mailgun for transactional sends. No off-the-shelf tool stitched those specific sources together the way we needed, and the stitching was most of the value. The database itself runs on Postgres hosted through Supabase, which also handles auth via Supabase Auth, so we did not have to cobble together a separate login layer using Clerk or Auth0. That decision alone saved a week of setup.&lt;/p&gt;
&lt;p&gt;We also built the &lt;strong&gt;timeline log&lt;/strong&gt;, because the worth of a CRM compounds when you can see the whole history of a relationship in one place. Every rented tool we tried got this almost right and never quite right enough.&lt;/p&gt;
&lt;p&gt;Everything else, we kept buying. Pipeline view? A basic board inside Linear, because that is where the team already works. Tasks? The same board. Reporting? A weekly query against the Postgres database run through Metabase, pasted into a slide. Clean enough. None of those three needed to be ours. Owning them would have meant three more things to maintain in exchange for nothing.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The result is a CRM that nobody outside the company would recognize as a CRM. It does one job well, and it does not try to do four other jobs poorly.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That is the whole trick, and it took three failed builds to see it. The tool is small on purpose. Small the way a good knife is small.&lt;/p&gt;
&lt;h2&gt;What it cost&lt;/h2&gt;
&lt;p&gt;Honest numbers, because the math is the only part of this that transfers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Time.&lt;/strong&gt; About six weeks of one engineer&amp;#39;s part-time attention to reach a first version people used. Another four weeks, spread across the following six months, spent fixing the seams we only found by using it. Call it ten engineer-weeks before the tool stopped actively annoying anyone.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Money.&lt;/strong&gt; Roughly eighty dollars a month in hosting and database costs, all in. Supabase&amp;#39;s Pro plan covers the Postgres instance and auth at that range for our data volume.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What it replaced.&lt;/strong&gt; Around three hundred and forty dollars a month in CRM software, plus an estimated four hours a week of cleanup and reconciliation across the old three-system patchwork. That reconciliation time was the hidden cost nobody had been counting, and it turned out to be larger than the subscription.&lt;/p&gt;
&lt;p&gt;On paper that is a clear win. But the paper hides something. The math only works because we are a software team building a tool we will use ourselves. The engineer-weeks were real cost, and we could absorb them because building is what we already do. If you would need to hire someone to do this, recompute everything. The equation can flip fast, and it flips against building more often than the build-it-yourself crowd will admit.&lt;/p&gt;
&lt;h2&gt;What we wish we had known&lt;/h2&gt;
&lt;p&gt;A few things, six months in.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The hard part was never the building.&lt;/strong&gt; Deciding what to leave out proved harder than anything on the technical side. Every person on the team wanted one feature, and each request was reasonable on its own. We added most of them. We removed most of them three months later. The clearest sign a CRM is wrong is when nobody opens it. The second-clearest sign is when everybody opens it and then complains about it for half an hour.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;An internal tool needs an owner.&lt;/strong&gt; Not a maintainer in the sense of someone who fixes bugs. An owner in the sense of someone with the authority to say no to features. Without that person, an internal tool collects scope the way a hull collects barnacles: slowly, and then alarmingly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The real risk is drift, not downtime.&lt;/strong&gt; A rented tool like HubSpot or Salesforce has an entire company keeping it current with the world. New integrations, new fields, new compliance requirements. Ours has us, and we have other jobs. Six months in, it already shows its age in small ways. We have decided to live with that. You might not want to, and that is a legitimate reason to keep renting.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You become a software vendor to yourselves.&lt;/strong&gt; The tool has bugs. People file them in one specific Slack channel. Releases happen. Somebody triages. The cost of running an internal tool is not zero and never becomes zero. It just becomes invisible, which is worse, because invisible costs do not get budgeted and therefore do not get defended.&lt;/p&gt;
&lt;h2&gt;When this works, and when it does not&lt;/h2&gt;
&lt;p&gt;For us, the build made sense because four things were all true at once. The team was small, under fifteen people. The workflow was specific enough that most standard CRM features simply did not apply. The people building the tool were the people using it. And the underlying contact database had to integrate with our own custom systems regardless, so some of the work was unavoidable either way.&lt;/p&gt;
&lt;p&gt;Change any one of those and the answer changes. For a fifty-person sales team running a conventional B2B pipeline, none of this applies. Buy HubSpot or Salesforce, hire an administrator to run it well, and get back to selling. That is not a compromise. It would have been the correct call for us too if our situation had been even slightly more ordinary.&lt;/p&gt;
&lt;p&gt;The build path is narrower than the build-everything crowd wants to admit, and wider than the buy-everything crowd will tell you. The work is in locating, honestly, which side of that line your specific situation falls on, and then being willing to be wrong about it later.&lt;/p&gt;
&lt;h2&gt;What this experience taught us, in retrospect&lt;/h2&gt;
&lt;p&gt;Three things.&lt;/p&gt;
&lt;p&gt;Build less. Two layers, not five. We burned weeks on a reporting interface that turned out to be one weekly Metabase query a person could run in under a minute.&lt;/p&gt;
&lt;p&gt;Name the owner before you write the first line of code. Without someone holding authority over scope, every feature request quietly becomes a small political negotiation, and small political negotiations are how calm teams stop being calm.&lt;/p&gt;
&lt;p&gt;Treat the decision as temporary. This is not a monument. Every six months the inputs move: the team grows, vendor pricing shifts, the off-the-shelf tools get better or worse, your own needs change shape. Put a recurring calendar reminder to rerun the math, and mean it. Be genuinely willing to delete the thing and go back to renting.&lt;/p&gt;
&lt;p&gt;We are due for that review in about four weeks. The team is genuinely uncertain what we will decide. That uncertainty is not a failure of planning. It is the correct posture toward a tool: useful for now, kept only as long as the numbers still say so.&lt;/p&gt;
</content:encoded><category>Product</category><category>crm</category><category>build-vs-buy</category><category>internal-tools</category><category>engineering</category><author>Crucible Editorial</author></item><item><title>How modern founders structure their first six months</title><link>https://readcrucible.com/articles/02-modern-founders-first-six-months</link><guid isPermaLink="true">https://readcrucible.com/articles/02-modern-founders-first-six-months</guid><description>A practical, month-by-month structure for founders in their first 180 days, drawn from patterns across dozens of real founder conversations.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Most first-time founders spend month one building. It is the single most expensive mistake we see, and it is expensive precisely because it feels like progress.&lt;/p&gt;
&lt;p&gt;Building is legible. You open the editor, you ship a feature, and you can point at the thing you made. Validation is illegible. You have a dozen conversations and end the week with a slightly better-calibrated sense of whether anyone wants what you are about to spend a year on. One of those activities produces an artifact. The other produces judgment. Founders who confuse the two tend to discover, around month five, that they built a beautifully engineered answer to a question nobody asked.&lt;/p&gt;
&lt;p&gt;What follows is a structure for the first 180 days. A default, not a law: the shape we would reach for if we were starting again, drawn from conversations with founders who are now somewhere between month seven and year three. Adjust it to your situation. But adjust it deliberately, not by drifting into the editor because the editor is the comfortable place to be.&lt;/p&gt;
&lt;h2&gt;Month one: validate&lt;/h2&gt;
&lt;p&gt;The goal of month one is to earn the right to build. Nothing else.&lt;/p&gt;
&lt;p&gt;That means conversations, and a specific kind. Rob Fitzpatrick&amp;#39;s &lt;em&gt;The Mom Test&lt;/em&gt; names the core discipline: ask about the person&amp;#39;s actual past, not their imagined future. &amp;quot;Would you use this&amp;quot; gets answered kindly and uselessly every time. The questions that produce signal are different. &amp;quot;What did you do the last time this came up?&amp;quot; &amp;quot;What did that cost you, in time or money?&amp;quot; &amp;quot;What do you currently use to make it go away?&amp;quot; People are unreliable narrators of their future and fairly reliable narrators of the last six months. The Jobs To Be Done framing is useful here, too: you are not asking about your product, you are asking about the job the person is trying to get done and what hired-and-fired a series of inadequate solutions.&lt;/p&gt;
&lt;p&gt;Underneath all the answers, you are listening for one thing. Is this problem a headache or an emergency. Headaches get sympathy. Emergencies get budget. A surprising number of real, genuine, well-described problems are headaches, and headache businesses are very hard to start because nobody is motivated enough to switch away from whatever they tolerate today.&lt;/p&gt;
&lt;p&gt;How many conversations is enough? Not a fixed number, but enough that you start hearing the same sentences come back unprompted. When three different people describe the same workaround in nearly the same words, you have found something. When every conversation surfaces a new and unrelated complaint, you have found a category, not a problem.&lt;/p&gt;
&lt;p&gt;By the end of month one you should be able to write one honest paragraph: who has this problem, how often, what it costs them now, and what they currently do instead. If you cannot write that paragraph without inventing parts of it, you do not yet have permission to build. Stay in month one. It is cheaper than month five.&lt;/p&gt;
&lt;h2&gt;Month two: define the minimum&lt;/h2&gt;
&lt;p&gt;Month two is where most so-called MVPs go wrong, because the word &lt;em&gt;minimum&lt;/em&gt; gets read as &lt;em&gt;small&lt;/em&gt; when it should be read as &lt;em&gt;honest&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The minimum is not the smallest thing you can build. It is the smallest thing that, if it works, actually tells you something true. A small build that cannot fail informatively is not a minimum viable product. It is a demo, and a demo mostly tests whether you can build, a question you probably already know the answer to.&lt;/p&gt;
&lt;p&gt;Spend month two on two things. First, write down the single belief your product depends on most: the one belief that, if false, sinks everything else. Second, design the smallest test that puts real pressure on that belief. Sometimes the test is software. Often, in month two, it is not. A Carrd or Framer landing page with a Stripe Payment Link and a real consequence for clicking it tells you more about demand than six weeks of code. A Typeform collecting structured intake, routed into a Notion doc that you process by hand, lets you run a service before you automate it. These are not hacks. They are how you find out whether anyone wants the thing before committing to building the thing.&lt;/p&gt;
&lt;p&gt;The deliverable of month two is a plan you could hand to someone else, plus one written sentence describing exactly what outcome would change your mind.&lt;/p&gt;
&lt;p&gt;{/* TODO: source a specific founder archetype here — ideally an MENA-based or B2B SaaS founder who used a no-code stack in month two and what they learned from it */}&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The minimum viable product is not the smallest thing you can build. It is the smallest thing that, if it works, tells you something true.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Month three: ship something real&lt;/h2&gt;
&lt;p&gt;Month three is the build. One month. The constraint is the point.&lt;/p&gt;
&lt;p&gt;A one-month build forces the scope conversations you would otherwise avoid. It makes you cut the settings page, the onboarding flow, the second use case, the admin panel: all the things that feel responsible and are actually delay wearing a suit. If your minimum genuinely cannot be built in a month, the minimum is still too big, or you are building infrastructure you do not yet need. Both are common. Both are far cheaper to fix in month three than in month five.&lt;/p&gt;
&lt;p&gt;Ship it to real people who can say no. Not friends, not the supportive group chat. People who have the problem, have a budget, and have no particular reason to be kind to you. A B2B SaaS founder in their third month of validation once described the first time a stranger, with no connection to them, signed up through an unannounced link and started using the product without asking a single clarifying question. That moment told them more than the preceding eight weeks of feedback calls.&lt;/p&gt;
&lt;p&gt;{/* TODO: source a second founder archetype here — an MENA-based fintech founder who shipped a first beta and discovered a specific mismatch between what they built and what the customer&amp;#39;s workflow actually required */}&lt;/p&gt;
&lt;h2&gt;Month four: watch&lt;/h2&gt;
&lt;p&gt;Month four is the hardest to hold, because it asks you to stop.&lt;/p&gt;
&lt;p&gt;Resist the urge to immediately build the next thing. Watch instead. Not what people say in a call, but what they do when no one is on the call. Where do they stop. What do they do twice because the first way did not work. What do they never touch.&lt;/p&gt;
&lt;p&gt;PostHog or Mixpanel will show you event-level product behavior: which flows complete, where drop-off happens, which features never get touched after the first session. Pair that with session replay from Hotjar or Microsoft Clarity (Clarity is free, which is the main reason it shows up at this stage). GA4 handles traffic basics if you need to understand how people arrive. Together these tools make the gap between what users say and what they do legible and specific.&lt;/p&gt;
&lt;p&gt;The instinct in month four is to read every piece of feedback as a feature request. Most feedback is a symptom. Someone asking for a button is often describing a workflow you got slightly wrong three screens earlier. Your job is to be a diagnostician, not an order-taker. Sit with the discomfort of not shipping. The discomfort is the work.&lt;/p&gt;
&lt;h2&gt;Month five: iterate&lt;/h2&gt;
&lt;p&gt;Now you build again. But you build against evidence, which is a completely different activity from building against hope.&lt;/p&gt;
&lt;p&gt;Month five is for the small number of changes that month four made undeniable. Not the long list. If month four was done honestly, you will already know which changes those are, because they are the ones you kept noticing. Make them. Ship them. Watch again, briefly.&lt;/p&gt;
&lt;p&gt;Month five is also when you start being honest about the shape of demand. Are the same people coming back? Is anyone telling someone else without being asked? Is anyone paying, or seriously close to paying? You are not looking for a hockey stick. You are looking for a pulse: small, real, and repeatable. A pulse is enough to justify month seven. A hockey stick at month five is usually a measurement error.&lt;/p&gt;
&lt;h2&gt;Month six: decide&lt;/h2&gt;
&lt;p&gt;Month six is a decision, and it deserves to be treated as one. Founders who never schedule the decision tend to make it anyway, much later, by exhaustion, which is the worst possible way to make it.&lt;/p&gt;
&lt;p&gt;There are three honest outcomes. All three are respectable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Commit.&lt;/strong&gt; The evidence is there. Not loud, but real and repeatable. The next six months are about depth: making it better for the people who already want it. This is the outcome everyone hopes for, and it is rarer than month-one optimism suggests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Adjust.&lt;/strong&gt; The problem is real, but you are solving it for the wrong people, or solving the wrong slice of it. You have learned where the heat is. The next six months are a second, much better-informed attempt. This is the most common honest outcome, and founders treat it as failure far too often. It is not failure. It is what months one through five were for.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stop.&lt;/strong&gt; The evidence is not there, and continuing would be a decision to ignore your own data. Stopping at month six is six months spent instead of three years, and the three years you did not spend are the entire return on running the process at all.&lt;/p&gt;
&lt;h2&gt;The point of the structure&lt;/h2&gt;
&lt;p&gt;None of this is about rigidity. Plenty of good companies were built by founders who ignored every word of it. The structure matters because it forces the decision that founders most want to defer: should this exist at all. Building lets you postpone that question indefinitely, and the postponement feels like momentum right up until the month the runway math stops working.&lt;/p&gt;
&lt;p&gt;Six months is enough time to find out whether you are onto something, and short enough that being wrong is survivable. The Stripe Payment Link on the Carrd page either converts or it does not, and that answer arrives in a week rather than a quarter.&lt;/p&gt;
</content:encoded><category>Growth</category><category>founders</category><category>first-year</category><category>structure</category><category>validation</category><author>Crucible Editorial</author></item><item><title>Why MENA founders are quietly choosing US LLCs</title><link>https://readcrucible.com/articles/03-mena-founders-us-llcs</link><guid isPermaLink="true">https://readcrucible.com/articles/03-mena-founders-us-llcs</guid><description>Why a growing number of MENA tech founders register in Wyoming or Delaware while operating from Beirut, Cairo, or Dubai, and when the model does not work.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Ask a founder in Beirut, Cairo, or Amman where their company is registered, and there is a rising chance the answer is a small US state most of their customers could not place on a map. Wyoming. Sometimes Delaware. Almost never the country they are sitting in.&lt;/p&gt;
&lt;p&gt;This is not tax theater, and it is not, for most of the people doing it, an attempt to leave anywhere. It is a practical response to a specific and well-understood problem. Building an internet business from much of the MENA region means fighting your own financial infrastructure every single week. The dual-jurisdiction model, a US entity on paper with real operations on the ground, has gone from clever workaround to quiet default. Here is why, how it is actually done, and the cases where it is the wrong move.&lt;/p&gt;
&lt;h2&gt;The problem it solves&lt;/h2&gt;
&lt;p&gt;Start with the thing nobody outside the region fully appreciates. For a digital business, the hard part is rarely the product. It is getting paid, holding what you are paid, and paying other people, reliably, in a currency that will still be worth roughly the same next quarter.&lt;/p&gt;
&lt;p&gt;Three pressures stack up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Payment rails.&lt;/strong&gt; Most global payment processors, the ones your customers expect to see at checkout, either do not support businesses registered in much of the region or support them with restrictions that make ordinary operations awkward. Stripe is the default for software businesses; PayPal Business remains common for e-commerce and international consumer payments. Neither is accessible on ordinary terms without an entity in a jurisdiction they recognize. If your customers are international and you cannot plug into the processor they assume, you are losing sales at the most expensive possible moment: the one where someone has already decided to buy and simply cannot hand you their money.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Banking.&lt;/strong&gt; A business bank account that can send and receive internationally, hold a stable currency, and not freeze on an unexplained compliance review is not a given. Founders describe spending real, recurring management attention on simply keeping money moving. That is attention a founder in a different jurisdiction never has to spend, and it does not show up on any income statement.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Currency.&lt;/strong&gt; In several MENA economies, including Lebanon, Sudan, and Yemen, holding revenue in the local currency is itself a risk position. Money earned can lose value between being earned and being deployed. That turns every delay in the financial stack into a small, quiet tax on the business. Even founders in comparatively stable markets, Jordan, Morocco, Tunisia, find that invoicing and holding dollars or euros is simpler than managing the FX conversion on every payment cycle.&lt;/p&gt;
&lt;p&gt;None of these is fatal on its own. Together they form a constant drag. The US LLC is, more than anything, a way to stop paying that tax on attention.&lt;/p&gt;
&lt;h2&gt;What the model actually is&lt;/h2&gt;
&lt;p&gt;The structure is simpler than it sounds. A founder registers a limited liability company in a US state. That entity becomes the contracting party. It signs with customers, holds the bank account, plugs into the payment processor, and owns the intellectual property. Meanwhile the actual work, the team, the founder, the day-to-day, stays exactly where it was.&lt;/p&gt;
&lt;p&gt;The US entity is not a head office. It is a financial and legal interface. The company &lt;em&gt;operates&lt;/em&gt; from Beirut or Cairo. It &lt;em&gt;transacts&lt;/em&gt; through Wyoming. The two facts coexist, and most of the time they coexist without anyone needing to think about them.&lt;/p&gt;
&lt;p&gt;Worth stating plainly, because the model is easy to misread: this is not relocation. The founders doing it are, overwhelmingly, staying. They are hiring locally, living locally, and building where they always were. They have simply moved one layer of the company, the money layer, onto ground that does not shift under it.&lt;/p&gt;
&lt;h2&gt;Wyoming or Delaware&lt;/h2&gt;
&lt;p&gt;Two states come up. They are not interchangeable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Delaware&lt;/strong&gt; is the default for companies that intend to raise venture capital. Its corporate law is deep and predictable, and US investors are fluent in it. A Delaware C-corp is what an institutional term sheet expects to see. The cost of that fluency is overhead: franchise tax, more involved annual filings, and a structure that is genuinely heavier than a very small company needs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wyoming&lt;/strong&gt; is the default for the founders this article is about. A Wyoming LLC is inexpensive to form and to keep. The annual obligations are light, the privacy protections are stronger, and there is no state income tax. For a bootstrapped software business, a small services firm, or a product company with no near-term plan to raise a US round, Wyoming is almost always the right call.&lt;/p&gt;
&lt;p&gt;The rule of thumb is unglamorous but reliable. Raising US venture money soon: Delaware C-corp. Everything else: Wyoming LLC.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The US entity is not a head office. It is a financial interface. The company operates from Beirut and transacts through Wyoming. Both are true at once.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;How it is actually done&lt;/h2&gt;
&lt;p&gt;The mechanics are more routine than founders expect. In rough order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Form the entity.&lt;/strong&gt; A registered agent in the chosen state files the formation documents. Formation services have made this a commodity. Stripe Atlas is the most recognized option, though its default setup points toward a Delaware C-corp with bundled banking; founders who want a Wyoming LLC specifically should confirm that path before paying. Firstbase is faster for solo founders and cheaper. Doola targets non-resident founders explicitly, with onboarding that accounts for the MENA context. Clerky produces the highest-quality legal documents and is preferred by YC-track founders, but it is slower and more expensive than the others.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Appoint a registered agent.&lt;/strong&gt; US states require a local address to receive legal mail. Northwest Registered Agent is the quality default, at roughly $125 per year. Harvard Business Services is cheaper but lower-touch. The formation services above typically bundle a registered agent for year one, then charge annually after that.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Get an EIN.&lt;/strong&gt; The Employer Identification Number is the company&amp;#39;s US tax identifier. Non-US founders without a Social Security number file IRS Form SS-4 and submit by fax or mail to the IRS international desk. At current backlogs, that takes four to six weeks. Some formation services handle the EIN application as part of their package, which saves the friction of dealing with IRS correspondence in a foreign timezone. Start this step first, in parallel with everything else, because it is the long pole.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open banking.&lt;/strong&gt; Mercury is where most non-resident-owned LLCs land in 2026. It was built with exactly this customer in mind, accepts EIN-only applicants, and integrates cleanly with Stripe and other processors. Brex has tightened its non-resident requirements and is harder to open from MENA than it used to be. Relay is a quieter alternative that still accepts non-resident applicants. Wise Business handles multi-currency operations well once the LLC is funded, but it is not a substitute for a primary US business bank account.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Connect payments.&lt;/strong&gt; With a US entity, an EIN, and a Mercury account in place, Stripe becomes available on ordinary terms. For founders selling software subscriptions or SaaS, that is almost always the destination. Founders who want to avoid managing US sales-tax compliance across fifty states should consider Paddle or Lemon Squeezy, both of which operate as merchant of record, meaning they collect and remit tax on your behalf. Paddle is more established and better suited to larger SaaS businesses; Lemon Squeezy is simpler and targets digital downloads and smaller subscription products.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The recurring cost of the whole structure is real but small. State fees, registered agent, and annual compliance together run in the low hundreds of dollars per year before accounting fees. Measured against the weekly friction it removes, that is not a close call.&lt;/p&gt;
&lt;h2&gt;The patterns we see&lt;/h2&gt;
&lt;p&gt;The model is not one thing. It shows up in several recognizable shapes.&lt;/p&gt;
&lt;p&gt;There is the &lt;strong&gt;solo product founder&lt;/strong&gt;. One person, a software product, customers worldwide. They need the US entity purely to access Stripe, and they never think about the structure again after month one.&lt;/p&gt;
&lt;p&gt;There is the &lt;strong&gt;small services firm&lt;/strong&gt; that bills international clients and simply could not get paid cleanly on local infrastructure. One example we keep encountering is a Wyoming-registered agency operating out of Beirut, with its whole team in Lebanon, using the US entity solely so that international clients can pay it the way they pay any other vendor. Nothing about the company is American except the line on the invoice. That is the model working exactly as intended: boring, legal, and quietly load-bearing.&lt;/p&gt;
&lt;p&gt;There is the &lt;strong&gt;regional startup&lt;/strong&gt; that fully intends to raise later and registers in Delaware early, so it does not have to redo the structure under deal pressure with a closing date looming. Clerky is popular here because investors doing diligence want clean documents.&lt;/p&gt;
&lt;p&gt;There is the &lt;strong&gt;distributed team&lt;/strong&gt;. A founder in the Gulf, engineers in Cairo, a designer in Amman. No single local jurisdiction fits everyone, and a neutral US entity becomes the least-bad common ground.&lt;/p&gt;
&lt;p&gt;Different founders, same underlying move. Put the money layer somewhere stable, and leave everything else at home.&lt;/p&gt;
&lt;h2&gt;When it does not work&lt;/h2&gt;
&lt;p&gt;The model is genuinely useful, which is exactly why it gets oversold.&lt;/p&gt;
&lt;p&gt;If your customers and revenue are entirely local, you may be adding a US tax and compliance surface for benefits you will never use. A company that sells only within its own country, in its own currency, to customers who pay through local rails, often should just be a local company. The US entity solves cross-border problems. Without a cross-border problem, it is pure overhead.&lt;/p&gt;
&lt;p&gt;If you cannot keep up with the compliance, the structure turns against you. A US LLC has annual obligations: state filings, US tax filings even when no US tax is owed, and bookkeeping that an accountant who understands non-resident-owned LLCs needs to handle. Founders who form the entity and then ignore it create a slow, compounding problem that surfaces at the worst time, usually when the company next needs to look clean for a bank or a buyer.&lt;/p&gt;
&lt;p&gt;If you are doing it to disappear, reconsider. The structure is legal, ordinary, and increasingly common, but it is not opacity. It works because it is transparent and well-documented. Treat it as a clean interface, declare what should be declared in every jurisdiction that has a claim, and it stays an asset. Treat it as a hiding place and it becomes a liability with your name on it.&lt;/p&gt;
&lt;h2&gt;The honest summary&lt;/h2&gt;
&lt;p&gt;Tax is the part outsiders assume is central, and for most founders running this model it is close to the least interesting part. A non-resident-owned US LLC is generally a pass-through entity. The founder&amp;#39;s real tax obligations are mostly determined by where the founder actually lives and works, not by the state printed on the formation certificate. Anyone who sells you the structure primarily as a tax cut is selling you a misunderstanding, and possibly a future problem.&lt;/p&gt;
&lt;p&gt;The honest case for a Wyoming or Delaware LLC is narrower and stronger than the tax pitch. It is an infrastructure decision. It gives a MENA founder access to the same financial plumbing a founder in London or Toronto takes for granted: Stripe, Mercury, stable banking, a currency that holds its value, without asking anyone to leave home, change citizenship, or pretend to be something they are not. Founders in Iraq, Palestine, or Syria, where local financial infrastructure is under even more structural pressure, are running the same model for the same reasons, with the same Mercury account and the same IRS fax queue.&lt;/p&gt;
&lt;p&gt;For a founder spending real attention every week just keeping money moving, that is not a loophole. It is the difference between fighting your infrastructure and forgetting it exists. Most weeks, forgetting it exists is the entire goal.&lt;/p&gt;
</content:encoded><category>Money</category><category>founders</category><category>mena</category><category>legal-structure</category><category>banking</category><author>Crucible Editorial</author></item><item><title>The case for building internal tools instead of buying</title><link>https://readcrucible.com/articles/04-building-internal-tools</link><guid isPermaLink="true">https://readcrucible.com/articles/04-building-internal-tools</guid><description>After two years running a small team across a stack of subscriptions, the math on building internal tools has shifted. Here is the framework we use now.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;For about fifteen years, the correct default for a software team was to buy. Any internal need, whether tracking, scheduling, dashboards, or approvals, had a SaaS product behind it. The product was cheaper than an engineer&amp;#39;s time, and building your own was a sign you had not learned the lesson everyone else had already learned. Buy, integrate, move on. It was good advice, and for most of those years it was right.&lt;/p&gt;
&lt;p&gt;It is quietly stopping being right, and the reason is not ideological. It is arithmetic. Three numbers in the build-versus-buy calculation have all moved in the same direction at once, and most teams have not rerun the sum since the inputs changed.&lt;/p&gt;
&lt;p&gt;This is not an argument to build everything. Building everything is its own expensive mistake, and we will get to where the line actually sits. It is an argument to rerun the calculation, because the version most teams are still using is several years out of date, and a stale calculation produces confident wrong answers.&lt;/p&gt;
&lt;h2&gt;What changed&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;The cost of building dropped.&lt;/strong&gt; Not by a little. A competent engineer with Cursor open can stand up an internal tool, a real one with a database, an interface, and authentication, in a fraction of the time the same tool would have taken five years ago. The boring parts that used to eat the schedule are now mostly handled by the framework or the assistant. For lighter data-driven UIs, Retool or Internal.io let a non-engineer wire a CRUD interface to a Postgres database in an afternoon. Glide and Softr take that further, generating mobile-ready interfaces over Airtable or an existing database with no code at all. Bubble handles more general app logic. For teams with engineers, AI-assisted editors like Cursor and GitHub Copilot compress the work on custom queries and business logic; for larger structural changes, tools like Claude Code handle refactors that used to require a sprint. The build estimate you carry in your head is probably the estimate from the last time you actually built something, and that estimate is stale. Most teams are quoting themselves 2021 prices.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The cost of buying rose.&lt;/strong&gt; Per-seat pricing was designed for a world where you bought one or two tools. Teams now run thirty or forty, and each one renews annually with a quiet increase. Worse, the pricing model has drifted. The feature you actually need has a habit of living one tier above the one you are on, so you pay for a whole bracket of capability to reach a sliver of it. Add it up across the entire stack and the number is genuinely surprising. Most teams have never added it up, which is itself the problem.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The cost of integration rose.&lt;/strong&gt; This is the number teams miss entirely, because it never arrives as an invoice. Every tool you buy is a tool you must connect to the others, keep in sync, govern, and account for when something three steps away breaks. Zapier works well until you hit its task limits and the per-task cost starts to compound; at that point, teams often move to Make (formerly Integromat), n8n on a self-hosted instance with flat pricing, or Pipedream for code-first workflows. That migration itself costs something. Forty tools is not forty problems. It is the set of all the ways forty tools can disagree with each other, and that set is much larger than forty. Every new subscription quietly raises the cost of every existing one.&lt;/p&gt;
&lt;p&gt;There is a fourth shift, harder to put a number on. The reversibility gap has narrowed. A few years ago, building meant a long commitment to code that only one person fully understood. Today a small, well-scoped internal tool is genuinely cheap to throw away and rebuild. Supabase gives you Postgres, auth, and file storage in a single project you can spin up in minutes; Pocketbase ships as a single binary with SQLite and a built-in admin UI; Neon gives you serverless Postgres with branching, so you can test schema changes without risking production. The infrastructure to stand something up and then abandon it has never been cheaper, which means a build decision is no longer a one-way door. That changes the risk calculation as much as the cost one.&lt;/p&gt;
&lt;p&gt;Run those four shifts together and the build-versus-buy line has not vanished. It has moved. The set of tools that are now cheaper to build than to keep renting is meaningfully larger than it was, and it grows a little every year.&lt;/p&gt;
&lt;h2&gt;The framework&lt;/h2&gt;
&lt;p&gt;So which tools fall on which side of the line. We use four questions, in order, and we stop at the first one that gives a clear answer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;One: how specific is the workflow?&lt;/strong&gt; This is the most important question by a wide margin. A bought tool is a frozen average of how a thousand companies do something. If your process is close to that average, whether payroll, email, or video calls, buying is correct and building would be vanity. But if your process is unusual, and the unusual part is where your actual advantage lives, a bought tool forces a bad trade. You either contort your process to fit the software, or you pay, in workarounds, for the gap between them. Build the tools that touch the work you do &lt;em&gt;differently&lt;/em&gt; from everyone else. Buy the rest without guilt.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Two: how stable is the need?&lt;/strong&gt; Some needs change every quarter as you learn. Others have not changed in three years and will not change in three more. Counterintuitively, the stable needs are the better build candidates. A tool for a stable need is built once and then quietly amortizes for years. A tool for a volatile need is a maintenance commitment that never ends, and a vendor whose entire job is to absorb that volatility starts to look like a bargain. Build the boring, settled things. Rent the things still in motion.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Three: what does the integration actually cost?&lt;/strong&gt; Sometimes you buy a capable, fairly priced tool and still lose, because making it talk to your other systems is its own permanent project. A modest tool you built, sitting directly on your own database with no sync layer and no webhook glue, can beat a better bought tool that has to be wired in and rewired every time an API changes. Count the wiring. The wiring is real, and it is the cost teams most reliably forget.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Four: who carries it afterward?&lt;/strong&gt; Every built tool needs an owner. Not a person who fixes bugs, but a person with the authority to refuse features. If you cannot name that person before you start, do not start. Buy instead, and let the vendor be the owner. An unowned internal tool does not stay small. It accumulates scope until it is its own small, unloved product, and then it is worse than the thing you were avoiding.&lt;/p&gt;
&lt;p&gt;These four questions are not meant to produce a surprising verdict. They are meant to make you state the reasoning out loud, because a decision you can explain is a decision you can revisit later without re-litigating it from scratch.&lt;/p&gt;
&lt;h2&gt;The framework applied: an analytics dashboard&lt;/h2&gt;
&lt;p&gt;Take a concrete example. Your team needs a dashboard showing pipeline conversion, support ticket volume, and revenue by cohort. You use this every week in a Monday review. The data lives in your own Postgres instance.&lt;/p&gt;
&lt;p&gt;Run it through the four questions. Question one: is the workflow specific? Weekly pipeline reviews are standard. The data schema, though, is yours, and the metrics you care about are composed in a way that does not map cleanly to any off-the-shelf chart. Slightly specific, but not decisively so. Question two: stability? You have been reviewing the same five metrics for eighteen months without changing the definition. Stable. Question three: integration cost? If you buy, you need a data connector to your Postgres instance and ongoing maintenance when the schema changes. If you build, the tool reads directly from the same database. Question four: owner? Your head of operations already manages the Monday review and has the context to refuse scope creep.&lt;/p&gt;
&lt;p&gt;Three of four questions point toward build. Here is what that actually looks like in practice. The build path: Retool connected directly to your Postgres database, custom SQL queries written in the Retool query editor or refined with Cursor for anything complex, deployed in about three to five days of engineering time. Cost: Retool&amp;#39;s free tier covers small teams; the business tier runs around {/* TODO: verify current Retool per-seat pricing, approximately $10-12/user/month as of mid-2026 */}. The buy path: Metabase Cloud or Mode, one-day setup, approximately $150 to $500 per month depending on seat count and tier, plus the time to configure the data connection and rebuild your metric definitions in their query language. At small team sizes, Metabase or Mode wins on speed to first chart. At the point where the custom metric logic becomes load-bearing, and especially once the database schema is something your team controls entirely, the Retool build stops feeling like a project and starts feeling like a normal part of the codebase.&lt;/p&gt;
&lt;p&gt;The four questions do not always land this clearly. Sometimes question one terminates the whole exercise immediately. A CRM is a maximally standard workflow: use HubSpot or Pipedrive, configure it, move on. A help desk is the same: Intercom or Zendesk exists precisely so you do not have to think about this. For accounting, Xero or QuickBooks has absorbed decades of compliance complexity you genuinely do not want to reconstruct. Auth for a compliance-heavy product belongs to Auth0 or Clerk, not to a bespoke session handler someone built before they fully understood PKCE. The point of the framework is not to surface clever build candidates. It is to rule out the obvious buys quickly, so you have real attention left for the middle cases.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Build the tools that touch the work you do differently from everyone else. Buy the rest, and do not feel clever about either decision.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;What this looks like in practice&lt;/h2&gt;
&lt;p&gt;For most small teams, applying the framework honestly produces a stack in three layers.&lt;/p&gt;
&lt;p&gt;There is a layer you should &lt;strong&gt;always buy&lt;/strong&gt; and never reconsider. Email, calendars, video, payroll, accounting: the operating-system-level tools. These are maximally standard, maximally stable, and ferociously well served by vendors who have spent a decade on them. Building any of them would be a story you tell against yourself later.&lt;/p&gt;
&lt;p&gt;There is a layer you should &lt;strong&gt;always build&lt;/strong&gt;, or at least always seriously consider building. The tools that sit directly on top of the specific way you work. The thing that encodes your particular pipeline, your particular review process, your particular definition of a customer. These are the tools where a bought average actively costs you, because the non-average part is the part that matters, and no vendor will ever model it for you. For teams comfortable with a little code, Supabase as the backend and Retool or a Lovable-generated frontend as the interface gives you a working v1 without much ceremony. For teams with almost no engineering bandwidth, Airtable as the database with a Softr or Glide layer on top gets surprisingly far for surprisingly little.&lt;/p&gt;
&lt;p&gt;And there is a wide, genuinely contested &lt;strong&gt;middle layer&lt;/strong&gt;, where the answer depends on this quarter&amp;#39;s numbers and should be revisited as they move. The framework is most useful here. The mistake is not landing on the wrong side of a middle-layer decision once. The mistake is never deciding at all, defaulting to &amp;quot;buy&amp;quot; because that was the right default in a calculation you ran years ago and have not run since.&lt;/p&gt;
&lt;p&gt;A useful exercise: take your current tool list, mark each tool with the layer it belongs to, and look hard at the middle. That is where the savings and the risks both live.&lt;/p&gt;
&lt;h2&gt;The cost nobody quotes you&lt;/h2&gt;
&lt;p&gt;Honesty requires the other side of this.&lt;/p&gt;
&lt;p&gt;A built tool has no price tag, which is exactly what makes it dangerous. A bought tool announces its cost every month. You can see it, resent it, and cancel it in ninety seconds. A built tool&amp;#39;s cost is silent and ongoing: the bug nobody is assigned to, the dependency that needs updating, the new hire who needs the tool explained because there is no documentation and no support article and no one whose job it is to write either. That cost is invisible, and invisible costs are the ones that quietly compound until someone finally notices the team is spending a day a week maintaining its own software.&lt;/p&gt;
&lt;p&gt;So the framework is not &amp;quot;build more.&amp;quot; It is &amp;quot;build deliberately, and account fully.&amp;quot; Before you build, write down two things: who owns the result, and what you expect to spend keeping it alive, not just making it. If you cannot answer both, you have not found a build candidate. You have found a reason to buy.&lt;/p&gt;
&lt;p&gt;The teams that get this right are not the ones who build the most. They are the ones who buy the standard layer without guilt, build the specific layer without hesitation, and treat the middle as a live decision they rerun on purpose. The default of the last decade, buy everything, was a reasonable answer to the conditions of the last decade. The conditions changed, and the Retool dashboard your team would have farmed out to a BI vendor in 2020 now takes a few days and costs less per month than a single Metabase seat.&lt;/p&gt;
</content:encoded><category>Product</category><category>build-vs-buy</category><category>saas</category><category>internal-tools</category><category>frameworks</category><author>Crucible Editorial</author></item><item><title>What a ten-person team&apos;s tech stack actually looks like in 2026</title><link>https://readcrucible.com/articles/05-ten-person-team-stack</link><guid isPermaLink="true">https://readcrucible.com/articles/05-ten-person-team-stack</guid><description>What software a ten-person product team actually runs on in 2026, with monthly costs, and the parts nobody usually admits to.</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Every few months a company publishes its tech stack, and the stack is always a little too clean. Every tool is best-in-class. Every tool is used fully. Nothing is half-abandoned, nothing is kept only because migrating off it would ruin a week, and the monthly total is never mentioned.&lt;/p&gt;
&lt;p&gt;This is the other version. A composite of what ten-person product teams we know actually run on in 2026, including the costs, the redundancy, and the tools that survive purely because removing them is more annoying than keeping them. It is less tidy than a company blog. It is also more useful, because the untidy parts are where the real decisions live.&lt;/p&gt;
&lt;h2&gt;The foundation&lt;/h2&gt;
&lt;p&gt;Some categories are not arguments. Every team has them, every team buys them, and nobody should spend a meeting on them.&lt;/p&gt;
&lt;p&gt;Email and calendars run on Google Workspace at roughly $6 per seat or Microsoft 365 at the same price. Both bundles include Meet or Teams for video, which is fine for most calls. The team still often pays for Zoom separately ($15 per host per month) because Meet is fine and Zoom is reliably good, and reliability matters when the call involves a customer. Payroll runs on Gusto, Rippling, or Deel; expense cards on Brex or Ramp; accounting in Xero or QuickBooks. Combined, those money-layer tools land between $300 and $500 a month for a team this size, scaling with headcount and which tiers you choose. Code lives on GitHub at $4 per developer, or GitLab if the team came up on it and has no reason to move.&lt;/p&gt;
&lt;p&gt;Call the foundation layer $250 to $400 a month. It is boring, it is correct, and the only mistake available here is overthinking it. Teams that agonize over this layer are usually avoiding a harder decision somewhere else.&lt;/p&gt;
&lt;h2&gt;Where the team actually lives&lt;/h2&gt;
&lt;p&gt;Two or three tools absorb most of the working day, and these are worth real attention, because the team pays for them in hours, not just dollars.&lt;/p&gt;
&lt;p&gt;There is a work tracker. For most product teams in 2026 this is Linear at $8 per seat, which has largely won the hearts-and-minds war against Jira ($8 per seat) for teams under fifty people. Jira persists where enterprise customers or existing Atlassian contracts require it, or where a team built its whole process around it and the migration cost is genuinely prohibitive. Asana sits between them: better than Jira for non-engineering workflows, less opinionated than Linear for product development. The pricing is close enough across all three that the choice is almost purely about workflow fit.&lt;/p&gt;
&lt;p&gt;There is a chat tool. Slack at $7.25 per seat is the default. Microsoft Teams comes bundled with Microsoft 365, and teams that standardized on that suite often use it instead, though product and engineering teams frequently end up back on Slack anyway because the integrations are better and the developer culture leans that way. Either way, the tool is indispensable, and it is also the main reason focus is hard.&lt;/p&gt;
&lt;p&gt;There is a documentation tool. Notion at $8 per seat is where most teams land. Confluence stays alive where Jira is the work tracker and the Atlassian bundle makes sense. Coda works well for teams that want documents and databases tightly combined. Whichever one the team chose, it is the source of truth for roughly sixty percent of what matters. The rest lives in Slack threads and in people&amp;#39;s heads.&lt;/p&gt;
&lt;p&gt;That gap, the official knowledge base that is only ever partly true, is universal. No team has solved it. The teams that cope best are the ones that have stopped pretending the doc tool is complete, and instead made it cheap and unembarrassing to ask a person.&lt;/p&gt;
&lt;p&gt;There is a quieter cost in this layer too: switching cost paid in muscle memory. A team that moves from Jira to Linear is not just migrating tickets. It is asking ten people to unlearn a set of reflexes built over hundreds of hours. That cost is real, and it is almost never priced into the comparison when a shinier tool appears in a demo. Sometimes the shinier tool is genuinely worth the disruption. Often the honest answer is that the current one is good enough, and the months of friction are not.&lt;/p&gt;
&lt;p&gt;Budget the daily-driver layer at $300 to $450 a month. It is the layer most worth getting right and least worth being frugal about. Saving $20 a month here in exchange for a worse daily experience is a bad trade that compounds across every working hour.&lt;/p&gt;
&lt;h2&gt;The product stack&lt;/h2&gt;
&lt;p&gt;If the team ships software, there is a cluster of infrastructure that sits beneath the product: hosting, a database, error tracking, analytics, a transactional email service, and usually a feature-flag tool. Costs here are spiky and usage-based, which makes them the part of the stack most likely to deliver an unwelcome surprise on a Tuesday.&lt;/p&gt;
&lt;p&gt;Hosting choices in 2026 split roughly three ways. Vercel is the default for frontend-heavy teams, especially those on Next.js. Railway and Fly.io handle backend services and long-running workloads at a lower operational overhead than AWS for small teams. AWS is still where you end up when the product has specific compliance needs, complex infrastructure, or someone on the team who knows it cold. Databases mostly run Postgres, via Supabase or Neon for teams that want managed infrastructure without the setup overhead, or directly on AWS RDS for teams already in that ecosystem.&lt;/p&gt;
&lt;p&gt;Error tracking is almost universally Sentry. Analytics splits between PostHog (strong default for product analytics with session replay and feature flags bundled), Plausible (lightweight, privacy-first, better for marketing sites than product internals), and Amplitude (enterprise-tier pricing, better for companies with a dedicated data analyst who will actually use the cohort features). Transactional email runs on Resend, Postmark, or AWS SES. Resend has gained ground quickly among newer teams for its developer-friendly API; Postmark remains the reliable incumbent; SES is cheapest at scale but requires more setup. Feature flags are either LaunchDarkly (expensive, powerful, worth it after Series A) or PostHog&amp;#39;s built-in flags, which are good enough for most teams at a fraction of the cost.&lt;/p&gt;
&lt;p&gt;A ten-person team typically lands between $300 and $800 a month on this layer, with the spread depending almost entirely on traffic and how disciplined the team is about turning off what it is not using.&lt;/p&gt;
&lt;p&gt;The honest note here is that this is where teams over-provision. The instinct is to buy the plan for the company you hope to be in eighteen months. The discipline is to buy the plan for the company you are this month, and to revisit it when reality actually arrives.&lt;/p&gt;
&lt;p&gt;The other trap in this layer is the tool bought during an incident. Something breaks at two in the morning, someone signs up for a monitoring product that would have caught it, and the subscription then outlives the memory of the incident by years. Incident-driven purchases are rarely wrong on the day they are made. They are rarely re-examined afterward, which is exactly how a stack ends up with three overlapping observability tools, each one bought during a different bad night by a different tired person.&lt;/p&gt;
&lt;h2&gt;The specialized layer&lt;/h2&gt;
&lt;p&gt;Here is where published stacks get vague and real stacks get specific, because this layer depends entirely on what the company does.&lt;/p&gt;
&lt;p&gt;A team doing outbound sales runs a CRM and an outreach tool. HubSpot handles the full CRM-plus-marketing motion but prices up quickly as the contact list grows. Pipedrive is leaner and cheaper for pure sales pipeline work. Attio has gained real traction with early-stage product-led companies that want CRM data modeled around their own objects rather than a vendor&amp;#39;s assumptions. For outreach, Apollo and Lemlist are the common choices, often bought by whoever owns the sequence workflow and rarely reviewed by anyone else.&lt;/p&gt;
&lt;p&gt;A support-heavy team runs a help desk. Intercom is the most feature-complete and the most expensive. Pylon is built specifically for B2B customer success and Slack-native support. Plain is newer and developer-friendly, with a clean API model. The right one depends on whether support happens in email, in a shared Slack channel, or in a purpose-built portal.&lt;/p&gt;
&lt;p&gt;Teams in genuinely particular lines of work reach past the horizontal products entirely. A creator agency in MENA running its own talent management system, or a chain of dental clinics, will reach for purpose-built vertical tools that handle workflow specifics a general-purpose CRM simply does not model. The pattern holds across industries: vertical software wins wherever the workflow is too specific for a horizontal tool to fake convincingly.&lt;/p&gt;
&lt;p&gt;The specialized layer is the one to scrutinize hardest, because it is where redundancy hides. Teams routinely run two tools that overlap by eighty percent, because each was bought by a different person in a different quarter to solve what looked like a different problem. Cost varies too widely to generalize, anywhere from $100 to $600 a month, but the audit is the same everywhere. List this layer, find the overlaps, and cut one tool from each overlapping pair. Almost always possible, almost always uncomfortable, because someone chose each tool and nobody enjoys having their choice retired.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Nobody buys a bad stack on purpose. They buy seven good decisions across two years, and end up with a stack that costs more than any one of those decisions intended.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;The tools nobody mentions&lt;/h2&gt;
&lt;p&gt;Every real stack has a few of these, and leaving them off the published version is the small lie that makes published stacks useless as a reference.&lt;/p&gt;
&lt;p&gt;There is at least one paid tool used by exactly one person, kept because that person depends on it and nobody wants to have the conversation. There is a subscription nobody can fully account for. It appears on the Brex or Ramp statement, it is plainly being used by something, and the original buyer has long since left the company. There is the free tier quietly load-bearing a real workflow, one pricing-page change away from a genuinely bad week. The PostHog free tier is a common example: the feature flags are in production, the plan limit is close, and nobody has looked at the billing page in months.&lt;/p&gt;
&lt;p&gt;There is the spreadsheet. There is always the spreadsheet, doing a job that three purchased tools were supposed to do, outliving all of them, because it works and everyone already knows how it works.&lt;/p&gt;
&lt;p&gt;None of this is a failure. It is just what a stack looks like after two years of reasonable people making reasonable local decisions without anyone holding the global picture. Naming these tools out loud, without blame, is the only way they ever get reviewed at all.&lt;/p&gt;
&lt;h2&gt;The total, and the real lesson&lt;/h2&gt;
&lt;p&gt;Add it honestly and a ten-person team in 2026 spends somewhere between $1,200 and $2,500 a month on software. That is $120 to $250 per person. Not alarming. Not nothing. Almost always ten to twenty percent larger than anyone on the team would have guessed before adding it up.&lt;/p&gt;
&lt;p&gt;That gap between the guess and the number is the actual lesson. No team sets out to buy a bloated stack. It buys seven sensible tools over two years, each justified on the day it was bought, and the bloat is simply the sum: a thing no single decision is responsible for, and therefore a thing no single decision ever fixes.&lt;/p&gt;
&lt;p&gt;The teams that keep their stacks lean do one unglamorous thing. Once or twice a year they put the whole list on a single page, with the real monthly cost beside each line, and they make someone defend every entry out loud. Tools that cannot survive that sentence get cancelled. It takes an afternoon. It is the highest-return afternoon on the operations calendar, and it is the one most teams never schedule, because nothing is on fire and the savings belong to no one in particular.&lt;/p&gt;
&lt;h2&gt;One last thing worth saying plainly. A lean stack is not really the goal. A legible stack is. The win is not the smallest possible number of tools. It is a stack where every line has a person who would defend it and a reason that still holds today. A team can run perfectly well on forty tools if all forty are understood and owned. The danger was never the count. It was the drift: the slow accumulation of software that nobody quite decided to keep and nobody quite decided to cut. The annual review is simply how you convert that drift back into decisions someone is accountable for.&lt;/h2&gt;
</content:encoded><category>Operations</category><category>stack</category><category>tools</category><category>teams</category><category>costs</category><author>Crucible Editorial</author></item><item><title>Finding focus when your team is split across four time zones</title><link>https://readcrucible.com/articles/06-focus-across-time-zones</link><guid isPermaLink="true">https://readcrucible.com/articles/06-focus-across-time-zones</guid><description>Practical advice for founders running teams across several time zones, past the surface-level instruction to simply go async.</description><pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;When a team first spreads across several time zones, the advice arrives within the week, and it always arrives in the same two words. Go async. It is correct advice. It is also close to useless, because it describes a destination as if it were a switch.&lt;/p&gt;
&lt;p&gt;Async is not a setting you enable. It is not a checkbox in a tool, a line in a handbook, or a status next to your name. It is a set of habits the whole team has to build, slowly, mostly by doing the uncomfortable thing on purpose until the uncomfortable thing becomes ordinary. A team can adopt every async tool on the market and still operate, in every way that matters, synchronously. Just synchronously and badly, with everyone waiting on everyone else and calling the waiting &amp;quot;flexibility.&amp;quot;&lt;/p&gt;
&lt;p&gt;Here is what the two words leave out.&lt;/p&gt;
&lt;h2&gt;The real problem is the handoff, not the hours&lt;/h2&gt;
&lt;p&gt;When people picture a distributed team failing, they picture the meeting nobody can attend. That is the visible problem, and it is the smaller one.&lt;/p&gt;
&lt;p&gt;The expensive problem is the handoff. Someone in one time zone finishes their day with a question, a blocker, or a piece of work that needs another person&amp;#39;s input. That person is asleep. In a co-located team, the question is resolved in ninety seconds by turning a chair. In a distributed team, it is resolved in the next overlap window if you are lucky, and after two or three more bounces if you are not. A thing that needed two minutes of attention has quietly cost two days of calendar.&lt;/p&gt;
&lt;p&gt;Across four time zones this is not an occasional friction. It is the texture of every working day. The team that does not name it specifically will instead try to fix it by being online more, stretching their hours toward each other until everyone is a little tired and nobody is ever fully off. That is the failure mode: a distributed team that has not built genuine async habits does not become flexible. It becomes a team that is always slightly on call, which is the most expensive state a team can be in, because it costs energy without producing output.&lt;/p&gt;
&lt;h2&gt;Write the handoff down&lt;/h2&gt;
&lt;p&gt;The single habit that does the most work is also the least exciting. People have to learn to end their day in writing.&lt;/p&gt;
&lt;p&gt;Not a status update. A handoff. Before logging off, the question becomes: what does the next person, in the next time zone, need from me in order to not be blocked. Then you write that. The decision you made and why. The thing you are stuck on, stated precisely enough that someone can act on it without a follow-up call. The work that is ready for review, with a note on what to look at first. It takes ten or fifteen minutes. It feels, the first dozen times, like overhead.&lt;/p&gt;
&lt;p&gt;But it is the difference between a handoff that costs ten minutes and one that costs two days. A team that learns to write the end of its day well can run genuinely around the clock, with work moving from zone to zone like a relay.&lt;/p&gt;
&lt;p&gt;Here is a template worth copying verbatim into your next handoff comment, whether you are leaving it in a Linear ticket, a GitHub pull-request description, or a Notion page:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Context: &amp;lt;what changed since you last looked&amp;gt;
What&amp;#39;s done: &amp;lt;linked PRs, docs, tickets&amp;gt;
What&amp;#39;s blocked: &amp;lt;named blockers, owner if known&amp;gt;
What you should pick up: &amp;lt;specific next action, expected time&amp;gt;
Decisions to make: &amp;lt;questions only you can answer, with deadline&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The structure forces the writer to think from the next person&amp;#39;s point of view, not their own. The test is simple: could someone in the next time zone make the next real move without sending a single message? If yes, the handoff is done. If they would have to ask even one clarifying question, the handoff has a hole, and that hole costs a full day to close while you sleep.&lt;/p&gt;
&lt;p&gt;For anything that genuinely needs demonstration rather than description, a short Loom recording attached to the handoff comment is faster than paragraphs of prose. Tella is worth knowing too: cleaner editing and a faster trim workflow, which matters when you are recording a ninety-second handoff at 5 pm and not a polished tutorial.&lt;/p&gt;
&lt;h2&gt;Protect the overlap by spending less of it&lt;/h2&gt;
&lt;p&gt;Across four time zones there is usually ninety minutes to two hours when most of the team is awake at once. Use World Time Buddy or Clockwise to find and protect that window. Then spend it carefully.&lt;/p&gt;
&lt;p&gt;The instinct is to fill the overlap with meetings, because it is the only time meetings feel easy. That instinct is wrong. The overlap window is the team&amp;#39;s rarest resource, and rare resources should be spent only on what genuinely requires them. Status does not need overlap. Status needs a written update that people read on their own schedule. Most decisions do not need overlap either. They need a clearly framed question, a real deadline, and a named person who decides if no consensus forms.&lt;/p&gt;
&lt;p&gt;A fixed agenda helps. Ours looks like this: fifteen minutes on decisions that were blocked in yesterday&amp;#39;s handoffs; thirty minutes of pair work if anything is stuck and needs two people on it (Tuple for engineers who want a proper pairing environment, Pop for everything else); fifteen minutes to confirm today&amp;#39;s handoff packets; remainder open or cancelled. The meeting only fires if someone has placed an item there before it starts. Most days it does not fire, and the overlap goes to heads-down work instead.&lt;/p&gt;
&lt;p&gt;What actually requires synchronous time is narrow: the genuinely ambiguous discussion, the conversation that would take twenty messages and three misreads to have in text, and the occasional moment of being human together so the team stays a team and not just a shared backlog. Guard the window for those things.&lt;/p&gt;
&lt;p&gt;The version of &amp;quot;more overlap&amp;quot; that founders reach for first, asking people to shift their hours, is a tax on someone&amp;#39;s mornings or someone&amp;#39;s evenings. That tax compounds quietly into resentment, and then, eventually, into a resignation email that seems to come from nowhere.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A distributed team that hasn&amp;#39;t built real async habits doesn&amp;#39;t become flexible. It becomes a team that is always slightly on call.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Focus is a team property, not a personal one&lt;/h2&gt;
&lt;p&gt;Most focus advice is addressed to the individual. Block your calendar. Mute the channels. Build the deep-work ritual. Useful, but not the main lever on a distributed team.&lt;/p&gt;
&lt;p&gt;On a distributed team, an individual&amp;#39;s focus is mostly determined by the team&amp;#39;s habits, not their own discipline. If the culture is that questions get answered fastest by interrupting, people will interrupt, and no personal ritual survives that for long. If the culture is that being unreachable for three hours is normal and safe, because anything truly urgent has an understood escalation path and everything else can wait for the handoff, then focus stops requiring heroics. It becomes the default condition, the thing that happens when nobody is fighting it.&lt;/p&gt;
&lt;p&gt;This is the reframe that matters. The founder&amp;#39;s job is not to teach ten people to concentrate. It is to build a team where concentration is the path of least resistance: where the async habits are real enough that going heads-down for a stretch costs nothing and blocks no one. Focus, on a distributed team, is downstream of culture. You do not coach it into individuals one by one. You build it into the system, and then the individuals get it for free.&lt;/p&gt;
&lt;p&gt;Chat tools matter here more than people admit. Slack is the default, and it is fine when &amp;quot;snooze&amp;quot; and &amp;quot;scheduled send&amp;quot; are on by default for everyone on the team, so messages composed at midnight do not ping anyone until morning. For teams that want more structural separation between async and urgent, Twist was built thread-first with no real-time pressure baked in, and the difference is noticeable: people stop treating every message as a tap on the shoulder.&lt;/p&gt;
&lt;h2&gt;Measure the handoff, not the hours&lt;/h2&gt;
&lt;p&gt;Focus and culture reframes matter only if they change behavior. To know whether they are changing behavior, you need a number.&lt;/p&gt;
&lt;p&gt;Here is one that actually tells you something: count the stalled-overnight rate. A handoff is stalled-overnight if it sat past the next timezone&amp;#39;s working hours without being picked up or explicitly deferred. Track that count for two weeks before changing anything. Two weeks of baseline data tells you whether the handoff process needs work or whether the team is fine and the friction lives somewhere else entirely. A team getting better at async watches the stalled-overnight count fall, even as it spends less total time online. A team getting worse watches it rise while everyone reports feeling busier than ever.&lt;/p&gt;
&lt;p&gt;The feeling of busyness and the health of the system point in opposite directions here, which is exactly why you have to measure the thing rather than trust the feeling.&lt;/p&gt;
&lt;h2&gt;Say the quiet things on purpose&lt;/h2&gt;
&lt;p&gt;The last piece is the one tools cannot touch. A co-located team gets a steady drip of low-stakes context for free: overheard remarks, the read of a room, the small frictions that surface in a hallway before they harden into problems. A distributed team gets none of that. The absence is silent, which is what makes it dangerous.&lt;/p&gt;
&lt;p&gt;So the things that would have surfaced on their own now have to be surfaced deliberately. The mild disagreement that a hallway would have aired gets written down, on purpose, while it is still mild and still cheap to resolve. The decision that &amp;quot;everyone basically knows&amp;quot; gets stated explicitly, because across four time zones &amp;quot;everyone basically knows&amp;quot; is reliably false, and the gap between what people assume and what is true widens every week nobody checks it. The check-in that is not about work happens because someone scheduled it.&lt;/p&gt;
&lt;p&gt;This feels unnatural. It keeps feeling slightly unnatural. You do it anyway. A distributed team that only ever communicates about tasks slowly forgets it is a team and becomes a group of contractors who share a repository. The remedy is not a tool and not more meetings. It is the discipline of saying the quiet things out loud, early, before silence turns them into something larger and harder.&lt;/p&gt;
&lt;p&gt;None of this is a setting. The template, the overlap agenda, the stalled-overnight count: each one is a habit the team has to choose, repeatedly, until it becomes ordinary. The two words everyone hands you in week one are correct and they describe roughly none of that.&lt;/p&gt;
</content:encoded><category>Mindset</category><category>remote</category><category>async</category><category>focus</category><category>distributed-teams</category><author>Crucible Editorial</author></item></channel></rss>