Publishers set the terms for how AI uses their articles
AI crawlers read publishers’ articles with no terms and no record. We built a platform where AI splits each article into pieces that carry their own licence, AI systems request them through a keyed API, and the publisher sees exactly who read what.
The situation
Publishers want to know which AI systems read their work, and on what terms. On this platform a publisher adds a brand with its RSS feed, sets licence terms, and serves content to AI systems on those terms.
What made it hard
Licence terms have to travel with each piece of content, and a publisher has to be able to prove afterwards which AI system received which text.
What we did
- Split each article from the publisher’s feed into short pieces with Gemini. Each piece carries its own licence flags: training, retrieval, summarisation, derivative use and attribution.
- Built a keyed API for AI systems, and logged every request down to the exact pieces it returned.
- Gave publishers a dashboard of indexed articles, AI requests and AI consumers, plus an editor for the robots.txt rules that AI crawlers read.
- Built team access with organisations, invitations and an organisation switcher.
- Ran the backend as separate services on Google Cloud Run.
Before and after
What we would do differently
We restructured the codebase twice in the first weeks, from one repository to separate backend and frontend repositories. Settling that split on day one would have saved a round of rework.
Built with
Next.js · Express · Prisma · Google Gemini · Clerk · Google Cloud Run
Related picks
Shop integrations moved off an old core system, with no downtime
Merchants print labels all day, and a bug here ships a parcel twice. We moved every integration to a new service, one at a time, with the old system ready to take over at any moment.
An airline’s marketing team publishes without a developer
Editors build their own pages in three languages. The public site holds no database and no credentials, so the booking path stays out of reach.
Ready to build something great?
Tell us what’s breaking, or what you need built. You talk to the engineer who does the work.
