| # macOS User Flow |
|
|
| JackAILocal must support macOS without requiring the user to understand manifests, model folders, Ollama, llama.cpp, or terminal commands. |
|
|
| ## Hackathon/MVP flow |
|
|
| 1. The user downloads the JackAILocal builder ZIP from the SaaS. |
| 2. Safari usually extracts the ZIP automatically. If not, the user double-clicks it. |
| 3. The user inserts a USB/SSD. |
| 4. The user double-clicks `BUILD-USB-MAC.command`. |
| 5. The builder finds the embedded manifest automatically. |
| 6. The builder detects external volumes under `/Volumes`. |
| 7. The user confirms the target volume. |
| 8. The builder writes the runtime, config, manifest, folders, and planned models. |
| 9. If Ollama is available, the builder downloads selected Ollama models to the USB/SSD. |
| 10. The user opens the prepared USB/SSD and double-clicks `START-HERE.command`. |
|
|
| ## Production flow |
|
|
| For a real non-technical product, replace `.command` files with a signed and notarized `.app` bundle: |
|
|
| - `JackAILocal Builder.app` |
| - `JackAILocal.app` on the prepared key |
|
|
| This avoids Gatekeeper confusion and reduces the visible terminal experience. |
|
|
| ## macOS constraints |
|
|
| - Gatekeeper may block unsigned apps or downloaded shell scripts. |
| - Code signing and notarization are required for a commercial Mac experience. |
| - Apple Silicon uses unified memory, not discrete VRAM. Model policy should consider total RAM and chip family. |
| - Metal-enabled llama.cpp builds are important for Apple Silicon performance. |
| - The Mac version should not promise the same GPU behavior as Windows/NVIDIA. |
|
|