Ink, Inc.

Mobile applications

Expo

iOS and Android applications from TypeScript, released through Expo’s build and submit pipeline.

Expo is how we ship a mobile product when the team already thinks in TypeScript and both stores matter. React Native draws the interface. Expo Router structures the app. EAS Build produces the binaries, and JavaScript changes can ship over the air when the native shell does not have to change.

We treat the native project as a real artifact, not a folder nobody opens. When a device API is missing from the Expo SDK, we add a module in Swift or Kotlin instead of pretending the gap is a web problem.

Expo

What the work covers

App structure

Navigation, deep links, and account flows laid out so a second screen does not invent a second architecture.

Device capabilities

Camera, notifications, secure storage, and the other APIs the product actually calls, through the Expo SDK or a small native module.

Store delivery

EAS Build and submission, versioning, and the review notes that keep a release from stalling on a checklist.

Over-the-air updates

JS-only fixes shipped without a store review, with a native release when the binary itself changes.

Shared product logic

Types and API clients shared with a TypeScript web app when both surfaces talk to the same backend.

Native escape hatch

A Swift or Kotlin module when the platform, not the JavaScript bridge, has to do the work.

Delivery

What you leave with

  • An app that runs on current iOS and Android
  • A build pipeline the next release can reuse
  • Store listings coordinated with the binary you submit
  • A written rule for what can ship over the air

Fit

Choose this when

  • You need both app stores and one product team.
  • TypeScript is already the language of the company.
  • Most changes are product logic and UI, not new native APIs.

Neighbors

When another practice fits better

These are the switches we recommend in scoping, not a disclaimer.

Native apps

The interface should be SwiftUI and Compose, or the platform APIs are the feature.

Flutter & Dart

The team wants Dart and a renderer that does not use the system widgets.

TypeScript

A responsive web app covers the job without a store review.

Continue

Related practices

Have a product in mind? Let’s scope it.

Get in touch

Expo is a starting point. Bring the constraint that matters more.

Start an engineering conversation

Tell us what you are building, what already exists, and which surface matters first. We will reply with a point of view.