Offline-First in React Native: Building an Auto-Sync Engine That Users Never Think About
By Shivkrishna Shah · Engineer Philosophy — @shivkrishnashah · @engineerphilosophy Your app shouldn't have a "no internet" screen. Here's the archit…
Tech news from the best sources
By Shivkrishna Shah · Engineer Philosophy — @shivkrishnashah · @engineerphilosophy Your app shouldn't have a "no internet" screen. Here's the archit…
Part 1 covered the mechanism: a fingerprint gate decides whether a change ships in minutes over-the-air or needs a full store release. But a gate th…
(Work in progress — same as the project it's about. More on that below) Almost everything written about React Native security is about protecting yo…
The model returned 1230.0 . The input said 560.00 . Confidence: 1.0000 . Not 0.6. Not "uncertain." One point zero, with a written rationale explaini…
Miniout is a university notes/tasks app. UI is Spanish-only for now. The idea: you should not pick a folder in the middle of a lecture. Write first;…
The last bug I chased in a React Native app only showed up on a real device, on cellular, in a TestFlight build. So I plugged the phone in, opened a…
I am a full-stack developer in the Netherlands, a bit over ten years in. For the last year my evenings have gone into one side project: I Like Movie…
Most password managers today are cloud-first products wearing a privacy costume. You create an account. You sync. You trust a company, their servers…
If your mental model of this debate is still "Flutter is fast, React Native is laggy because of the bridge" — that's a 2022 take. Both frameworks we…
Ran into this last week on a multiline TextInput and lost a chunk of a day to it. Writing it up in case someone else hits the same thing. The bug I'…
If you've worked with React Native long enough, you know the drill: everything worked fine yesterday, but today your project won't build because of…
App Review rejected my iOS app under Guideline 2.1. The note said reviewers were unable to locate the App Tracking Transparency permission request w…
Banking apps have become one of the most demanding categories of software to build. Customers expect transactions to feel instant. Product teams wan…
If you're testing an iOS build with real devices, you've got two main paths: Apple's TestFlight, or Expo's EAS Preview using Ad-Hoc provisioning. Th…
This article is an English translation of the original Japanese article. After introducing i18next to a React Native app, dates like 7月24日(金) remain…
Preface: This article is about my experience building a crypto mobile wallet back in 2021. Intro Building a crypto wallet in React Native is a maste…
Every week a founder DMs me the same question: "Should I build my React Native app from scratch or buy a template?" Here's the framework I use to an…
A four-hop incremental strategy, the bugs that only show up in release builds, and an honest look at what an AI assistant is actually good for. Ten…
Our React Native app has one job that can't fail: know where the truck is. Truxo Tracker is the driver app for truxo.ai . Drivers accept freight loa…
This week the recording of GraceSoft CMS's "vibe coding" series is on pause. Something more exciting pulled my attention: my first venture into mobi…
This article is an English translation of the original Japanese article. In my club management app, I use the following invite URL for both web and…
Microsoft retired the hosted Visual Studio App Center service on March 31, 2025. That included the managed service many React Native teams knew thro…
This article is an English translation of the original Japanese article. When a user taps a push notification, the entry point differs depending on…
If your React Native app only speaks English, you're leaving ~75% of smartphone users on the table. Here's the modern stack for shipping a multiling…
A surprising number of React Native bugs come from persisted state. An old token, a stale cache, a feature flag that was never cleared, or a SQLite…
This article is an English translation of the original Japanese article. I migrated an Expo app from Japanese only to Japanese, English, and Simplif…
This is an English translation of my original article on Qiita . My Expo app occasionally stayed on the splash screen when it was launched by tappin…
This is an English translation of my original article on Qiita . An Android build failed in an Expo SDK 54 app. The project still used Expo SDK 54,…
I recently shipped Add to Calendar: AI Events — an iOS app that turns screenshots and text into calendar events — built with Expo SDK 52 and React N…
Hi everyone, Seb and Jan here 👋! This week we have an interesting React challenger, keeping its mental model but compiled ahead of time. Also variou…