Ulu runs open-weight language models directly on your computer. No API keys, no accounts to chat, and nothing you type leaves the machine. That holds on a plane, in a tunnel, or with the Wi-Fi switched off.
Intel Macs are not supported. The iOS and Android apps are in development.
You can end it early, but the break is narrow and every condition in it has to be met. Clause 14 does not give you a general right to walk away.
Miss the September date and the next opportunity is a full year later. Worth noting: 14.4 makes the conditions strict rather than reasonable, so a small arrears balance on the day is enough to void it.
The weights sit in your machine's memory and generate on your own GPU.
Metal on Apple silicon, OpenCL on recent Adreno, and an NPU path on newer Snapdragon. Everything else falls back to a genuinely usable CPU path.
Inference is a local process talking over loopback. There is no request to fail, so the assistant behaves identically offline.
Weights are ordinary files on your disk. Pick a model to match your machine, swap it whenever, and delete it when you want the space back.
Most apps claim privacy. Ulu makes it checkable.
There are only a few reasons Ulu ever opens a connection: fetching a model, signing in, checking a subscription. Each one asks first, names the exact host, and says what is being sent and what is not.
Every request is written to a log you can read in Settings. Your conversations are never among them.
Bigger models reason better and run slower. Ulu tells you which ones your machine can actually hold before you spend the download, measured against the memory you have rather than a number printed on a page.
| Desktop | Disk | Memory | Downloads |
|---|---|---|---|
| 3.2 GB | 8 GB | 5.4M | |
| 3.8 GB | 8 GB | 4.1M | |
| 5.6 GB | 16 GB | 4.9M | |
| 6.1 GB | 16 GB | 7.3M | |
| 6.8 GB | 16 GB | 2.6M | |
| 16.2 GB | 32 GB | 7.6M | |
| 16.9 GB | 32 GB | 10.4M | |
| 18.2 GB | 32 GB | 4.6M | |
| 21.5 GB | 32 GB | 7.1M |