| # SaaS package builder architecture | |
| ## Goal | |
| The SaaS detects customer hardware and produces a build manifest that creates a ready-to-use JackAILocal key. | |
| ## Flow | |
| ```text | |
| Customer downloads profiler | |
| β | |
| Profiler collects CPU/RAM/GPU/disk and optional whichllm JSON | |
| β | |
| Profiler submits hardware profile to SaaS | |
| β | |
| SaaS planner maps hardware to model and target mode | |
| β | |
| SaaS returns build manifest | |
| β | |
| Customer inserts USB/SSD | |
| β | |
| Platform builder installs selected assets to the target | |
| β | |
| Key becomes offline usable | |
| ``` | |
| ## Important | |
| The key cannot build itself magically just by insertion. Windows does not reliably autorun executables from USB. The customer must launch the builder or START-HERE. | |
| ## whichllm integration | |
| `whichllm` can be used as advisory input. JackAILocal maps compatible Hugging Face model IDs to local Ollama references through `config/model-alias-map.json`. | |
| ## Build manifest | |
| A build manifest contains: | |
| - product name | |
| - build id | |
| - target platform | |
| - selected model profiles | |
| - backend URLs or factory asset names | |
| - checksums | |
| - default preset | |
| - update channel | |
| - branding | |
| - license terms | |
| No private signing key is shipped to customers. | |