Hashlogics
Cross-platform app development company

One codebase for iOS and Android, native where it counts

Hashlogics is a cross-platform app development company that builds one React Native codebase for iOS and Android. We tell you up front when a native build would serve your app better, and we keep both store versions current after launch.

  • 4.8 on Clutch across 22 reviews
  • PremiumAudit.io: audit cycle cut 75%, calculation errors cut 95%
  • In production for SmartREI, Tankaware, ZyloBase, KiwiWrite
In short

A cross-platform app shares one codebase but draws its screens with the platform's own components instead of a web view. At runtime, React Native creates the matching Android and iOS views, so the app looks and feels like any other app on the phone.

In plain words

Cross-platform, hybrid and native apps: what each one is

A native app is written twice: Swift for the iPhone, Kotlin for Android. Each version calls its own platform's APIs directly, and each one needs its own code and its own release cycle.

A hybrid app is a web app inside a native shell. Apache Cordova's documentation says its apps "execute within wrappers targeted to each platform". It describes the WebView inside them as a special browser window. Capacitor takes the same web-first route and adds a plugin API for Swift on iOS and Java on Android when you need the device.

A cross-platform app shares one codebase but draws its screens with the platform's own components instead of a web view. At runtime, React Native creates the matching Android and iOS views, so the app looks and feels like any other app on the phone. Flutter also lets you reuse code across iOS and Android, but it draws its own widgets instead of using the system ones.

Hybrid suits a team that already has a web app and wants it in the stores. Apple's guideline 4.2 asks for features that take an app beyond a repackaged website. An app that isn't particularly useful, unique or app-like doesn't belong on the App Store, in Apple's words.

Side by side

Four ways to put one app on two platforms

The first three columns come from each framework's or platform's own documentation, checked on 31 October 2026. Our view of where each one fits sits in the last column.

ApproachHow the screen is drawnCode you writeReaching the hardwareA good fit when
Hybrid (Cordova, Capacitor)A web view inside a native wrapperHTML, CSS and JavaScriptAPI bindings and pluginsYou have a web app and need a store listing
React NativeThe platform's own iOS and Android viewsReact components in JavaScriptLibraries, or a Turbo Native Module you writeThe app is screens, forms and data on both stores
FlutterIts own widget set, not the system widgetsDart, compiled to machine code for releasePlatform channels to Kotlin or Swift codeA custom brand design must look identical everywhere
Native (Swift and Kotlin)The platform's own UI, directlyTwo codebases, one per platformPlatform APIs, called directlyThe hardware is the product

From the builds and the stores

Numbers you can check

150

stores at most per map-area query in BrandLocator's React Native app, so a phone never loads the whole catalogue

BrandLocator case study

9

public tables in BrandLocator with permission rules set in the database itself, not only in the portal's screens

BrandLocator case study

70%

less manual compliance verification at Shift Link since its web and React Native platform replaced spreadsheets (client-reported)

Shift Link case study

API 36

the Android target Google Play has required for new phone and tablet apps and app updates since 31 August 2026

Google Play target API level requirements

Choosing a framework

Why React Native is our default, and when Flutter is the better pick

React Native is our default for business apps because it renders the platform's own components. Its documentation says React Native components "are backed by the same views as Android and iOS". That's why its apps look and perform like any other app on the phone.

Two changes made it a safer default than it was. React Native's New Architecture, a rewrite of its internals, has been on by default since version 0.76. And React Native's docs now recommend a framework for new apps, naming Expo, which is what BrandLocator is built on.

Flutter is a fair choice, and sometimes the better one. It bypasses the system widget libraries in favour of its own widget set, and its release builds compile to machine code. That suits a brand-led design that must look the same on every phone. Our React Native vs Flutter comparison sets out where each one wins.

Hiring often settles it. A React Native app is written in React. If your web team already knows React, it can review the code and take it over later.

Where native code goes

What stays native in a cross-platform app

Some features talk straight to the phone's hardware or keep running when the app is closed. In a React Native app, those parts are written per platform and called from the shared code. Everything else is screens and data, and one codebase serves both stores well. We list the native parts in the Blueprint, before you pay for a build, so that work is planned instead of discovered halfway through.

