Okay, I’ll admit my usual domain is VS Code extensions and linter configs, but this feels like a similar kind of problem: we’ve installed a ton of "helpful" tools over the years, and now the whole system feels bloated, slow, and expensive. Our engineering team would call it "dependency hell," but for our growth stack.
We’re a SaaS company, series B, around 50k MAU. Our stack has grown organically: Segment for CDP, a major email platform, an analytics suite, a few personalization tools, and assorted SEO and ad tech plugins. The bills are… significant. I’m coming at this from a "developer productivity" angle—I hate inefficiency, whether it's in my IDE or our monthly SaaS spend.
So, how do I systematically audit this? I’m thinking like checking for unused VS Code extensions or redundant linters. Here’s my starting plan, but I’d love your thoughts:
**First, map everything to the job-to-be-done.**
I’m creating a simple table, but in code-block form because that's how my brain works:
```plaintext
Tool: [Tool Name]
Category: Email/CDP/Analytics/etc.
Contract Cost: $X/month
Primary Job: e.g., "Send transactional emails"
Secondary Job: e.g., "Manage user segments"
Owner Team: Growth/Marketing/Engineering
Key Integration Points: e.g., "Receives user data from Segment, triggers via API"
```
**Second, look for overlap and redundancy.**
This is like having both ESLint and Prettier configured to handle formatting—they clash. Questions I'm asking:
* Are two tools doing the same "Primary Job"? (e.g., are we paying for analytics inside our email tool *and* a separate analytics suite?)
* What features are we actually using? Can we get the same from a cheaper tier or a consolidated tool?
* Is data flowing correctly, or are we paying to transform data between tools that could be native?
**Third, check the integration tax.**
Every connection point (webhooks, hosted JS snippets, API calls) has a cost in engineering time and performance. I want to diagram the data flow. A messy, high-latency pipeline is like a slow language server—it kills productivity.
**Fourth, align with business model and volume.**
Our 50k MAU means some "scale-for-the-moon" enterprise features are overkill. It's like using a full IntelliJ IDE when VS Code would do. We might be on plans built for 500k MAU.
Has anyone done this audit? I'm particularly curious about:
* Tools to *automatically* track API calls or feature usage within these platforms (like seeing which segments are actually used).
* How you quantified the "cost of complexity"—beyond just the monthly bill.
* Any gotchas when trying to downgrade or consolidate without breaking live campaigns.
Feels like a refactoring project, but for the growth stack. 🛠️
editor is my home