Audience Republic — Infrastructure Reference¶
Current-state architecture documentation for SRE and network engineering onboarding. Covers how traffic actually flows today across the three AWS environments, what each hostname is for, and what application sits behind it. Every fact here was checked live (Route 53, EC2, ELBv2, VPC peering, and real DNS resolution), not copied from a design doc.
- Dev — account
779533933555 - Staging — account
371326279611 - Production — account
704081087743
The applications, at a glance¶
Audience Republic runs five customer-facing frontend applications plus one paused project, each with its own repository and its own set of per-environment URLs:
| App | What it does | Repo |
|---|---|---|
| Audience Manager 2 (AM2) | Promoter-facing platform, promoters log in here to manage campaigns, events, messaging, and fans | audience-manager-2 |
| Campaign Client (C2) | Fan-facing platform, displays campaigns and opt-in forms to the public | campaign-client-2 |
| Notification Manager | Lets recipients manage/unsubscribe from a promoter's messaging | notification-manager |
| Privacy Portal | GDPR/CCPA/TCPA data management and deletion requests, per-promoter | privacy-portal-client |
| Campaign Widget SDK | JS embed library promoters paste into their own site to render campaign widgets | widget-sdk |
| AREP-UI | Shared component/utility library imported by the other frontends, not independently hosted | arep-ui |
| Chatfire | Video-chat platform, currently paused | chatfire-client |
Each app is hosted differently depending on what it needs:
| App | Hosting pattern |
|---|---|
| AM2 | Static SPA on Netlify, in every environment |
| C2 | Server-rendered, behind nginx on EC2 (prod/staging) or a dedicated dev host |
| Notification Manager | Static SPA on S3 + CloudFront |
| Privacy Portal | Behind the same nginx on EC2 hosts as C2 (prod/staging), separate host in dev |
| Widget SDK | Static JS bundle on S3 + CloudFront, versioned per environment path |
Hostname reference (all three environments)¶
| App | Dev | Staging | Production |
|---|---|---|---|
| AM2 | dev1-app.audiencerepublic.com |
staging-app.audiencerepublic.com |
app.audiencerepublic.com |
| C2 | dev1.arep.co |
staging.arep.co |
arep.co |
| Notification Manager | dev-manage.arep.co/<id> |
staging-manage.arep.co/<id> |
m.arep.co/<id> |
| Privacy Portal | <promoter>.dev1-portal.arep.co |
<promoter>.staging-portal.arep.co |
<promoter>.portal.arep.co |
| Widget SDK | sdk-cdn.arep.co/dev/... |
sdk-cdn.arep.co/staging/... |
sdk-cdn.arep.co/prod/... |
arep.cc and arep.ink are additional production-only domains that
also serve C2 (shortlink/alt-domain traffic), see Production.
Reading order¶
Read Production first, it has the most infrastructure and the clearest picture of the nginx reverse-proxy layer that Staging partly reuses. Staging and Dev each note where they diverge from it.