Camera work beyond a photo

A face check at clock-in depends on the camera hardware. Shift Link's GPS and face-check clock-in needed native camera and location modules on both platforms. When a platform API has no library, React Native's documented route is a Turbo Native Module: your own platform code, called from the shared app.

Bluetooth devices

Printers and sensors often connect over Bluetooth. On iOS that runs through Apple's Core Bluetooth framework, and Android has its own Bluetooth Low Energy APIs. Two different APIs means platform code on each side, wrapped once so your screens stay shared.

Location while the app is closed

Google Play allows background location only when it gives users a significant benefit and is relevant to the app's core functionality. For review, Google asks for a Permissions Declaration Form, a short video of the feature, a prominent in-app disclosure and a privacy policy. Apple documents its own setup for location updates when an app isn't in the foreground. We build this part per platform and write the store justification alongside it.

Fixes over the air, features through review

Expo's EAS Update lets an app update its non-native pieces, such as JavaScript, styling and images, between store submissions. Apple's guideline 2.5.2 says apps may not download code that introduces or changes features. So we send small fixes over the air and new features through store review.

What we have shipped

Two React Native apps we shipped: BrandLocator and ExtraaJe

BrandLocator is a bilingual store-discovery app we built for iOS and Android with Expo and React Native, plus the React admin portal behind it. App and portal share one Supabase backend, so a store the team edits in the portal is the same record the app reads. Its maps run on native Mapbox maps inside the React Native app.

Every push runs a dependency audit, linting, tests and code analysis. Builds then move from development to preview to TestFlight to production. On Android it's live on Google Play. The iOS app has been submitted to the App Store and is under review (case study updated 6 October 2026).

ExtraaJe shows the simple end of the range. Employees check and spend points in a React Native app, in Dutch and English. HR runs campaigns from a React web dashboard on the same Supabase backend.

How a cross-platform build runsLive
  1. Feature listEvery feature that touches the phone, written down.
  2. Native lineShared code or native module, decided in the Blueprint.
  3. One codebaseScreens and offline data rules, built once.
  4. Native piecesHardware and background work, per platform.
  5. Two reviewsBuilt to Apple's and Google's guidelines, then submitted.
  6. UpkeepSDK deadlines and framework upgrades.

Stations 1 and 2 are the Blueprint, stations 3 to 5 the build, and station 6 the run. We draw the native line at the second station, before any screen is built. Moving it later means reworking the screens that depend on it.

After launch

What keeps a cross-platform app in both stores

Both stores keep raising the floor. Since 28 April 2026, Apple has required apps uploaded to App Store Connect to be built with Xcode 26 or later. Google Play, since 31 August 2026, has required new phone and tablet apps and app updates to target Android 16 (API level 36).

One framework helps you meet both deadlines, but getting there usually means upgrading the framework and its libraries. We plan each React Native upgrade as real work with a test pass on both platforms, because native dependencies move with it.

Your first 2 months of maintenance are included with every build. After that, you choose an agreed service level or a trained handover to your own team.

  • Store deadlines are tracked for both platforms, and the upgrade is scheduled before the cut-off.
  • Crash reports from the iOS and Android builds land in one place and get read.
  • Over-the-air updates stay limited to the non-native code Expo can update that way.
  • Backend changes are planned so older app versions keep working while users catch up.
A miniature night diorama: a phone and a tablet with blank glowing panels joined by one cobalt thread on a graphite plinth, illustrating Cross-Platform App Development.
Stack

What we build cross-platform apps on

Shared app

  • React Native
  • Expo
  • TypeScript
  • TanStack Query
  • Zustand
  • i18next

Native pieces

  • Swift
  • Kotlin
  • Turbo Native Modules
  • Native Mapbox maps

Backend

  • Supabase
  • PostgreSQL
  • Node.js
  • FastAPI
  • or the backend you already run

Release and run

  • Expo EAS
  • TestFlight
  • App Store Connect
  • Google Play Console
  • Sentry
  • GitHub Actions
Next step

