Matt RaceEdge InteractiveContact
Back to selected work

Building a new mobile app and connecting the pieces behind it.

A new React Native and Expo app needed an architecture the team could keep working with. That included shared components, APIs, cloud integration, and testing, not just screens.

The problem

Early decisions about state, API calls, and shared code are hard to undo once features pile up.

I worked on the React Native and Expo app, including backend integration through AWS EventBridge.

What I did and why

01

Keep the code organized by feature

Constraint: New projects get messy quickly when everything depends on everything else.

Approach: Set up navigation, shared components, and a clear separation between UI code and services.

Tradeoff: The team can add features without digging through unrelated code.

02

Keep API code out of screens

Constraint: Screens shouldn't each have their own way of talking to the backend.

Approach: Keep service calls in a dedicated layer and integrate with AWS EventBridge where needed.

Tradeoff: It's easier to change an API or test a feature when those concerns are separated.

03

Set up testing early

Constraint: Other engineers need to understand and change the code later.

Approach: Use consistent TypeScript patterns and add testing as features are built.

Tradeoff: The next engineer shouldn't need a guided tour to make a change.

04

Think about the whole system

Constraint: A decision in the app can create problems for the backend or the release process.

Approach: Work with product and backend teams when making integration decisions.

Tradeoff: The simplest solution that works for the product is usually the right place to start.

What changed

  • An initial React Native and Expo app with reusable components and service patterns.
  • AWS EventBridge integration for event-driven backend communication.
  • Shared code conventions and testing patterns for the team.
  • Architecture decisions considered the app and the services it depended on together.

Tools and experience

React NativeExpoTypeScriptAWS EventBridgeAPIsNode.js ecosystemTestingCloud integration

Client details are omitted. The technology list includes relevant experience and isn't a claim that every tool was used on this project.

Working on something similar?

Tell me what's going on. I'll take a look.

Discuss your project