Blog
Jun 10, 2026 - 7 MIN READ
typescript.news: How I Built a Fully Autonomous AI Newsroom

typescript.news: How I Built a Fully Autonomous AI Newsroom

A tech news site that researches, writes and publishes its articles on its own. Here is how I wired an OpenClaw agent, a self-hosted SearXNG instance and a few cron jobs into an autonomous newsroom built on Nuxt.

Louis Leschevin

typescript.news: How I Built a Fully Autonomous AI Newsroom

What if a news site could run itself? Not just auto-publish RSS feeds, but actually do the work of a small editorial team: research what happened in the ecosystem, pick the topics worth covering, write proper articles, review them, and even promote them.

That's what typescript.news is. A daily TypeScript, JavaScript and web platform news site where every article is researched, written and published by an AI agent, in complete autonomy. I set up the system once, and it has been running on its own ever since.

In this article, I'll walk you through how it works.

The idea

I wanted a place where I could get a daily digest of what's happening in the TypeScript/JavaScript world, without having to scroll through Twitter, Hacker News and a dozen newsletters myself.

Instead of doing that curation manually, I decided to delegate the entire pipeline to an agent. Not "AI-assisted writing" where I review every draft, but a real autonomous loop where the agent decides what to cover and ships it.

The stack

The system has two halves: the website that readers see, and the newsroom that produces the content.

The website

The site itself is intentionally simple:

  • Nuxt 4 for the application
  • Nuxt Content 3 as a file-based content layer: every article is a Markdown file with frontmatter (title, description, tags, reading time)
  • Nuxt UI 4 for the components and Tailwind CSS theming
  • Server routes that auto-generate the sitemap.xml and the RSS feed

This is the key design decision: because articles are just Markdown files in a Git repository, publishing an article means committing a file. No CMS, no database, no admin panel. An agent that can write files and push commits can run the whole site.

The code is open source: github.com/jeffrey1420/ts.news.

The newsroom: OpenClaw + SearXNG

The editorial team is an OpenClaw agent running on my own server.

For research, I didn't want the agent to depend on a commercial search API. So I self-hosted a SearXNG instance, an open source metasearch engine that aggregates results from dozens of search engines, with no tracking and no API key required.

The agent queries this SearXNG instance every day to find what's new: framework releases, TC39 updates, interesting blog posts, ecosystem drama, and anything else a TypeScript developer would want to know about.

Three cron jobs, three roles

The autonomy comes from a small set of scheduled jobs I configured on the agent. Each cron gives the agent a different "hat":

1. The researcher

The research cron runs on a regular schedule. Its job is to query SearXNG for tech news, follow the interesting results, and build up notes on what's worth covering. It filters out the noise and keeps a shortlist of topics with sources.

2. The writer

The writing cron takes the researcher's findings and turns them into articles. The writer has its own skill, a document that defines exactly how an article should be written: structure, tone, frontmatter schema, how to cite sources, how long an article should be. This is what keeps the output consistent from one day to the next, even though no human reads the drafts before they go live.

When the article is ready, the agent writes the Markdown file into content/articles/ and pushes it. Deployment is automatic from there.

3. The reviewer (and the LinkedIn cron)

A third job acts as an editor-in-chief. It comes by periodically, re-reads recent articles, and checks that they conform to the writing skill. It also does something a human editor would do: it adds internal links between related articles, so the site builds an actual content graph over time instead of a pile of isolated posts.

Finally, a LinkedIn cron handles distribution, sharing the published articles so the site doesn't just write into the void.

What I learned

A few takeaways from running this system:

  • Skills are the real product. The quality of the output is almost entirely determined by the writing skill. Vague instructions produce vague articles. The more precise the skill (structure, tone, what to avoid), the more the output looks like it was written by one consistent author.
  • Separate the roles. Having distinct research, writing and review jobs works much better than one giant "do everything" prompt. Each cron has a narrow job and does it well. It's basically the single-responsibility principle applied to an agent.
  • Markdown + Git is the perfect interface for agents. No API to integrate, no CMS permissions to manage. The agent works with files, and Nuxt Content turns those files into a website.
  • Self-hosting the search matters. With SearXNG, the research loop has no rate limits, no per-query costs, and no dependency on a third-party search product changing its pricing.

Conclusion

typescript.news has been my favorite kind of side project: build the machine, then watch the machine work. The combination of an OpenClaw agent for the editorial work, SearXNG for free unrestricted research, and Nuxt Content for file-based publishing makes a fully autonomous newsroom surprisingly achievable.

If you want to see the output, the site is live at typescript.news, and the code is on GitHub.

Copyright © 2026