All Articles
When an Image-Heavy Rork App Quietly Bloats Its Cache and Dies on Memory — Field Notes on Measuring and Capping
In a Rork app where images are the product, expo-image's disk cache and resident memory creep up over a session and surface as OOM crashes. Here's how I measured the bloat, where I set caps, and what I trimmed on the delivery side — with working code, in the order that actually helped.
Three Implementations You Always Face with Next.js and Supabase — RLS, State, and Real-Time
Past building the foundation of a web app lie three things you always get stuck on — DB access control (RLS), screen state management, and real-time updates — explained at the implementation level with Next.js and Supabase code. Down to production pitfalls like memory leaks from forgotten unsubscribes and how auth ties into RLS.
Fixing Stutter When a Rork Max SwiftUI Image Grid Scrolls
Measure why a Rork Max SwiftUI image grid stutters while scrolling, then fix it with ImageIO downsampling, off-main-thread decoding, and stable cells to cut real-device hitches.
Audio Apps That Survive Calls, Unplugged Headphones, and Other Apps Taking Over
How to handle AVAudioSession interruption and route-change notifications correctly so playback survives calls and headphone unplugs, with working Swift code.
A Map for Programmers Shipping Their First Web App — The Big Picture with Next.js and Supabase
You can write algorithms, yet you stall on the difference between frontend and backend, or on what a React component even is. For programmers in that spot, here is the big picture of a web app as a single map, using Next.js and Supabase — down to the line between server-run and browser-run code.
Quietly Dialing Back Heavy Work When the Device Gets Hot or Enters Low Power Mode
How to watch ProcessInfo's thermalState and Low Power Mode and degrade heavy work in stages when the device is hot or the battery is low, with working Swift code.
When EAS Update Ships but the Bug Won't Die — Why OTA Stalls Silently, and How I Operate Around It
EAS Update can succeed and still fail to reach a slice of your users. These are field notes on runtimeVersion drift, updates that publish but never get adopted, and choosing the right rollback — with the instrumentation that actually helped on my Rork apps.
Pushing Rork Max's AI Beyond Vibe Coding — Patterns That Actually Improve Implementation Quality
A deep-dive on using Rork Max as an implementation partner: prompt patterns, context management, choosing between plain Rork and Rork Max, building without burning credits, and verifying AI-written native code before App Store submission — drawn from solo indie experience.
Building a Breathing-Paced Haptic for a Meditation App with CoreHaptics
Canned expo-haptics buzzes can't produce the swell of a breath. Here is how to call CoreHaptics continuous events and parameter curves from an Expo native module to build a haptic synced to 4-7-8 breathing, with working Swift and TypeScript code.
Receiving On-Device AI Output as Typed Data with Foundation Models Guided Generation
How to receive Foundation Models output as typed Swift structs instead of free text, with working code for Guided Generation and Tool Calling on-device.
The Post You Wrote Offline Shows Up Twice — Designing a Send Outbox That Survives Retries
Persisting a queue and replaying it isn't enough — a lost response turns into a duplicate write. Here's a send outbox with idempotency keys, temp-to-server ID remapping, and poison-message quarantine, in working TypeScript.
On-Device Translation in a Rork Max App with iOS 18 — Free, Offline, Multilingual
Add free, offline, real-time translation to a Rork Max Swift app using the iOS 18 Translation framework. Covers checking language availability, batch translation, and avoiding empty results — all with working Swift code.