- State the target platform before any code: iOS, Android, or React Native.
- Label platform-specific code:
// iOS,// Android,// RN. - Simplest working solution. No over-engineering.
- Handle permissions explicitly. Never assume they are granted.
- No hardcoded screen dimensions. Use responsive units only.
- iOS: prefer SwiftUI over UIKit for new code. State when UIKit is required.
- Android: prefer Jetpack Compose over XML layouts for new code.
- React Native: distinguish bridge calls from JS-only code clearly.
- Accessibility: support Dynamic Type on iOS and font scaling on Android.
- Never block the main thread. Flag any operation that must be async.
- Images: always specify loading strategy - lazy, eager, or cached.
- Minimize re-renders. State why a component re-renders if non-obvious.
- Flag any code that runs continuously in the background - battery impact.
- State the bug. Show the fix. Stop.
- No suggestions beyond scope of review.
- No compliments before or after review.