You hand it shapeless information. It decides how to keep it, how to relate it, and what it should look like when you ask for it back.
A Blob is a folder of plain text. A model has full write access to it and sees all of it on every message. There is no schema, no database, and no screen anybody designed in advance.
Read the project page → The argument, with the message loop and a working panel running in the page.
you: I have a shoe shop, I charge 4500 an hour
→ rules/prices.md created · data/appointments.csv created
you: Marta came in, two resoles
→ data/appointments.csv +1 line
you: show me the week
→ [a chart and a table appear beside the chat]
Double-click BlobWare.bat. It finds your Python, installs what it needs
the first time, and opens a tab at http://127.0.0.1:8756.
Or, from a terminal:
pip install -r requirements.txt
python run.py
The first run asks for an API key, then for a Blob. Tell the Blob what it is for — it opens the conversation itself.
Three providers. Anthropic, Google Gemini (free tier), or NVIDIA
NIM (eighty-odd open models behind one key) — pick one in Settings and the
app is otherwise identical. Anything else speaking either wire goes in as a
base URL. Gemini is the way to
try this without spending anything; get a key at
aistudio.google.com/apikey and start on
gemini-2.5-flash. The model box takes any id, so a newer one works the day
it ships.
Python 3.11+. Windows-first, but nothing in it is Windows-only.
python run.py --port 9000 if something else has the port
python run.py --no-open do not launch a browser
A folder you own. CSV, JSON, Markdown. Open it in Excel, back it up, take it elsewhere. Nothing is in a format this project invented.
An undo. Every message is a commit. If a reply mangles something, go back to before the message. You never have to know it is git.
Panels, not screens. When a table or a chart says it better than a sentence, the model writes one and it opens beside the chat. They read the files live, so they stay right; most get thrown away.
Multi-user. An accounting system. Something that works without an API. A place for anything you would not send to a model — the whole Blob goes up on every message.
- The project page — the argument, with the message loop
and a real artifact running in the page. One HTML file, no build, no CDN.
Publish it by turning on GitHub Pages for
/docs. - BLOBWARE.md — what it is for and why it is built this way
- ARCHITECTURE.md — how it works
- V1.md — what is in this version, and what is missing
python tests/loop.py
Runs the entire message loop against a scripted model.
tests/panels.py and tests/gemini.py cover the artifact system and the
Gemini backend the same way.
MIT. Fork it, gut it, disagree with it.