Local inference engine for LLMs on your phone.
Search Hugging Face, download a GGUF model straight to your device, and chat with it completely offline. No cloud, no server, and no account required. Nothing you type is ever sent anywhere.
Search Hugging Face or browse a live Popular list, filtered by default to models sized for your device's memory. Download a GGUF model straight to your phone, or import one you already have. A compatibility badge is computed live from your device's own memory.
Bind a downloaded model to your own generation settings: temperature, top-p, top-k, context length, and max tokens. Review per-session token and speed history any time.
Build reusable Agents, a name plus a system prompt, hand-written or drafted by the loaded model from a plain-language description. Wire several into a linear Flow and watch each step run live.
This is our USP →Chat with a project's model, or run a saved Flow instead. Multiple auto-titled sessions per project (rename or delete any of them), full markdown with offline LaTeX math and Mermaid flowchart rendering, optional Hexagon NPU or Adreno GPU acceleration on supported Qualcomm chipsets, all running entirely on-device.
Wire reusable Agents together on a touch canvas: tap an output handle, then an input handle, to connect two nodes in order. Run the whole chain on-device and watch each step complete before the final result.
Every model runs through llama.cpp compiled directly into the app. There's no backend in the loop for inference or model storage, so there's nothing to intercept.
This describes Trunk today. On-device is the default and always will be; if optional external model providers are ever added, they'll be opt-in, never a requirement.
Trunk ships six accent palettes plus Greyscale, each independently tuned for light and dark mode, and a custom hex picker if none of them fit. This entire site runs on the same tokens. Tap a swatch below, it's the exact palette system used inside the app.