Marquis: an AI-native media intelligence platform

Marquis is a media-intelligence platform I built for my wife’s PR firm. It watches news coverage for the firm’s clients around the clock, uses AI to decide what is about them and how it reads, and delivers browsable coverage, daily briefs in Slack, and weekly reports. It has been in production since May 2026, replacing links pasted into Slack and a spreadsheet.

I built it in about two months of evenings and weekends, largely from my phone. One engineer. This post is about how that is possible.

The frontend is a protocol

Marquis has no forms. Operators run it by talking to Claude: “onboard a new client”, “why is this feed noisy?”, “compare this month’s coverage to last month’s”. The assistant picks the right actions and does them.

That works because the product is built as tools and skills behind MCP, an open protocol. Any chat interface that speaks MCP and supports skills can drive Marquis. Claude is just the current front door. When the models get better or a new client app ships, the product’s interface improves without Marquis shipping a line of code. I never build another frontend for another channel.

An AI assistant onboarding a new Marquis client from one message: four tool calls run and the client is live.

There is a web app, and it deliberately does less. It exists for the one thing conversation is bad at, scanning a whole portfolio at a glance. You cannot build clients or queries there. That still happens in conversation.

The Marquis dashboard: an attention-first view of every monitored client, with alerts for coverage spikes and stale collection.

Asynchronous by design

Triggering a collection run takes about a second. The coverage lands minutes later. That gap is deliberate. The backend is asynchronous end to end, the way Werner Vogels has argued the world already is. It scales to many clients without redesign. When a new source or destination is needed, it fans out and nothing else has to change.

AI on both sides

The intelligence layer runs on the latest models from Anthropic and Google. Every article gets a relevance decision and a sentiment read. When the AI is not sure, it holds the article and asks a human in Slack instead of guessing.

That layer got a real test recently. The firm needed coverage on a high-value news target whose press ran almost entirely through South American outlets, some of it in Spanish, some in English. Onboarding took one Claude conversation. And because the intelligence is an LLM, the language barrier never showed up. Marquis read the coverage in whatever language it arrived and delivered the sentiment in plain English.

AI agents also wrote the code, under the same discipline I would hold a human team to. Specs drive every repository and changes land through pull requests. The operator documentation carries a freshness contract that ties it to the code it describes. That discipline is why I trust what the agents build.

A client's coverage view: scored articles with sentiment, source, and drill-down analysis.

The built-in operator guide, written and kept current by the same agents that build the product.

Stack

Kotlin · Python · TypeScript · React · AWS.

More

I wrote about the build in Building Marquis and about the workflow in I built a product from my phone. More posts in the series are on the way. If you want to talk, LinkedIn is the best way to reach me.


Marquis is proprietary software, owned and operated by The Lafayette Company.