
React Native One Codebase: 60% Shared, Would Not Repeat
One React Native codebase served Android, iOS and web at about 60% shared code. Here is the split, the pinned versions, the release flow, and why I would not choose it again.
0%
0000000
0x00
CI/CD from real pipelines: a Payload migrate step that hung, Docker's layer cache serving a stale page, AGENTS.md team rules and one React Native codebase.

One React Native codebase served Android, iOS and web at about 60% shared code. Here is the split, the pinned versions, the release flow, and why I would not choose it again.

payload migrate hangs in CI when a dev-mode marker row waits on a y/N prompt no runner can answer. The documented flag does not reach that command. Deleting one row does.

How one VPS runs Next.js and Payload behind Cloudflare and nginx: the request path, why the build needs a self-hosted runner, migrations on deploy, scheduled publishing, and what is not covered.

A shared AGENTS.md file gets five AI coding tools reading the same rules. It does not make them follow the rules: that still needs review guidelines and a CI gate that actually checks.

A Next.js deploy passed build, migrate, health check and smoke test, yet the live site kept serving the old content. The cause was Docker's layer cache.