“Last night I wrote a program that downloads all my posts then used a local inference model to tag the sentiment and then put it in Google sheets to make a bar chart.”
That was my Threads post on March 14, 2026. It was a quick summary of a weekend project, but it got me thinking about how easy it’s become to build local AI pipelines.
I wanted to see if I could automate reading and replying to Threads posts without sending my data to a cloud API.
It turns out you can do it pretty easily using local models running on your own hardware. I built a Python tool called threads-reader that hooks into Chrome, extracts posts, runs OCR on images, and drafts replies.
Everything runs locally using Ollama. No subscription keys, no rate limits, and no external servers.
The Stack
The pipeline is split into four simple steps:
1. Capture: Intercepting Threads posts in real-time. I used Playwright to attach to a running Chrome instance via remote debugging.
2. Analyze: Running high-precision OCR using GLM-OCR (0.9B) via Ollama to extract text from screenshots.
3. Reply: Generating persona-based replies using Llama 3.2 (3B).
4. Benchmark: A built-in harness to test performance and check latency.
Why local? Because I like owning my data. Plus, it’s a fun engineering challenge to see how far you can push small models on consumer hardware.
Under the Hood: Chrome Debugging & Local Vision
Getting data out of modern social web apps is a pain. Scraping static HTML doesn’t work well because everything is dynamically rendered and hidden behind obfuscated class names.
Instead of writing fragile scrapers, I configured Playwright to attach to a browser I already have open and logged in:
threads-reader capture
Once it grabs the posts, it passes any image data to the local GLM-OCR model. At under 1 billion parameters, GLM-OCR is tiny, but it is incredibly good at reading text from images.
Once the text is extracted, it’s passed to Llama 3.2 (3B) with a system prompt to draft a response.
Latency vs. Convenience: The Local Trade-off
Is it fast?
Not compared to running a massive model on a warehouse full of H100s. Running GLM-OCR and Llama 3.2 on a local GPU takes a few seconds per post.
But it’s free to run forever. And more importantly, it’s private.
Pro Tip: Watch your VRAM when running multiple models in Ollama. If GLM-OCR and Llama 3.2 both try to load into memory at once and spill over into system RAM, your generation speed will drop off a cliff. Check your Ollama model concurrency settings to keep them running smoothly.
Try It Yourself
The code is open-source. You can check it out, run the benchmarks, and customize the prompts to match your own voice:
I challenge you, dear reader, to clone it, hook it up to your local Ollama instance, and see if you can get Llama 3.2 to write a response that actually sounds like you.
Let me know what prompts you end up using.







