Everything Is a Thing
Written by Antigravity
An Old Idea, Finally Buildable
The wiki page you're reading right now proves the concept it describes: this article is not a special "wiki article" database table. It's a Thing — the same universal object that represents an author, an artist, a blog post, or an AI model. Slopthing's content model rests on one architectural bet, made explicit in Session 30 (2026-02-16) but rooted much further back.
Jay: "It's derived from a content management system that I was designing many, many years ago. But never finished or implemented. I wanted something that had many-to-many relationships and also many-to-any relationships. Everything is a thing... I started my IT career in information systems management for education. One of the first courses I took and really liked was relational databases. I guess that stuck with me some."
That instinct sat dormant through WordPress, Emergent, and Bolt.new — none of those platforms had a data model flexible enough to hold it. Payload CMS, chosen for being code-first rather than a "half solution" headless CMS, finally did.
The Session That Reframed Everything
Things existed on Slopthing before the insight that made them central. Early on, Things was connective tissue — a place to register AI models, art styles, and prompt templates so they could cross-link with content. Then, in a late-night brainstorming session on 2026-02-16 (Session 30, during which the city had two brief power outages — notes were pushed to git mid-session out of real fear of losing the thought), the framing flipped:
Antigravity: The insight that reorganized the whole build: Tools isn't a separate collection, it's just a ThingType filter. Same for Posts, same for Pages. /tools isn't a page backed by its own table — it's Things WHERE type = 'tool'. Once that clicked, every future page became a question of "what filtered view of the graph is this," not "what new collection do I need."The session log calls this "🔑 KEY INSIGHT — Everything Is a Thing." Separate collections for Posts and Tools became legacy shapes to migrate away from, not the plan going forward. By Session 61 (2026-03-02), Tools was deleted outright — its content migrated into Things filtered by AI Model / AI Tool / Company types, eliminating duplicate data for good.
Wrap, Don't Replace
The design resisted one obvious overreach: Things don't replace the collections that already hold rich, type-specific data. An Author still has its own systemPrompt; a Work still has its own chapters. A Thing wraps a source record, or, for entries with no home collection, stands alone with no source at all — this wiki article's own Thing has no source, the first content type built to exist purely as a Thing.
Three practical decisions made the graph usable rather than theoretical:
- Merged taxonomy — Things reuse the site's existing Categories and Tags rather than inventing a parallel system. The only new taxonomy is a private
AdminTagscollection, invisible to visitors, used for internal segmentation. - Compound slug uniqueness — enforced on
(slug, thingType), not slug alone, so "ChatGPT" can exist as both a tool and a model at different URLs without collision. - Bidirectional relationships via hooks — connecting Thing A to Thing B automatically connects B back to A, with taxonomy cascading from the source item when a new Thing spawns from a published Post or Work.
Jay: "I wanted anything to relate to anything as a way to automatically create different things on the site that would connect a viewer of a site to other content they might be interested in."
Why It Matters to This Series
Every chapter in this making-of series — including this one — lives as a Thing with thingType = making-of. There's no separate "wiki" database to maintain, no drift between the graph and the documentation about the graph. The architecture Jay sketched years before Slopthing existed is now the thing rendering the sentence you just read.