Bring your feature list. We'll draw the native line.

Book a free scoping call. If the project fits, a fixed-fee Blueprint names which parts stay shared and which go native, with a fixed price per milestone. Its fee is credited in full against the build.

Questions, answered
01Is a cross-platform app worse than a native app?+

A React Native app isn't worse than a native one for screens and data, because it uses the phone's own views. It looks like any other app on your phone. You'd see a gap in heavy animation and constant sensor work. Those parts can be written natively inside the same app, so you don't have to pick one approach for the whole thing.

02What does a cross-platform app development company do?+

A cross-platform app development company builds one codebase that ships to both the App Store and Google Play. It writes the native pieces the shared code can't cover and handles both store submissions. Hashlogics does this with React Native and Expo, from East Islip, New York, with engineering in Lahore.

03Should we use React Native or Flutter?+

Choose React Native when your team already knows React or the app should feel like the phone it runs on. Flutter is the better pick when a custom brand design must look identical on every device, since it draws its own widgets. Both share one codebase, and both call platform code for some hardware features.

04When should we build a native app instead?+

Build native in Swift and Kotlin when the hardware is the product, such as a camera app or one that reads sensors all day. Native also fits an app that must adopt new operating-system features the week they ship. If only one or two features need the device, a cross-platform app with native modules for those parts often costs less to keep running.

05Is a hybrid app the same as a cross-platform app?+

A hybrid app isn't the same as a cross-platform app: it runs web code inside a native shell, the approach Cordova and Capacitor take. React Native, by contrast, creates real iOS and Android views. Hybrid makes sense when you already have a web app and need a store listing. Apple asks that an app go beyond a repackaged website, so a thin wrapper needs real app features.

06Can you add native features to our existing React Native app?+

We can add native features to an existing React Native app with a Turbo Native Module. That's React Native's documented route for a platform API it doesn't provide: platform code called from the shared app. In the Blueprint we read your codebase and list which features need one and which an existing library already covers.

07How much does cross-platform app development cost?+

With one codebase covering both stores, the cost turns mostly on how many features need native code on each platform. Offline work and the systems the app talks to add to it, so we read your feature list before naming a number. Your scoping call is free. Then a fixed-fee Blueprint sets a fixed price for each milestone, and its fee is credited in full against the build. If the Blueprint doesn't give you a plan you'd act on, you don't pay for it.

08Who owns the codebase and the two store releases?+

You own the one React Native codebase from day one, with the source code and the data. That single repository builds the iOS release for your App Store account and the Android release for your Google Play account. Your own team or another firm can carry it on from there.

09Is this for startups or for enterprises?+

Startups and enterprises both build cross-platform, but the native share differs. A startup usually needs one workflow on both stores, so the shared code carries nearly everything and native modules come later, feature by feature. An enterprise app may need a vendor's SDK, such as one for device management, wrapped on each platform. Our mobile app development page covers the wider enterprise points.

10What happens to the app after launch?+

After launch, small fixes to the shared JavaScript can go out over the air with EAS Update. New features and native changes still go through store review on both platforms. The first 2 months of maintenance are included with every build. After that, an agreed service level covers OS updates and store deadlines, or we hand the app to your team with documentation and training.

By , CEO, HashlogicsUpdated
Start

Let’s deploy working AI into your business.

We build AI agents and automation, ship them into the tools you already run, then stay on under an agreed service level. A senior engineer reads every brief, and your call gets scheduled within 24 hours.

What happens next

  1. 01

    You send a brief or book a call

    Two minutes, whichever you prefer.

  2. 02

    A senior engineer replies within 24 hours

    Not a sales rep.

  3. 03

    Honest scoping, in writing

    And if we’re not the right fit, we say so.

Abdul Basit, CEO of Hashlogics

“I started Hashlogics because too many teams ship a demo, get paid, and disappear. We build to a standard we’d run ourselves — and we stay to keep it running.”

Abdul Basit · CEO · a direct line

Not ready to talk? Take the checklist.

12 questions to ask any AI agency before you sign. They separate a demo shop from a team that ships to production.

Get the checklist

Free · no newsletter