# Time Safari Platforms — Platform-Specific Considerations > **Agent role**: Reference this file for platform-specific details when working with TimeSafari development across different platforms. ## Platform-Specific Considerations ### Web (PWA) - **QR Scanning**: WebInlineQRScanner - **Deep Linking**: URL parameters - **File System**: Limited browser APIs - **Build**: `npm run build:web` (development build) ### Mobile (Capacitor) - **QR Scanning**: @capacitor-mlkit/barcode-scanning - **Deep Linking**: App URL open events - **File System**: Capacitor Filesystem - **Build**: `npm run build:capacitor` ### Desktop (Electron) - **File System**: Node.js fs - **Build**: `npm run build:electron` - **Distribution**: AppImage, DEB, DMG packages ## Platform Compatibility Requirements ### Cross-Platform Features - **Core functionality** must work identically across all platforms - **Platform-specific enhancements** should be additive, not required - **Fallback behavior** must be graceful when platform features unavailable ### Platform-Specific Capabilities - **Web**: Browser APIs, PWA features, responsive design - **Mobile**: Native device features, offline capability, app store compliance - **Desktop**: File system access, system integration, native performance ## Build and Distribution ### Build Commands ```bash # Web (development) npm run build:web # Mobile npm run build:capacitor npm run build:native # Desktop npm run build:electron npm run build:electron:appimage npm run build:electron:deb npm run build:electron:dmg ``` ### Testing Commands ```bash # Web E2E npm run test:web # Mobile npm run test:mobile npm run test:android npm run test:ios # Type checking npm run type-check npm run lint-fix ``` ## Key Constraints 1. **Privacy First**: User identifiers remain private except when explicitly shared 2. **Platform Compatibility**: Features must work across all target platforms 3. **Performance**: Must remain performant on older/simpler devices 4. **Modern Architecture**: New features should use current platform services 5. **Offline Capability**: Key functionality should work offline when feasible ## Use Cases to Support 1. **Community Building**: Tools for finding others with shared interests 2. **Project Coordination**: Easy proposal and collaboration on projects 3. **Reputation Building**: Showcasing contributions and reliability 4. **Governance**: Facilitating decision-making and collective governance ## Resources - **Testing**: `docs/migration-testing/` - **Architecture**: `docs/architecture-decisions.md` - **Build Context**: `docs/build-modernization-context.md` --- **See also**: - `.cursor/rules/app/timesafari.mdc` for core application context - `.cursor/rules/app/timesafari_development.mdc` for development workflow details **Status**: Active platform guidelines **Priority**: High **Estimated Effort**: Ongoing reference **Dependencies**: timesafari.mdc **Stakeholders**: Development team, Platform teams ## Model Implementation Checklist ### Before Platform Development - [ ] **Platform Analysis**: Identify all target platforms (web, mobile, desktop) - [ ] **Feature Requirements**: Understand feature requirements across platforms - [ ] **Platform Constraints**: Review platform-specific limitations and capabilities - [ ] **Testing Strategy**: Plan testing approach for all target platforms ### During Platform Development - [ ] **Cross-Platform Implementation**: Implement features across all platforms - [ ] **Platform Services**: Use current platform services for new features - [ ] **Performance Optimization**: Ensure performance on older/simpler devices - [ ] **Offline Capability**: Implement offline functionality where feasible ### After Platform Development - [ ] **Cross-Platform Testing**: Test functionality across all target platforms - [ ] **Performance Validation**: Verify performance meets requirements - [ ] **Documentation Update**: Update platform-specific documentation - [ ] **Team Communication**: Share platform implementation results with team