Case study · Native app

The whole engine, on the phone.

A native app for ADJL Capital’s investors, built with Expo and React Native for iOS and Android from one codebase. The underwriting engine runs on the device with no network. Its files are the same ones the website runs, and tests hold both to the same answers. It’s distributed privately, not through a public store listing.

Platform
iOS and Android, one codebase
Built with
Expo, React Native, TypeScript
Runs offline
The full underwriting engine
Distribution
Private, not a public store listing

This page’s own structure, drawn at build from its HTML.

People read the top layer, crawlers follow the middle one and machines parse the bottom one.

7 headings · 50 links · 6 schema nodes

Build

Why native

Why an app and not a bookmark.

A web page needs a connection to compute anything. This app doesn’t. Paste a listing or type the numbers in, drag an assumption, and the result recomputes under your thumb with no network at all.

Shared engine

Same files. Same answers.

The engine modules are copied byte for byte from the website. They aren’t ported, because a port is a chance to mistype a number. Golden scenarios produced by the original prototype run against the copy, so any drift fails a test.

one engine · two platforms Illustration
  1. The website and the app run the same engine files.
  2. Each module is copied byte for byte. None of them is ported.
  3. Golden scenarios run against both copies, so any drift fails a test.
  4. The phone needs no network to compute. Take it offline and it still recomputes.

Pure modules

A rule the tests enforce.

Every engine module is pure. No network calls, no filesystem and no access to the process. A test reads the vendored source and fails if one appears. A single import added on the website would otherwise break the app on a device, where no type checker sees it.

Server side

What stays on the server.

Property lookups and the written narrative stay behind authenticated endpoints, because they need secrets. So do the large market datasets. They’re too big to ship in an app someone downloads over cellular.

Distribution

Shipped privately.

The app reaches investors through private distribution, not a public store listing. Its icon, splash screen and in-app mark are all generated from one file that holds the three-bar mark’s geometry.

Start here

Tell us what’s slow, or what can’t be found.

One paragraph is plenty. Tell us what you want built, the step that costs the most, or the page that should rank and doesn’t. If you know why the obvious fix hasn’t worked, say that too.

Email
daniel@adjlcapital.com
Email Daniel

Daniel reads and answers these himself, usually within a day or two. No sequence, no drip, and nothing sold to anyone.