We ran on a third-party headless CMS for a year. It was lovely until it wasn't — and the failure modes were never the ones we planned for.
One source of truth
Third-party content services are great until they aren't — rate limits, schema drift, an extra system to learn. We consolidated everything into Postgres so the data lives next to the app that uses it.
What we actually gained
- Joins instead of N+1 API calls.
- Backups and migrations that match the rest of the stack.
- Seed scripts that recreate content in one command.
- No monthly bill scaling with read volume.
Boring is reliable
A relational table you can query, back up, and seed in a script beats a remote API for the kind of content most sites actually have. Less magic, more uptime.