Insta Delivery
ISDS customer app: order, pay, watch it arrive.



I build the whole feature: screen, app, server, database.
Senior React Native engineer who builds and runs whole mobile products (the app, the Swift and Kotlin underneath, the API and the cloud behind it) and fixes what breaks in production.
Download resume (PDF)Social film and TV: watchlists across streamers, personalised suggestions, festival award tracking.
Publishing an event used to mean a native release: build, submit, wait for review, release, then wait for users to update before they could see it. I built a server-driven event system with a publishing dashboard, so the payload ships without a binary.
I built an AI badge pipeline: artwork for 639 collections generated with Gemini, with a second model checking every title before it ships.
React Native, NestJS, TypeScript, PostgreSQL, GraphQL




No rebuild, no submission, no forced update.
Shipped and live on the App Store, though not on the Nigerian storefront, so this is one to install from a non-NG account.
I built a native AI support assistant with streaming chat, push-to-talk voice and hand-off to a human video call, plus AI job-description generation.
React Native, TypeScript





White-label trading: real-time market data, deep linking, iOS and Android parity.
“He played a key role in helping us deliver a stable, scalable mobile platform used across multiple international markets.”
React Native, TypeScript, WebSocket market feed, deep links, secure API integration





Mobile banking: payments, savings, QR, peer-to-peer lending, bill splitting.
“Farouq single-handedly optimized our platform, transforming our vision into reality with precision and creativity.”
React Native, TypeScript, Redux, Firebase





Tree planting: planters document every tree they put in the ground, anywhere in the state.
Planters work in places the network does not reach. The architecture is offline-first rather than offline-tolerant: writes land in a local store as the source of truth, photographs and GPS fixes queue against the record, and a resync pass replays the queue in order and resolves conflicts server-side. Nothing is lost between the field and the agency.
React Native, TypeScript, local-first store, background sync, geolocation, camera





Delivery, from three sides: customers order, vendors fulfil, drivers deliver.
Three separate builds, three sets of permissions, three release trains, kept in step by one shared component layer, so a change to the order model lands in all three without three rewrites. Maintaining them together is the work: a driver-side release cannot break a customer-side order that is already in flight.
React Native, TypeScript, shared component layer, live order tracking, role-based auth






The last five are pre-launch or under agreement. The screens and the work are shown, the names are not.
ISDS customer app: order, pay, watch it arrive.



ISDS vendor app: accept, prepare, hand off, reconcile.



ISDS driver app: routes, proof of delivery, earnings.



Telemedicine: consultations, records, scheduling. iOS.



Lending: origination and repayment. Android.



A React Native game clone. Unpublished, source on GitHub.


Food delivery: browse restaurants, build a basket, check out, and watch the order change state. Designs complete, not yet in a store.



Ride hailing and ride sharing in one app: request a car, or share a seat on a route someone is already driving. Two ride models against one map surface.



Sport: fixtures, teams, and a social layer around them. Designs complete, build in progress.


Fintech: flights, foreign currency accounts, international debit cards, business registration, scheduled payments. Taken from two working features to a full suite.



Property: shortlet stays searched on a map, with a first-run walkthrough over the live map. Not yet public, in build.



One request from a product meeting (“this event has to be live in the app today, not in the next release”) and every decision between that sentence and a customer seeing it. Six steps, one person accountable for all of them.
“He knew what was required from a mobile perspective, but also took the time to resolve backend related issues.”
The normal route is a new version of the app, which means a review queue and customers who update whenever they feel like it. Most of the audience would see the event after it stopped mattering.
Instead of shipping a new app, the server sends a description of the screen and the app draws it. Nothing about the event is baked into the version on anyone's phone.
Both sides agree on a written, versioned format. A phone still running last year's version skips a field it has never seen instead of breaking on it.
A dashboard the product team uses without an engineer. Every payload is checked against the format before it can go out, so one bad edit cannot take the screen down.
The payload is cached at the edge and cleared on publish, so thousands of apps asking in the same second do not all land on the database.
An event goes out without a release cycle, and the screens it drives keep changing without shipping an app at all.

Lagos, 2026.
F.A.S.Which is what everyone calls me.
I build mobile products in Lagos and ship them to users I will never meet, in markets I have never lived in. That is the part of the job I like most, and it is why I care about the layers under the screen.
Six years in, the pattern is the same on every product here: I start on the interface, find the failure at the edge of it, and follow that failure down, into the native module, into the API, into the schema, until the bug has nowhere left to hide. That is what full-stack means to me on mobile. Not a résumé line, a debugging habit.
I test on real mid-range Android hardware, not just a simulator on a fast Mac, because that is what most of my users hold. And I write up the things that fail silently, so the next engineer loses an afternoon instead of a week.
Seven on LinkedIn, every one verifiable. Each card opens the original.
“The most exceptional developer I’ve collaborated with in my 25-year career.”
In full on LinkedIn: “… in my 25-year career as an enterprise information security architect. His drive and self-motivation are unparalleled. In my professional opinion, he merits the title of Full Stack Software Architect.”
“One of the most dependable and technically solid React Native developers I’ve worked with. He played a key role in helping us deliver a stable, scalable mobile platform used across multiple international markets.”
“Farouq single-handedly optimized our platform, transforming our vision into reality with precision and creativity.”
“He went very often way above the scope with the goal to improve our product quality. Whoever hires this guy will have a very well done job.”
“He knew what was required from a mobile perspective, but also took the time to resolve backend related issues.”
“Consistently delivering high-quality results on time and within budget. Not only reliable but also proactive.”
“He not only rocks the technical side, consistently delivering top-notch work, but also brings a positive and collaborative vibe.”
Most React Native developers stop at the JavaScript. I write the Swift and Kotlin underneath: ActivityKit widgets, NotificationCompat channels, and APNs and FCM clients from scratch, no libraries.
“I write about the parts that fail silently.”


My second handbook, written while I built TapCard: reading, writing and permanently locking NFC tags from React Native, with my own Swift module through Expo Modules.
Tested across three Samsung Galaxy devices and found a hardcoded six-app allowlist in One UI 8.5. Promoted notifications are granted to a fixed set, so the capability check can pass and still never show.
A 200 from APNs means Apple accepted your bytes, not that the card changed.
Two copies of the same Swift struct, one renamed field, and the Live Activity silently never renders.
hasPromotableCharacteristics() and canPostPromotedNotifications() disagree on the same Samsung build.
Remote (UTC+1, Lagos, Nigeria) · open to relocation
Lagos, Nigeria. Remote, with full overlap across European hours and most of the US morning. Fintech, media, hiring, marketplaces, health and logistics: products where the failure cases matter.
Six things pinned up where I work. None of them are about code.