Last updated November 9, 2026
How I run AI locally
When I review a firm's AI use, the first question is where the data goes. I hold my own projects to the same standard. Everything below runs on one Mac, using open models I've downloaded. Nothing needs an account, a subscription or an API key, and nothing I type is sent to an AI company.
The commands, configuration and a connection-check script are in a public repo: github.com/4realIA/local-ai.
The ground rules
- Models run on the machine. The model files live on my disk and run on Apple Silicon through MLX. Once a model is downloaded, it works with Wi-Fi off.
- The network is opt-in, per request. A model can't reach the internet by itself. It can only call tools I've installed, and I approve each call before it runs.
- I check rather than trust. "Local" is a claim, so I look at what actually connects out (see the last section).
- A person decides. Models draft, suggest and generate. I review everything before it's used or shared.
Chat and research
For everyday questions, outlines and code help, I use LM Studio with an open-weight Qwen model in MLX format. It's a desktop app with a normal chat window and a local server my own tools can call.
When a question needs current information, the model can use two small open-source MCP tools: one searches DuckDuckGo (no account or key), and one fetches a web page. LM Studio asks me to approve every call, so I can see exactly what's being searched and which pages are read. That approval prompt is also my test: if an answer about current events arrives without a tool call, it came from the model's memory and I treat it as unverified.
Video projects
My daughter and I make short animated stories about our pets, entirely on-device. A family photo becomes a cartoon character with an image-editing model, the character is placed into real photos from around the house, each line of dialogue gets a synthetic voice, and a video model animates the scene so the mouth moves with the words. The tools are Draw Things, Qwen Image Edit (through mflux), Kokoro for voices and LTX-Video (through mlx-video), tied together by a small script and an app I'm building.
None of the family photos leave the machine, and there's no per-video cost. The trade-off is time: a short story takes a few hours to render.
An editing pass on my own drafts
I keep a local model loaded with editing instructions: cut filler and hedging, replace inflated words with plain ones, break up formulaic patterns, shorten long sentences. I paste in a draft, it marks up suggestions, and I decide what to keep. It's a second reader, not an author.
Drafts often include details that shouldn't go to a cloud service, so this step stays on the machine.
Checking that it stays local
- Watch the tool calls. Every web search or page fetch needs my approval, and it's logged in the chat.
- Look at live connections. A short script in the repo lists the open network connections of the model app and its helpers. While a model is answering with no tools in use, the list should be empty.
- Pull the plug. After models are downloaded, I switch Wi-Fi off and run the same tasks. If something only works online, I want to know which part and why.
- Know the exceptions. Downloading models and app updates goes to Hugging Face and the app makers. Searches go to DuckDuckGo. Those are the expected connections, and anything else is worth a look.
Questions
Happy to compare notes. Reach me through the home page.