Build iOS voice-controlled photo capture app with Firebase backend and React web dashboard for construction/field documentation
Build a voice-controlled iOS app for capturing and tagging photos with metadata, plus a React web dashboard for viewing and searching. Designed for construction/field documentation workflows.
This skill guides development of a two-part system:
1. **iOS App (Swift/SwiftUI)**: Voice-powered photo capture with automatic metadata tagging
2. **Web Dashboard (React)**: View, search, and manage uploaded photos and documents
3. **Backend (Firebase)**: Firestore for metadata, Storage for files, optional Authentication
```
VoicePhotoManager-iOS/
├─ VoicePhotoManager.xcodeproj
├─ VoicePhotoManager/
│ ├─ App.swift
│ ├─ ContentView.swift
│ └─ FirebaseConfig.swift
└─ Podfile
```
```
VoicePhotoManager-Web/
├─ src/
│ ├─ App.js
│ ├─ firebase.js
│ ├─ components/
│ └─ pages/
├─ package.json
└─ .gitignore
```
```ruby
pod 'Firebase/Core'
pod 'Firebase/Firestore'
pod 'Firebase/Storage'
pod 'Firebase/Auth' # optional
```
```json
{
"dependencies": {
"firebase": "^latest",
"react": "^latest",
"react-dom": "^latest"
}
}
```
Generate Swift code using Apple's Speech framework to transcribe short voice commands. Parse for keywords like "Floor" and "Unit" to extract metadata.
**Key considerations:**
Create Swift code to:
Build a React component that:
Optional: Use Web Speech API to:
1. **Keep it Simple**: Target beginner-level code, avoid advanced patterns
2. **Comment Everything**: Include inline comments explaining key lines
3. **Self-Contained**: Generate complete, copy-paste-ready functions
4. **Error Handling**: Include basic error handling for network/permissions
5. **Minimal UI**: Focus on functionality over fancy styling
```
Generate Swift code using Apple's Speech framework to transcribe
short voice commands. Return the recognized text and extract
floor/unit numbers using simple string parsing.
```
```
Generate Swift code to upload an image to Firebase Storage
and save its metadata (floor, unit, timestamp) in Firestore.
Include upload progress tracking.
```
```
Generate a React component named 'PhotoGallery' that fetches
photo metadata from Firestore, displays images from Storage URLs,
and shows floor/unit tags for each photo.
```
```
Generate a React hook that uses the Web Speech API to capture
voice input, convert to text, and filter a photo list by
floor or unit keywords.
```
Both iOS and Web should support:
1. **Permissions**: Request camera, microphone, speech recognition permissions clearly
2. **Offline Support**: Consider caching photos before upload
3. **Validation**: Validate floor/unit inputs are numeric
4. **Security**: Use Firebase Security Rules to protect user data
5. **Performance**: Lazy load images, paginate large galleries
1. User opens iOS app and taps "Record"
2. Says: "Take photo of Floor 3 Unit 412"
3. App parses voice → captures photo → uploads to Firebase
4. User opens web dashboard → searches "Floor 3"
5. All Floor 3 photos appear in gallery with unit tags
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/voice-driven-ios-photo-manager/raw