I put an LLM agent on a static site for free. Here is the actual bill
The previous post made a claim I still stand behind: this site has no server, no database and nothing to patch. It is a repository that becomes HTML. Then there is a button in the bottom right corner that answers questions about me, in full sentences, out of a language model. Both things are true at the same time. The second one is only free at the point where you happen to be looking. Where the agent actually runs Not here. It is a Docker image on a Hugging Face Space , on the free CPU tier, two shared cores. A GitHub Action pushes the repository to the Space on every commit to main , so shipping the agent is still git push , the same gesture that ships the site. The site's half of the contract is one line: export const CHAT_ENDPOINT = ' https://martinimarcello00-personal-cv-langgraph.hf.space/chat ' ; That is the whole dynamic part of a static site. Everything in dist/ is still a file, and the one thing that thinks lives somewhere else behind a URL. The architecture did not get simpler. It moved. Free means it falls asleep A free Space sleeps after 48 hours without traffic, and only paid hardware can be told not to. The next visitor restarts it, which sounds harmless until you read what the container does when it boots: CMD ["/bin/bash", "-c", "python build_rag.py && uvicorn api:app --host 0.0.0.0 --port 7860"] The vector index is not baked into the image. It is rebuilt at startup, every document re-embedded with bge-small-en-v1.5 on those two shared cores before the first request gets an answer. Somebody arriving after a quiet weekend is not waiting for a container to start. They are waiting for an embedding job to finish. So the Space is never allowed to be idle. The monitor that already watches the containers on my home server watches this one too. Uptime Kuma — The thing that notices before I do. Scheduled checks against the handful of endpoints that are supposed to answer, with a notification when one stops. The job I did not expect to give it is keeping some