An iPad-native app designed for children to go on "reporting" missions with three distinct phases: reporting, production, and distribution.
The Kids Reporter app is structured around three main phases:
- Reporting Phase: Interactive notebook sketching with collapsible camera recording and automatic interview transcription
- Production Phase: Drag-and-drop video editor with PowerPoint-like frame builder
- Distribution Phase: Safe sharing limited to iPhoto shared albums and Messages (no external platforms)
- Privacy-First Design: Child safety is paramount with no external sharing platforms
- iPad-Optimized UI: Large touch targets and intuitive gestures designed for young users
- Accessibility Features: Clear visual hierarchy and child-appropriate interface design
- Split-Screen Interface: Notebook sketching alongside camera recording in reporting phase
- Platform: iOS 17.0+ (iPad only)
- Language: Swift with SwiftUI
- Architecture: MVVM pattern
- Key Frameworks:
- SwiftUI for modern declarative UI
- PencilKit for drawing and sketching
- AVFoundation for camera and video recording
- Speech recognition for automatic transcription
This project uses a modern, CLI-friendly development workflow:
- XcodeGen: YAML-based Xcode project generation instead of traditional
.xcodeprojfiles - Configuration: All project settings defined in
project.ymlfor version control friendliness - Benefits: Eliminates merge conflicts in binary project files, enables reproducible builds
# Generate Xcode project from YAML configuration
xcodegen generate
# Build for iPad simulator
xcodebuild -project KidsReporter.xcodeproj -scheme KidsReporter \
-destination 'platform=iOS Simulator,name=iPad Pro 13-inch (M4)' build
# Launch in iPad simulator
xcrun simctl list devices | grep iPad
xcrun simctl boot "iPad Pro 13-inch (M4)"
xcrun simctl install booted ./path/to/app
xcrun simctl launch booted com.example.KidsReporterKidsReporter/
├── KidsReporterApp.swift # Main app entry point
├── ContentView.swift # Tab-based navigation
├── Views/ # Feature-specific views
│ ├── ReportingPhaseView.swift # Split-screen reporting interface
│ ├── NotebookView.swift # Drawing canvas with transcription
│ ├── CameraPanel.swift # Collapsible camera controls
│ ├── ProductionPhaseView.swift # Video editing interface
│ └── DistributionPhaseView.swift # Safe sharing interface
└── Assets.xcassets/ # App icons and assets
-
Install dependencies:
brew install xcodegen
-
Generate Xcode project:
xcodegen generate
-
Open in Xcode or build from command line:
open KidsReporter.xcodeproj
✅ Basic project structure and three-phase navigation ✅ Reporting phase split-screen UI with collapsible camera panel ✅ XcodeGen-based project management ✅ Asset catalog setup with proper iPad configuration 🔄 PencilKit drawing implementation (placeholder ready) 🔄 AVFoundation camera recording (UI complete, integration pending) ⭕ Speech recognition for transcription ⭕ Production phase drag-and-drop video editor ⭕ Distribution phase safe sharing features
This project serves as a learning exercise for Swift/SwiftUI development, demonstrating:
- Modern iOS app architecture patterns
- Child-safe UI design principles
- CLI-based development workflows
- Integration of multiple iOS frameworks