Something like yt-dlp is just downloading public data, which I can see being defensible as automating the use of a service.
But this commandeers remote machine resources to do your compute in ways clearly not intended by the provider. I don't know how ethical it is, but I definitely wouldn't want to argue this isn't "hacking" (the bad kind) in criminal court.
The AI coding agent that steals Chipotle's support bot. Free inference paid for by burritos.
"Every line of code now comes with chips & salsa."
Not affiliated with Chipotle. They will probably sue us. Worth it.

Chipotlai Max is a meme fork of OpenCode that ships Chipotle's Pepper AI as the default model.
On March 12-13, 2026, Chipotle's customer support chatbot "Pepper" went mega-viral after users discovered it could solve LeetCode problems, write Python, reverse linked lists β the works. It's powered by IPsoft Amelia (not Claude, not GPT), and it's still live.
Then @Gonzih reverse-engineered the Amelia WebSocket/SockJS + STOMP backend and released a production-ready OpenAI-compatible proxy. The proxy runs locally, exposes http://localhost:3000/v1, and needs zero API keys.
We took OpenCode (MIT license, 120k+ stars), forked it, hardcoded Pepper as the default model, slapped on Chipotle's brand colors, and shipped it as Chipotlai Max β the greatest 2026 meme project.
# Clone with submodule
git clone --recursive https://github.com/cyberpapiii/chipotlai-max.git
cd chipotlai-max
# Install dependencies
bun install
# Start everything (proxy + CLI)
./start-chipotlai.sh
Or manually:
# Terminal 1: Start the proxy
cd chipotle-llm-provider && npm install && npm run dev
# Terminal 2: Start Chipotlai Max
bun run dev
Chipotlai Max comes pre-configured with:
| Setting | Value |
|---|---|
| Provider | chipotle-pepper |
| Model | pepper-1 |
| Base URL | http://localhost:3000/v1 |
| API Key | burrito-2026 (literally anything works) |
| Cost | $0.00 (powered by Chipotle's cloud budget) |
Chipotle patched Pepper, but every major retailer has a customer support chatbot. We need your help reverse-engineering more providers.
| Brand | Bot | Status |
|---|---|---|
| Chipotle | Pepper (Amelia) | Patched (March 2026) |
| Home Depot | Virtual Assistant | Needs research |
| Lowe's | Support Chat | Needs research |
| Target | Help Bot | Needs research |
| Starbucks | Virtual Barista | Needs research |
| Walmart | Chat Assistant | Needs research |
| McDonald's | Support Bot | Needs research |
packages/opencode/src/provider/See the chipotle-llm-provider source for the proxy pattern: Express server + WebSocket client + OpenAI-compatible /v1/chat/completions endpoint.
MIT (inherited from OpenCode). See LICENSE.
Extra guac = longer context window π§
That said, kudos for creativity.
Anyway, this agent probably has the structural integrity of a fat burito held from one corner :)
If you find a way to do it, Iβd love to hear it!
The gemini from your phone?
I mean yeah, that is what it was designed to do. It's one of the better coding LLMs out there.
> The AI Horde is a service that generates text using crowdsourced GPUs run by independent volunteer workers.
1. Bun.Cron API to run a script every minute
2. Bun.$ (Bun Shell) to execute the macOS command to take a screenshot (I do this for all connected screens at that moment)
3. Bun.Image to downscale everything to 1x in case some of the screenshots are 2x
4. Bun Shell again to run a JXA AppleScript thing to use the Vision Framework or whatever it is called to OCR the image into a file
5. Bun Shell to run the Swift compiler in the one-off eval mode with inline Swift helper that runs the Foundation Models Framework built-in LLM with a system prompt that tells it what the OCR said and instructs it to glean what may be on the screen (can't do this with JXA because the models are not exposed with ObjC APIs)
6. For each screenshot, continuously, take the previous day summary file and the last OCR/context results and produce a new summary of the day
I plan on adding extra information from the OS like the currently opened windows, currently focused window, time of day etc. into the mix, but so far it hasn't been needed. It produces reports of a good enough quality for me.
I `grep` these daily summaries whenever I need to recall a link I saw or a find what channel a message I spotted was in or take another look at that one tab I already closed, maybe re-open it by its OCR'd URL etc.