Skip to main content

7. Services to configure

What it is​

Besides AWS and GitHub, every project uses a handful of outside services: error tracking, email, push notifications, crash reporting, analytics, monitoring, and often an AI provider. This section has one setup page for each, in the same step-by-step format.

Why we do it​

Each of these is quick to set up badly and slow to fix later: errors that cannot be traced to a build, emails that land in spam, push notifications that work only in dev, a shared key that mixes test and real data. Setting them up properly in week one costs a day.

Which services, and when​

ServiceNeeded forRequired?Set up inPage
SentryErrors from API, web and mobileEvery projectDay 5Sentry
Amazon SESSign-in codes, receipts, notices by emailAny project that sends emailDay 5Email with SES
Monitoring and alertsKnowing prod is down before users tell youEvery projectDay 5Monitoring and alerts
Firebase Cloud Messaging + APNsPush notificationsProjects with a mobile appWeek 2Push notifications
Firebase CrashlyticsMobile crash reportsProjects with a mobile appWeek 2Crashlytics
AnalyticsProduct usage, funnelsWhen the client asks for itWeek 2Analytics
AI providersChat, summaries, voiceWhen the product uses AIWeek 2AI providers
PaymentsTaking moneyWhen the product sellsWhen accounts arrivePayments
Bot protection (Turnstile)Public sign-up and formsPublic web formsWith the formWeb security

The rules for every service​

Rule

Separate projects or keys per environment. A dev key in prod mixes test data into real data; a prod key in dev spends real money and can message real users.

Rule

Keys live in SSM, never in the repo, never in a front-end bundle. Mobile apps get only public identifiers (a Sentry DSN, Firebase config files), never server keys.

Rule

Every service that collects personal data is in the privacy policy, the store privacy labels and the data map before it ships. See Data privacy.

Done when​

  • Every required service is set up and tested on dev.
  • Each has a row in OWNERSHIP.md.
  • Each has a spend limit or usage alert.