Amplify
Scheduled Oct 10, 2026Scheduling, approvals and reporting on APIs you do not control.
Replaces
- Sprout Social · Sprout Social, Inc. — $199 per seat per month (Standard), about $955,200/yr at 400 seats
- Hootsuite · Hootsuite Inc. — $99 per seat per month (Standard (billed annually)), about $475,200/yr at 400 seats
Rented, per year
$955,200
Sprout Social list price at 400 seats.
Owned, per year
$4,680
AWS infrastructure only. Azure is $5,160.
Build
8 weeks
2 engineers. To parity on the ten core features across four platforms, plus migration of the existing content calendar and historical metrics. This assumes your platform API applications are already approved; if they are not, the approval processes at Meta, LinkedIn and TikTok are the critical path and are outside our control. Each further platform adapter is roughly one week.
Difficulty
3/5
Well-understood shape. Low delivery risk.
Reference organisation: 40 users across 6 brands, 28 connected social accounts on 6 platforms, ~900 posts per month, 40 videos and 400 images per month, 7-year archive retention, single region, prod + non-prod. 3-year Compute Savings Plan on Fargate / 3-year reservation on Container Apps. Aurora minimum 0.5 ACU with non-prod stopped outside business hours. Media transcoding modelled at 40 source videos a month producing 6 renditions each. Excludes every social platform API fee — X's paid API tiers in particular are a direct cost to you and are not included in any figure here. Excludes any listening data licence. These figures are infrastructure only and exclude the build. For comparison, 10 seats of Sprout Social Standard at the listed $199 per seat per month is $23,880 a year.
What it is
Amplify is social publishing operations: a content calendar, drafting with per-platform previews, an approval workflow that legal and compliance can actually use, scheduled and queued publishing, a unified inbox for comments and mentions on your own accounts, and reporting built from the metrics the platforms return. It runs in your account against your own developer applications. Be clear about the boundary before you commit: Amplify owns the workflow, the archive and the reporting. Access to the social platforms themselves — the API tiers, the rate limits, the approval to use a given endpoint — belongs to Meta, LinkedIn, X, TikTok and Google, and no amount of self-hosting changes that.
Why this one stops making sense
- Sprout Social Standard is $199 per seat per month. A ten-person social and comms team is $23,880 a year, and the seat count grows every time a regional marketer or a lawyer needs to see the queue.
- Approval is the reason enterprises buy these tools, and approval is exactly what seat pricing breaks. The compliance reviewer who signs off four posts a month should not cost $2,400 a year.
- Your published archive — every post, every version, who approved it and when — is a regulatory record in financial services, healthcare and pharma. Holding it in a vendor's system with an export limit is a bad place to be during an inspection.
- Reporting is a join between platform metrics and your own campaign, product and region taxonomy. In a SaaS tool that taxonomy is a set of tags; in Postgres it is a dimension table you can query against revenue.
- The publishing logic itself is modest. What is expensive is the API access, and you can hold that directly rather than through an intermediary who marks it up.
What ships
- Content calendar across brands, regions and platforms with drag-to-reschedule and conflict warnings
- Composer with per-platform previews, character and media validation, and first-comment scheduling
- Approval workflow with named reviewers, required legal sign-off by content category and full version history
- Scheduling, queuing and optimal-time suggestion computed from your own historical engagement
- Media pipeline that transcodes and crops per platform requirement before a post is ever submitted
- Unified inbox for comments, mentions and direct messages on accounts you own, with assignment and canned replies
- Publishing archive: every version, approver, submission payload and platform response, retained and immutable
- Reporting over platform metrics joined to your own campaign, product and region dimensions
- Per-platform rate-limit budgeting with backpressure, so a bulk publish degrades gracefully instead of failing
- Token health monitoring with expiry alerts to the account owner before a connection silently dies
Data model
Stack
- frontend
- Next.js 15 App Router + Tailwind + TanStack Query, with a calendar view and platform-accurate previews
- backend
- NestJS on Node 22; one adapter module per platform behind a single publishing interface
- database
- PostgreSQL 16 with Row Level Security per brand; metric snapshots in a partitioned table
- cache
- Redis 7 for rate-limit token buckets keyed per platform application, and for inbox polling cursors
- queue
- BullMQ for publish dispatch, metric collection, media transcode and token refresh
- auth
- OIDC against the customer IdP; platform OAuth tokens never touch the application database
- search
- PostgreSQL tsvector across post copy, inbox items and campaign metadata
- ai
- Optional: draft variants per platform from one brief, and tone or claim checks against your brand and compliance guidelines, always reviewed before entering the approval queue
Parity, honestly
What we match, and what we do not.
The rows marked No are the important ones. If one of them is the reason you bought Sprout Social, keep buying it — and we will tell you that on the first call rather than the fifth month.
| Capability | Sprout Social | Ours | Note |
|---|---|---|---|
| Multi-platform scheduling and calendar | Yes | Yes | — |
| Per-platform composer previews and validation | Yes | Yes | — |
| Approval workflow with legal sign-off | Yes | Yes | Unlimited reviewers, which is the point. |
| Unified inbox for your own accounts | Yes | Yes | Coverage varies by platform because the endpoints do — see the API access row below. |
| Reporting on published content | Yes | Yes | Joined to your own dimensions in Postgres, not just tagged. |
| Immutable publishing archive for compliance | Partial | Yes | Object-locked storage in your account, with the exact payload submitted and the exact response returned. |
| Media transcoding per platform spec | Yes | Yes | — |
| Unlimited seats | No | Yes | — |
| Partner-tier API access and elevated rate limits | Yes | No | This is the gap that defines the product's ceiling. Sprout and Hootsuite are badged partners of Meta, LinkedIn, X and TikTok. That status gets them endpoints, rate limits and review turnarounds that a company's own developer application does not get. Your own app will need Meta Business Verification and App Review, LinkedIn's Marketing Developer Platform approval, a TikTok Content Posting API audit, and whichever X API tier is current — each with its own application, its own timeline and its own possibility of rejection. We help you through it and we cannot guarantee the outcome, because it is not our decision. |
| Social listening beyond your own accounts | Yes | No | Listening to what the whole internet says about your brand requires licensed firehose data. That is a commercial data agreement, not an API you can call, and it is the single largest thing Amplify does not do. If listening is why you bought Sprout, keep Sprout. |
| Competitive benchmarking against industry datasets | Yes | No | Built from aggregated customer data we do not have. |
| Stable, predictable platform APIs | Partial | Partial | Nobody has this. X's pricing and access have changed repeatedly, Meta deprecates on a published but relentless schedule, and platforms remove endpoints without a migration path. The vendors absorb that churn for you as part of the subscription; with Amplify it becomes your maintenance line, which we estimate at a few engineer-days a quarter across six platforms and will not pretend is zero. |
| Influencer discovery and management | Yes | No | Out of scope. |
| Paid social campaign management | Yes | No | Amplify is organic publishing only. Ads APIs are a different product with different approval and different money attached. |
Reference architecture
Built twice, on purpose.
Every application in Techtons ships with a production architecture for AWS and one for Azure, using the same diagram grammar so you can read them side by side. Your cloud, your account, your bill.
Amazon Web Services
- Compute
- ECS Fargate (api, publisher, collector, worker) behind an ALB
- Data
- Aurora Serverless v2 PostgreSQL
- Storage and edge
- S3 for source media and renditions, Object Lock on the publishing archive bucket, CloudFront for previews
- Identity
- Cognito federated to the customer IdP; platform tokens in Secrets Manager with scheduled rotation
- Observability
- OpenTelemetry to CloudWatch; alarms on publish failure rate, rate-limit exhaustion and token expiry
- Infrastructure as code
- Terraform, with one Secrets Manager entry and one rotation schedule per social connection
Services
The decision worth arguing about
The non-obvious decision is how OAuth token custody works, and it matters more than anything else in this system because token expiry is the number one cause of a social tool silently failing. Meta's long-lived page tokens last around sixty days and must be refreshed by use; LinkedIn's refresh tokens have their own lifetime; a password change, a revoked app permission or an admin removing someone from a Facebook Page can invalidate a connection at any moment. The failure mode is the dangerous part: nothing breaks visibly until the morning a campaign was supposed to go out, and then a week of scheduled posts fails at once. So tokens live in Secrets Manager, never in Postgres, with a rotation schedule per connection, and a daily health job that calls a cheap read endpoint on every connection purely to verify the credential still works — alerting the named account owner fourteen days before a known expiry and immediately on an unexpected revocation. The trade-off is genuine and worth stating: that health check consumes calls from the same rate-limit budget the publisher uses, and on a platform with a tight per-application quota those calls are not free. So it runs once a day at the account's lowest-traffic hour rather than continuously, which means an unexpected revocation can go undetected for up to twenty-four hours. We chose a twenty-four-hour detection window over spending scarce quota, and we made the window a configuration value so a customer publishing time-critical content can pay the quota to shorten it. The related design point is that the rate-limit token bucket in Redis is keyed by platform application, not by social account, because Meta and LinkedIn meter per app — a naive per-account bucket lets forty accounts collectively blow through one app-level quota while every individual bucket still looks healthy. MediaConvert handles per-platform video renditions, which is one of the few places AWS has a clearly better managed answer than Azure.
Microsoft Azure
- Compute
- Azure Container Apps (api, publisher, collector) plus Container Apps Jobs for transcoding
- Data
- Azure Database for PostgreSQL Flexible Server
- Storage and edge
- Blob Storage with an immutable policy on the publishing archive container; Front Door for previews
- Identity
- Microsoft Entra ID; platform tokens in Key Vault with rotation via an event-driven job
- Observability
- Azure Monitor and Application Insights
- Infrastructure as code
- Bicep, with the FFmpeg transcode job defined as a Container Apps Job template
Services
The decision worth arguing about
The token-custody design ports directly to Key Vault, so the Azure-specific decision is elsewhere: video. Azure Media Services was retired in mid-2024 and Azure has no general-purpose managed transcoder to replace it, while AWS has MediaConvert sitting right there. Every platform has its own video constraints — aspect ratios, maximum durations, codec and bitrate ceilings, cover-frame requirements — so a single source video routinely needs five or six renditions before it can be submitted anywhere. On Azure that means running FFmpeg ourselves as a Container Apps Job, and it is the one part of Amplify where the two clouds diverge in real engineering effort rather than in configuration. The trade-offs we take: transcoding runs on CPU rather than GPU, because a GPU-enabled workload profile costs more per month sitting idle than the entire rest of this deployment and the reference org uploads perhaps forty videos a month; a three-minute 4K source therefore takes several minutes per rendition rather than seconds, so the composer marks media as pending and lets the user carry on scheduling rather than blocking on the encode. We also pin the FFmpeg version in the job image and treat an upgrade as a change requiring a re-render of a reference set, because codec defaults shift between releases and a silently changed bitrate on a LinkedIn video is the kind of thing nobody notices for three months. The upside of owning the pipeline is that when a platform changes its spec — and they do, without much notice — the fix is a parameter change in a job template rather than waiting for a managed service to add a preset.
Sources
Every price on this page, with the page we read it from and the date we read it.
| Product | Plan | List price | Checked | Source |
|---|---|---|---|---|
| Sprout Social | Standard | $199 / seat/month | 2026-09-05 | sproutsocial.com/pricing/ Sprout Social lists Essentials at $79 per seat per month billed annually ($99 monthly), Standard at $199, Professional at $299 and Advanced at $399. Enterprise is custom. Social listening is a separately priced add-on on top of the seat price. |
| Hootsuite | Standard (billed annually) | $99 / seat/month | 2026-09-05 | www.hootsuite.com/plans Hootsuite lists Standard at $99, Professional at $199 and Advanced at $399 per user per month on annual billing. Enterprise is custom. Monthly billing is offered at a higher rate that the page does not itemise. |
Should you still be paying for Sprout Social?
Two weeks, fixed price. We audit what you actually use, map it against Amplify, cost the replacement on your own AWS or Azure account, and give you a delivery plan. If the honest answer is to keep the licence, that is what the report will say.