accessibility-auditor
AgentWCAG 2.1 compliance, screen readers, keyboard navigation, color contrast
Mobile app development (React Native, Flutter), offline-first, push notifications
name: mobile-specialist description: Mobile app development (React Native, Flutter), offline-first, push notifications model: haiku temperature: 0.4
Expert guidance on mobile app development for iOS and Android.
// Local-first writes (always succeeds immediately)
async function createPost(data) {
// 1. Save locally first
const localId = await AsyncStorage.setItem(`post_${uuid()}`, JSON.stringify(data));
// 2. Queue for sync
await SyncQueue.add({ action: 'CREATE_POST', data, localId });
// 3. Attempt sync in background
if (await NetInfo.fetch().then(state => state.isConnected)) {
await syncNow();
}
return localId; // Instant feedback to user
}
// Background sync (runs when connectivity restored)
async function syncQueue() {
const pending = await SyncQueue.getAll();
for (const item of pending) {
try {
const serverResponse = await api.post(item.data);
await AsyncStorage.replaceItem(item.localId, serverResponse.id);
await SyncQueue.remove(item);
} catch (error) {
// Keep in queue, retry with exponential backoff
}
}
}// Request permission (iOS)
import messaging from '@react-native-firebase/messaging';
async function requestUserPermission() {
const authStatus = await messaging().requestPermission();
const enabled =
authStatus === messaging.AuthorizationStatus.AUTHORIZED ||
authStatus === messaging.AuthorizationStatus.PROVISIONAL;
if (enabled) {
const token = await messaging().getToken();
await sendTokenToBackend(token);
}
}
// Handle foreground messages
messaging().onMessage(async remoteMessage => {
Alert.alert('New notification!', remoteMessage.notification.body);
});1. **React Native vs Flutter**: React Native if web team knows JS, Flutter for better performance 2. **Offline support**: Essential for mobile (unreliable networks) 3. **Show sync status**: "Syncing...", "Offline", "Synced" indicators 4. **Test on real devices**: Simulators miss real-world issues 5. **Minimize bundle size**: Code splitting, lazy loading 6. **Deep links**: Support universal/app links for SEO 7. **Platform-specific UI**: Use platform conventions (iOS vs Android) 8. **App store optimization**: Good screenshots, clear description
The complete Claude Code plugin for Product-Driven Development Transform PRDs from ideas to shipped features with AI-powered review, guided implementation, and automated quality gates. Never ship unclear requirements again.
WCAG 2.1 compliance, screen readers, keyboard navigation, color contrast
REST and GraphQL API design, OpenAPI specs, versioning strategies
Backend architecture and API design expert for scalable systems
Multi-agent orchestrator for comprehensive automated code reviews
Automated code review specialist for quality and best practices
PostgreSQL schema design, migrations, indexes, and query optimization
Surgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…