It has been forty three days since I last posted here, and this morning I sat down at seven o’clock to build something that I had already built.
I did not know that yet. That is the good part, and it is the reason I am writing this one down.
The archive nobody could find
NET-ART is my open course site on the CUNY Academic Commons. It has been running since 2017. As of this week it holds 602 posts and pages, a little over one hundred thousand words, nine years of assignments, tutorials, exhibitions, tool lists, student prompts, and a lot of me thinking out loud about what it means to make art inside a web browser.
All of it public. All of it open. And almost none of it reachable by a machine.
I went looking for the reason, expecting to find that nobody had gotten around to it. That is not what I found. The Commons has a robots.txt file, which is the small plain text file a website uses to tell crawlers what they are allowed to do, and theirs names the AI crawlers one by one. ClaudeBot and GPTBot are handed a crawl delay of ten seconds. Everybody else gets one hundred. Bytespider is turned away at the door completely.
Sit with the arithmetic on that for a second, because I had to. A one hundred second delay means a polite, well behaved crawler needs about seventeen hours to read six hundred pages.

So this was never an oversight. It was a decision. A university platform holding thousands of other people’s classrooms looked at the machines arriving at the gate and chose to slow them down instead of feeding them, and I understand that choice. I might even make it.
It still left nine years of my teaching sitting behind a locked door.
The part where I catch myself
So I started building a discovery layer. A way for a machine to see the archive whole, all at once, and find its way in.
And then, before I wrote a single line of it, I stopped and went to look at what I already had.
It was already there. Months ago I had pulled every bit of NET-ART into my own system, into catalog.db, the spine that now holds a little under thirty thousand works from twenty years of practice in one place. All 602 of those records were sitting inside it, ingested, indexed, waiting. And separately, months before that, I had built the machine readable layer that introduces my own website to agents. That has been live this whole time.
Two finished halves, built months apart, by me, and no wire between them.
I have a pattern and I am going to name it right here in public, because naming a thing is the only move that has ever actually helped me. I love beginnings. The vision arrives, the work erupts out of me, the thing gets born, and somewhere inside the glow of that birth a brand new vision walks in and I leave the last one exactly where it landed. Months go by. I start it again under a new name and feel the very same beautiful rush.
This would have been the fourth time.
Or wait. Maybe that is not quite fair to myself, and I want to get it right. It is not that I abandon the work. It is that finishing has never paid me the way starting does, and a thing that is never finished can never compound.
What I actually built, which was small
The real work was one connection. It took a morning.
NET-ART has an index now, and it lives here:
https://www.ryanseslow.com/netart/

It is one page for people and two files for machines. There is an llms.txt, which is a plain readable listing of every single work in the archive, and a collection.json, which is that same set written as structured data so a program does not have to guess at what it is looking at.
Now here is the choice underneath it, and it is not a technical one.
It points. It does not copy.
Every one of those 602 entries carries a title, a date, its subjects, a few lines of excerpt, and a link back to the original work on the Commons. It does not lift the writing. It does not take the images. It is an index in the old library sense, the card in the wooden drawer that tells you the book is real and tells you where the book lives, and then gets out of your way entirely.
I made it that way on purpose. NET-ART is a classroom. It was made in public, with students, on a university platform, and a public classroom should not get quietly relocated onto my personal domain just because that would have been easier for me. The index points. The archive stays home.
The question it answered that it should not have been able to
Back in June I wrote here about getting my own archive running on local models, with no API key and nothing anyone can revoke. That machinery is what NET-ART now sits on top of, so I am not going to walk you through it again. If you want the long version it is in The Archive Learns to Search, See, and Talk Back.
What I had never done is point it at the classroom. Nine years of teaching, read and indexed on this laptop in four minutes and thirty nine seconds, for nothing.
And I want to show you the moment it proved itself, because I do not think a claim is worth much on its own. I asked it something that shares no words at all with anything in that archive:
what happens to an artwork when the platform hosting it disappears
Plain keyword search came back with nonsense, and it should have, because none of those are the words I used. The semantic search returned a piece called Consider, The Internet is Unavailable, and right behind it, The Closing of Summer’s Portal.

It did not match my letters. It understood what I meant. And it did that offline, on a laptop, for free, which still feels a little like magic to me and I hope it never stops.
The actual lesson, and it is not about code
I could have stopped right there and had a nice thing to show you. Instead I went and did the least exciting work of the entire day, and it is the part I would most want another artist to take from me.
That index is generated. It is built from a database, which is itself built from a living website. Which means the moment I publish my next NET-ART post, the published index quietly becomes wrong. No error message. No alarm anywhere. Just a slow, silent drift out of true, which is precisely how every archive I have ever built has died on me.
So I wired it into the refresh. One command now goes out and pulls whatever is new from both sites, folds it into the spine, rebuilds the index, and then tells me plainly whether what is published has fallen behind what is actually true.
And then it caught me immediately. The first time I ran it the count moved from 601 to 602, because publishing the index page had itself added a page to the archive. The archive noticed itself changing. That is the entire idea, running in miniature, about ninety seconds after it started existing.
A beginning is a feeling. A thing that maintains itself is an asset. I have spent twenty years being extraordinarily good at the first one.
If you are holding an archive too
You probably are. A course site. A blog with fifteen years buried in it. An external drive in a drawer. A folder you are a little afraid to open.
What is in there? Who is it for? And what happens to it if you never go back?
None of this needed a company, a subscription, or anybody’s permission. It is Python, SQLite, and a language model running on a laptop. The tool I pointed at NET-ART is open source, it is called NET-ART OS, and it was built for exactly this, to aim it at a public archive and let the archive describe itself.
Sir Claude Code built it beside me, the way he has all year, and I am grateful for the company at seven in the morning as much as for the code.
Nine years of teaching, made in the open. It is findable now, by people and by machines, and it keeps itself honest without me having to remember.
If you are sitting on an archive and you want to talk about waking it up, I would love that. Tell me what you are holding.
More to come.
AREMES HQ, Brooklyn

