The Hidden Line Item: Auditing Strapi's True Self-Hosting Cost
Objective: Given Five-Star Business Finance's engineering bandwidth and content-shape requirements, calculate the real annual cost of self-hosting Strapi against a managed platform's subscription price, then apply the lesson's decision tree to name a final recommendation.
You're the content-ops analyst at Five-Star Business Finance, the MSME secured-lending NBFC. Engineering is proposing self-hosted Strapi to avoid vendor lock-in on loan-product content; you've been asked to audit whether that's actually cheaper.
Calculate Strapi's fully-loaded annual engineering cost, compare it against Contentful's and Sanity's subscription pricing, then walk the lesson's decision tree using Five-Star's actual constraints to name a recommendation.
Before you start
What you'll need
Free path (everything below is enough to finish)
A cost audit that will be shown to finance and engineering needs to be a reviewable spreadsheet, not a verbal estimate.
The process
2 steps
Step 01 of 02
The lesson states that running a self-hosted option reliably (upgrades, backups, monitoring, plugin compatibility) typically consumes 0.25 to 0.5 FTE per year, which at a senior engineer's fully-loaded cost runs roughly $50K-$100K annually, often dwarfing a managed platform's subscription price.
Five-Star's senior engineers are fully loaded at ₹42L (~$50K) per year. Strapi self-hosting is estimated at 0.35 FTE. Contentful's Team plan runs ~$300/month. Which is actually cheaper on paper?
Procedure
- Row 1: Strapi annual cost = 0.35 FTE x $50,000 fully-loaded engineer cost = $17,500/year in engineering time alone.
- Row 2: Contentful annual cost = $300/month x 12 = $3,600/year in subscription fees.
- Compare the two totals directly, ignoring which option 'feels' more in-house or more modern.
- Flag any qualitative factor (vendor lock-in, data residency, customization ceiling) as a separate line, not folded into the dollar comparison.
SELF-HOSTING COST AUDIT (Five-Star Business Finance) Option Annual $ cost Notes Strapi (self-host) $17,500 0.35 FTE at $50K fully-loaded engineer cost Contentful (Team) $3,600 $300/month subscription, no engineering FTE required Delta: Strapi costs ~$13,900/year more once engineering time is priced in, despite having no subscription fee.
Healthy
The audit prices engineering time explicitly, so 'free and open-source' gets compared on the same basis as a subscription.
Unhealthy
Comparing Strapi's $0 license fee directly against Contentful's $300/month without ever pricing the engineering time Strapi requires.
What this means
'Self-hosted' is not free, it is a cost that moved from a subscription line to a headcount line, and headcount lines are usually larger.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| Engineering proposes self-hosting to 'save money' with no cost comparison attached | Require the FTE-cost line before approving, using the lesson's 0.25-0.5 FTE range as the estimate floor | 30 min |
Step 02 of 02
The lesson's decision tree routes on two questions in order: does the team already run WordPress, and does the team have strong in-house dev resources? Only teams with strong dev resources land on self-hosted Strapi; limited resources route to Sanity or Contentful based on whether dev experience or enterprise SLAs matter more.
Five-Star doesn't run WordPress and has one engineer with partial CMS bandwidth (not a dedicated platform team). Per the decision tree, where does that route, and does it match what the Step 1 cost audit found?
Procedure
- Answer 'Existing WordPress site?' -> No.
- Answer 'In-house dev resources?' -> Limited (one partial-bandwidth engineer, not a dedicated team).
- Follow the tree to the final branch: dev experience vs enterprise SLAs. Loan-product content needs compliance-grade audit trails, which reads closer to enterprise SLA needs.
- State whether the tree's answer (Contentful) agrees with the Step 1 dollar comparison (it does, both point away from self-hosted Strapi).
DECISION TREE PATH WordPress? No -> Dev resources? Limited -> Priority? Enterprise SLAs -> Contentful Agreement check: Step 1's cost audit also favored Contentful ($3,600/yr vs $17,500/yr). Two independent methods, same recommendation.
Healthy
The qualitative decision tree and the quantitative cost audit are checked against each other before finalizing.
Unhealthy
Running only the decision tree, or only the cost audit, and treating either alone as sufficient justification for a five-figure annual decision.
What this means
When a structural framework (decision tree) and a financial calculation independently agree, that's a much stronger recommendation to bring to stakeholders than either alone.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| The decision tree and the cost audit disagree | Re-check the FTE estimate first (0.25-0.5 is a range, not a fixed number) before overriding either method | 30 min |
Final deliverable
A cost-audit spreadsheet showing Strapi's fully-loaded annual cost against a managed platform's subscription, plus the decision-tree path, with a single final recommendation.
See a reference example
RateGain Travel Technologies, self-hosting cost audit (excerpt) Strapi (self-host): $22,000/year (0.4 FTE, higher due to multi-property upgrade cadence) Sanity (usage-based): $6,200/year projected at current traffic Decision tree path: No existing WordPress -> Strong in-house dev team available -> still routes toward self-hosting on paper, but the $15,800/year delta against Sanity was flagged for the CTO to weigh against the lock-in concern directly, rather than defaulting to 'we have the engineers, so we should.'
Success criteria
You're done when you can:
- Prices Strapi's engineering time explicitly using the lesson's 0.25-0.5 FTE range, not a $0 assumption
- Walks the decision tree using Five-Star's actual WordPress and staffing answers, not a generic default
- Checks whether the cost audit and the decision tree agree before finalizing the recommendation