We Replaced a $5k/Month SaaS Stack With Claude Code. Here's What Changed.
A transparent breakdown of how Stellar Digital cut monthly software costs from $5,200 to under $300 by replacing enrichment orchestration, research, and reporting tools with Claude Code -- and the real tradeoffs that came with it.
We were paying $5,200 a month in SaaS to run our GTM. Today the same workflows cost us under $300, the output is better, and we own the code. Here's what we actually changed, what we kept, and the parts that were harder than I expected.
This isn't a Claude Code pitch. It's an honest write-up of a migration we ran on ourselves.
The old stack and what it cost
Our monthly SaaS bill before the migration:
| Tool | Monthly Cost | What We Used It For |
|---|---|---|
| Clay | $500 | Enrichment orchestration, waterfall logic |
| Apollo | $400 | Contact data and company search |
| Zapier | $200 | Workflow automation, system connections |
| Make | $100 | More complex multi-step automations |
| Prospeo + Hunter | $300 | Email finding and verification |
| Clearbit | $200 | Company enrichment data |
| Manual research | $1,000 | 20+ hours/month at $50/hr average |
| Total | $2,700/month |
Real cost was closer to $3,500/month.
The money wasn't even the worst part. The worst part was the ceiling. Clay is powerful, but it runs on Clay's logic. Anytime we wanted enrichment to do something Clay didn't support (custom scoring based on enrichment results, cross-referencing against our own historical data, conditional branching by company type) we hit a wall. Zapier and Make have the same problem at a different layer. These tools are built for common use cases. Ours kept getting less common.
What we replaced and what we kept
Before I get into numbers, let me be clear about what this migration is. We didn't rip out the entire stack and replace it with an AI. We replaced specific components where custom code gave us better outcomes than SaaS. The distinction matters.
What Claude Code replaced
Enrichment orchestration (Clay, $500/month): The waterfall is fundamentally a decision tree. Try source A, if no result try source B, verify, write to database. Claude Code, backed by Python scripts that call each enrichment API, replicates this with more flexibility and zero per-row pricing. Our scripts call the same APIs Clay was calling. The difference is the logic is ours. Workflow automation (Zapier + Make, $300/month): Most of our Zaps and Make scenarios were data transformation and routing. Take output from script A, clean it, route to destination B. Claude Code with a well-configured directive structure handles this natively. The if-then logic that used to live in a visual builder now lives in Python. Faster, more reliable, easier to debug. Manual research (20+ hours/month): The biggest win, honestly. Reviewing companies, checking websites, writing personalization notes. All of this is now Claude Code using Playwright for web research and our enrichment scripts for data. Output quality is higher than what junior researchers were producing because the process is consistent. There's no variance in how thoroughly each lead gets researched. Report generation: Weekly client reports used to require someone pulling data from multiple sources, pasting into a template, writing a summary, and sending. Now Claude Code pulls from Supabase, formats into a Google Sheet, writes the summary, and drops the link in Discord. Nobody touches it.What we kept
Instantly ($300/month, unchanged): We still use Instantly to send. Claude Code is not an email sending platform. It doesn't manage inbox rotation, domain health, sending schedules, or deliverability monitoring. Instantly does these things well at a reasonable price. Replacing dedicated email infrastructure with a general-purpose AI would be a bad trade. Supabase ($50/month): We need a database. Supabase is cheap, reliable, and the Supabase MCP server makes it natively accessible from Claude Code sessions. Not something we want to replace. It's infrastructure. Domain infrastructure (unchanged): DNS, warmup services, inbox rotation. Claude Code doesn't touch any of this. Email deliverability is its own discipline. Apollo ($400/month, partial): We cut Apollo usage way back but kept a lower-tier plan for prospecting and company search. The contact database is genuinely hard to replicate from scratch. Now we use Apollo more surgically (initial company and contact pull) instead of as the center of the enrichment workflow.The new cost structure
| Component | Monthly Cost |
|---|---|
| Claude API tokens | ~$175 |
| Supabase Pro | $50 |
| Apollo (reduced tier) | $99 |
| Prospeo + Hunter | $150 |
| Instantly | $300 |
| Total | ~$775/month |
The comparison that matters most: we eliminated $1,000/month in manual research labor and $800/month in orchestration tooling (Clay, Zapier, Make), and replaced both with about $175/month in Claude API tokens plus around 40 hours of upfront development to build the execution scripts.
That development investment paid back in month two.
The honest tradeoffs
This is the part most "we replaced X with AI" posts skip. Here's what we gave up.
Pro: 10x cheaper, better customization
The cost reduction speaks for itself. The customization improvement is arguably more valuable. We can build enrichment logic, scoring models, and reporting workflows that are specific to our operation, not what a SaaS tool's feature set happens to support. We added a cross-client deduplication check last month that would have been impossible in Clay. Took about three hours to build in Python.
Con: Technical maintenance is now our problem
Every SaaS tool we replaced was handling its own reliability. When Zapier's API changed, Zapier fixed it. When Clay added a new enrichment source, Clay shipped it. Now when an enrichment API changes its response format, we update the script. When a library breaks, we fix it. The maintenance burden is real.
We estimate 4-6 hours per month of maintenance and improvement on the execution scripts. At our cost basis, still a favorable trade. For an agency without technical capacity, probably not.
Pro: We own the code
When you build your enrichment and automation logic inside SaaS tools, you're writing your operational playbook in someone else's format. If they change pricing, shut down, or kill a feature, your workflow goes with them. Our Python scripts live in a version-controlled repo. We can run them anywhere, hand them to any developer, and extend them without asking permission.
Con: Not "set and forget"
SaaS tools are designed to be configured once and monitored occasionally. Claude Code wants active engagement. Someone on the team needs to understand how the system works, catch when outputs drift, and maintain the directive library that governs Claude's behavior. The system is more powerful, but it asks for more of your brain.
Pro: Can do things SaaS literally cannot
The biggest unreplaceable advantage is cross-tool orchestration with custom logic. Our enrichment workflow now pulls from three sources, cross-references against our historical campaign data to skip contacts we already enriched, applies a custom ICP scoring model, and updates four different tables in a single coherent flow. No combination of SaaS tools could do that cleanly. Everything would require manual handoffs between systems.
Con: Learning curve is steep
Getting Claude Code to behave reliably means building out a proper CLAUDE.md, a directive library, and a tested execution script library. That's weeks, not days. Teams that approach Claude Code as a drop-in replacement for their SaaS tools will be disappointed. You're building a system, not installing a tool.
A real example: enrichment before and after
To make this concrete, here's how a lead enrichment run worked before and after.
Before (Clay-based):- Export new leads from Apollo as CSV
- Import CSV into Clay table
- Clay runs waterfall enrichment (Prospeo to Hunter to Clearbit)
- Manually review Clay output for errors
- Export enriched leads as CSV
- Import CSV into our CRM/database
- Manually flag low-confidence rows for follow-up
- New leads imported directly to Supabase via
execution/lead_sourcing/import_and_prepare_leads.py - Claude reads the enrichment directive, runs
execution/enrichment/enrich.pyagainst the Supabase records - Script calls Prospeo, Hunter, and Clearbit APIs in waterfall sequence
- Results written back to Supabase automatically
- Low-confidence rows flagged in a
needs_reviewfield - Claude posts summary to Discord: "Enrichment complete -- 200 leads, 163 verified, 18 flagged, 19 skipped"
Who should consider this switch
Good candidates:- Agencies doing $1M+ ARR with high-volume outbound
- Teams with at least one person who can write and maintain Python
- Operations where the SaaS tool ceiling is already being hit (you need custom logic the tools don't support)
- Companies paying per-row or per-seat fees that scale painfully with volume
- Agencies under $500k ARR (the setup cost doesn't justify the savings)
- Teams with no technical capacity (no developer, no one who can debug a script)
- Operations running standard workflows that existing SaaS tools handle well
- Anyone looking for a "plug it in and walk away" solution
What to do if you want to explore this
If you want to see whether this approach makes sense for your operation:
- Audit your actual SaaS bill. Not just the tool costs but the manual labor hours spent managing and working around tool limitations. That number is usually higher than people expect.
- Find the highest-friction workflows. Where are you spending the most time on manual handoffs, export-import cycles, or fighting tool limitations? Those are the best candidates to replace.
- Build one script and test it. Before committing to a full migration, pick one workflow and build the replacement. Run it in parallel with your existing tool for 2-3 weeks and compare output quality, reliability, and time investment.
- Model the real ROI. Include setup time, ongoing maintenance, and the value of customization. Not just the monthly cost delta.
The switch was worth it for us. The $4,400/month in savings is real. So is the four weeks it took to build the system properly. Both things can be true.
Frequently Asked Questions
Can Claude Code actually replace Clay for B2B enrichment?
For enrichment orchestration -- the logic layer that decides which sources to try, in what order, and what to do when one source fails -- yes. Claude Code can replicate Clay's waterfall enrichment by calling the same underlying APIs (Prospeo, Hunter, Apollo, Clearbit) through Python scripts, applying custom logic at each step, and writing results directly to a database. What you lose is Clay's visual interface and the ease of setup for non-technical users. What you gain is full customization, no per-row pricing, and logic that can be as complex as you need it to be.
What is the real monthly cost of running Claude Code for a GTM agency?
Our costs break down to roughly: $150-200/month in Claude API tokens (varies with volume), $50/month for Supabase (Pro plan), and existing subscriptions to tools Claude Code does not replace (email sending infrastructure, domain management). Total: $200-250/month for the AI and data layer. This compares to $2,700/month in SaaS tools we were paying for before the migration -- Clay, Apollo, Zapier, Make, and various enrichment APIs -- not counting manual research time.
How long does it take to replace a SaaS stack with Claude Code?
The migration took us about six weeks of part-time effort to do properly. The first two weeks were building and testing the core enrichment and scoring scripts. Weeks three and four were rebuilding the reporting workflows and integrating with our database. The final two weeks were running both systems in parallel to verify output quality matched or exceeded what the SaaS tools were producing. The timeline depends heavily on how complex your existing workflows are and whether you have someone technical to build the execution layer.
What are the biggest risks of replacing SaaS tools with Claude Code?
Three main risks: First, Claude Code requires ongoing technical maintenance. SaaS tools handle their own updates, API changes, and reliability -- you own all of that with custom code. Second, there is no support line. When something breaks at 2am, you debug it yourself. Third, the learning curve is real. Teams without technical capacity will struggle. The sweet spot is an agency with at least one person who can write Python, understands REST APIs, and is willing to build and maintain custom tooling.
Should every agency replace their SaaS stack with Claude Code?
No. For agencies under $500k ARR running standard outbound workflows, off-the-shelf SaaS tools are almost certainly the right choice. The setup cost and ongoing maintenance burden of a custom Claude Code stack does not justify the savings at small scale. The calculation changes as you grow: the per-seat and per-row pricing models of most SaaS tools scale linearly with volume, while a Claude Code API stack scales much more efficiently. The crossover point in our experience is around $1M-$2M ARR with high outbound volume.
Want us to build this for you?
30 minutes. We'll tell you what to automate first. No pitch, just the plan.
Book a free audit