◉RORK LABJP
●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Expo SDK 58 is out of beta as of 10/15 (beta since 09/15). Check your dependencies before upgrading●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…●GPT-6.1 SOL — Added to Rork's model menu (09-29) with Low, Medium and High effort; included on Pro and Max●SONNET 5.5 — Claude Sonnet 5.5 is selectable: strong at UI design and faster than Sonnet 5 (09-28)●SDK 58 — Expo SDK 58 is out of beta as of 10/15 (beta since 09/15). Check your dependencies before upgrading●WIDGET — A write-up traces an iOS widget that renders black only in production builds●OBSERVE — EAS Observe now records native crashes too (SDK 57.0.21 or later, 10/07)●NEW — My App Open Ad Only Showed When the App…
TAG

rork

647 articles
← Back to all tags
Related:
React Native169Expo160iOS58App Store52AdMob51troubleshooting36Rork Max35app development32Troubleshooting31indie developer31Android28Indie Dev28
⬡ Rork Dev/2026-07-15Advanced

The Comma That Fell to the Start of a Line: Rork, Quote Cards, and Japanese Line Breaking

React Native's Text component does not guarantee Japanese line-breaking rules. Here are the violation rates I measured, a WORD JOINER implementation that survives copy and VoiceOver, an onTextLayout audit harness, and how Rork Max (SwiftUI) differs.

⬡ Rork Dev/2026-07-15Advanced

Half the Bytes, the Same Wait: What AVIF Actually Cost My Wallpaper Apps

Switching to AVIF cut my transfer bill in half and did nothing for perceived speed. Here is the transfer-versus-decode breakdown, the Accept-negotiation trade-off, per-device fallback tiers, and the staged migration order that finally worked across six apps.

⬡ Rork Dev/2026-07-15Advanced

My Rork sleep timer faded out on time — but the sound didn't

Rork writes sleep-timer fades against the wall clock with setInterval. The numbers say 30 minutes, but the real audio fades early or cuts out abruptly. Here is how to drive the fade from the actual playback position, why a logarithmic curve sounds natural, and the honest limit of JS fades when the screen is locked.

◇ App Dev/2026-07-14Intermediate

Long-Press Context Menus for a Gallery Item in a Rork Expo App

Long-pressing a wallpaper card does nothing, yet iOS users expect a preview and a menu. From why Pressable alone falls short, to a native context menu with zeego, resolving the scroll-vs-long-press conflict, wiring up save and share, and a custom overlay fallback for Android — all with working code.

⬡ Rork Dev/2026-07-14Advanced

Designing Seams That Survive AI Regeneration in Rork

Every follow-up prompt to Rork can quietly wipe out logic you wrote by hand. Protecting it with prompts is a patch, not a fix. Here is how to separate generated code from code you own, and draw a boundary that regeneration cannot reach, with working Zustand and service-layer examples.

⬡ Rork Dev/2026-07-14Advanced

Adding a Single Zod Validation Boundary to Rork's Generated Fetch Code

The network code Rork generates implicitly trusts the shape of the response. When the API shifts, the screen quietly goes blank. Here is how to slip a single Zod parse layer between the generated UI and the network to make failures predictable, with numbers from real operation.

⬡ Rork Dev/2026-07-13Advanced

postMessage Is Fire-and-Forget — Designing a Correlated Request/Response Bridge Between a WebView and React Native

postMessage between a WebView and React Native is one-way, so you never learn whether the work you asked for actually succeeded. Here is a typed request/response bridge, with correlation IDs and timeouts, built in working TypeScript.

⬡ Rork Dev/2026-07-13Advanced

When "{n} items" Breaks Across Languages — Designing Quantity Strings with CLDR Plural Categories and Intl.PluralRules

The assumption that one is singular and everything else is plural falls apart in Russian and Arabic. Here is how to hold the CLDR plural categories as a map and render quantities correctly with Intl.PluralRules and i18next, drawn from localizing an indie wallpaper app into sixteen languages.

⟐ Business/2026-07-12Intermediate

Why Shipping Several Similar Apps Triggers App Store Guideline 4.3 — Differentiation for Indie Developers

Ship a few similar Rork apps and you may run into App Store review Guideline 4.3 (Spam). Here is why it happens more with AI-generated apps, how to differentiate before you submit, and how to respond if you have already been rejected — from an indie developer's point of view.

⬡ Rork Dev/2026-07-11Advanced

The Device Clock Can Be Moved — Protecting Daily Features and Trial Logic from Time Tampering

Advancing the device clock by one day was enough to claim tomorrow's daily wallpaper today. Starting from that log entry, this article lays out a three-layer time model — wall clock, monotonic clock, server time — and shows how to build daily-reward and trial logic that survives clock rollbacks.

⬡ Rork Dev/2026-07-11Advanced

When Sentry Burned Through Its Event Quota in Days — Trimming Noise Before It Ships

A Sentry quota that empties early in the month is almost always a noise problem, not an error surge. Here is how to shrink event volume before it ships — with beforeSend, sampling, and grouping — while keeping the errors that actually matter inside the quota.

⬡ Rork Dev/2026-07-11Advanced

Verifying StoreKit 2 Signed Transactions in a Cloudflare Worker

If you trust whatever the device says about its purchase state, a tampered entitlement walks right through. This walks through verifying StoreKit 2 signed transactions (JWS) in a Cloudflare Worker so you grant entitlements without trusting the client, with working code.