Skip to main content

Getting Started with AWS Amplify

Quick Answer

Use this section only if your purchased app package includes an AWS or Amplify backend. Firebase-backed apps should follow the Firebase Integration docs instead.

For AWS-backed apps, configure the React Native project, connect the Amplify backend, verify Cognito authentication, deploy AppSync/Lambda/S3 resources, and test the app with a real user before customizing product features.

When To Use This Guide

Read this guide when your app package includes folders or files such as:

amplify/
aws-exports.js
src/core/aws
src/core/*/api/aws

If those files are not present, your app probably uses Firebase, local data, or a custom backend instead.

What The AWS Backend Usually Includes

AWS-backed Instamobile apps can include:

ServicePurpose
Amazon CognitoUser sign up, login, password reset, and auth tokens.
AWS AppSyncGraphQL API for app data.
AWS LambdaBackend actions, triggers, and business logic.
Amazon S3Media and file storage.
DynamoDBData storage behind AppSync tables.

The exact resources depend on the app package. Always inspect the included amplify/ folder and app config before deploying.

Setup Flow

  1. Install and run the React Native app first. Follow Getting Started with React Native until the app builds on iOS or Android.

  2. Confirm the app is AWS-backed. Search for AWS provider imports:

    rg "api/aws|src/core/aws|aws-exports|Amplify" src amplify
  3. Configure your AWS account and Amplify CLI. The detailed AWS setup page covers CLI installation, environment selection, auth, API, functions, and storage.

  4. Connect the backend resources. Use the included Amplify project as the source for your app's Cognito, AppSync, Lambda, S3, and DynamoDB resources.

  5. Update app config. Make sure the generated app points to your own AWS resources, not demo credentials or another account.

  6. Test real user flows. Register a user, log in, upload media if the app supports it, create app data, and verify that records appear in your AWS backend.

Provider Switching

Many core modules use provider-specific folders:

src/core/onboarding/api/aws
src/core/chat/api/aws
src/core/media/api/aws
src/core/socialgraph/feed/api/aws
src/core/users/api/aws

The active provider is selected by module-level api/index.ts files. Do not enable Firebase and AWS providers for the same feature unless the app intentionally supports both and you test both paths.

Verification Checklist

Before release, confirm:

  • the app builds on iOS and Android;
  • Cognito sign up and login work;
  • AppSync queries and mutations work;
  • Lambda functions deploy and log correctly;
  • S3 upload and read flows work;
  • app config points to your own AWS account;
  • no demo secrets or sample account IDs remain;
  • auth rules prevent users from reading or editing another user's data.

Troubleshooting

ProblemFix
App starts but auth failsCheck Cognito app client configuration, app config, and provider selection in src/core/onboarding/api/index.ts.
GraphQL queries failConfirm AppSync endpoint, auth mode, schema deployment, and generated config.
Media upload failsCheck S3 bucket policy, authenticated identity permissions, and active media provider.
Lambda function failsInspect CloudWatch logs and verify environment variables.
Firebase imports still runSearch active source paths for Firebase imports and switch the relevant provider export.

Next Steps