A developer journey log β using a 2024 Mac Mini (Apple M4, 16 GB RAM) to get a React Native project running with full iOS simulator support, multiple GitHub identities, and AI-powered development tools.
π― Objective
Set up a clean 2024 Mac Mini for:
- React Native development
- iOS builds via Xcode
- Support for two GitHub accounts (Rover + Client)
- Enhanced AI-assisted development with GPT-4o (via ChatGPT Desktop + extensions)
π» Hardware & OS
- Mac Mini (M4, 16 GB RAM)
- macOS Sonoma
β Key Decisions
- Two IDEs for separation:
- Cursor: Used for AI-first dev with Rover
- VS Code: Used for Client work
- GitHub identity separation:
- Used SSH keypairs and
.gitconfig
conditional includes per folder
- Used SSH keypairs and
- Environment-specific folders:
~/dev/rover/
β Rover repos~/dev/client/
β Client repos
π οΈ Installations & Setup
1. System Essentials
xcode-select --install
- Later upgraded to Xcode 16.2 for full simulator compatibility
2. Homebrew (Critical!)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3. Package Managers and Runtimes
brew install fnm
fnm install --lts
fnm default lts
brew install rbenv
rbenv install 3.2.2
rbenv global 3.2.2
4. Node/Yarn
corepack enable
yarn -v # verified v4.9.2
5. CocoaPods for iOS
sudo gem install cocoapods
pod install
6. GitHub SSH Config
Created separate keys and entries in ~/.ssh/config
, then separated Git configs via ~/.gitconfig
includeIf blocks.
π€ AI-First Development Workflow
1. ChatGPT Desktop App
- Installed from the [official OpenAI app in App Store]
- Used native integration with Terminal (on approval)
2. Cursor IDE (AI-enhanced VS Code fork)
- Used for Rover-specific dev with seamless inline AI completions and support
3. VS Code + Extensions
- Used for Sidebench (client) work
- Key extension: ChatGPT – AI Coding Assistant with terminal and code context integration
4. GPT-4o Support
- All troubleshooting, builds, error decoding, SDK mismatch, and versioning decisions guided via GPT-4o prompts
π .env Setup
Created multiple environment files in root project folder:
.env.dev
.env.staging
.env.uat
.env.prod
Key variables:
APP=1
for SignAndGlide /APP=2
for TravAssistENVIRONMENT=development
(or others as needed)
π§© Troubleshooting Highlights
1. Simulator issues
- Initially no simulators listed: waited for Xcode 16.2 full install
- Resolved with:
xcrun simctl list devices
(post-install)
2. iOS build failures
error code 65
,Build Failed
, and Xcode crashes- Solution: upgrade to Xcode 16.2, set active dev dir:
sudo xcode-select -s /Applications/Xcode-16.2.app/Contents/Developer
3. react-native-image-crop-picker failures
- Missing arch patches for Apple Silicon
- Reinstalled correct version:
yarn add react-native-image-crop-picker@0.41.2
4. Missing environment loading
- Fixed .env placement, validated via logging
process.env.APP
5. Font errors
- Missing fallback for custom font name:
'Arial Regular'
β needed mapping or use of iOS-safe fonts
π Bonus: Power Redundancy
- Discovered need for UPS battery backup for Mac Mini (don’t just unplug like a laptop) π
- Considering a solar-powered solution because that would be fun and want to do
π¦ Final Status
- β Metro running
- β iOS app builds cleanly
- β Correct GitHub account separation
- β Cursor + ChatGPT integration working
- β Terminal ChatGPT prompts available
πNext Steps
- Automate build scripts and environment selection
- Setup Android builds
- Explore devcontainers or VMs for isolating environments
- Continue using GPT-4o for AI pair programming and deployments
This post was AI aided , developed, debugged, and written with real-time assistance from GPT-4o on a fresh Mac Mini setup.