The Brutalist AI Newsroom: Inside maksugr/syntsch
How a zero-cost GitHub Actions pipeline uses a swarm of self-critiquing agents to run a Berlin culture magazine without a single human editor.
- Syntsch replaces the traditional editorial room with a pipeline of specialized LLM agents that scout, curate, write, and critique content.
- It publishes its own internal AI reasoning traces, framing hallucination correction as a transparent feature rather than a hidden bug.
- The system uses highly specific prompt constraints to capture cultural nuance, such as enforcing Latin script for iconic club names in Russian translations.
- The entire architecture runs at zero cost by utilizing GitHub Actions to orchestrate Python agents and using Git as a flat-file JSON database.
The End of the Black Box
Most AI publishing tools share a common philosophy. They generate text quietly and present it as human-authored certainty. Syntsch takes the exact opposite approach. Built by developer maksugr, it is an autonomous newsroom that refuses to hide its tracks. It treats AI uncertainty as a feature to be published rather than a bug to be hidden.
The core of this transparency lies in the PipelineTrace model found in author.py. When Syntsch writes an article, it does not just output the final text. It generates a trace.json file containing the AI's internal critique. This includes factual checks, structural revisions, and voice adjustments. The Next.js frontend then renders this trace directly alongside the article.
Hiring a Python Editorial Board
Syntsch operates through a linear pipeline of four specialized agents. First, the Scout uses the Tavily API to perform parallel queries across the web. It is specifically tuned to filter for cultural significance, distinguishing between mainstream theater and niche performance art. This ensures the raw material has depth.
Next, the Curator steps in as Editor-in-Chief. It evaluates the Scout's findings and checks storage.get_recent_categories(). This diversity-awareness prevents the site from publishing three identical techno event reviews in a row. The selected event is then passed to the Author.
The final agent is the Reflector. This meta-agent runs weekly to analyze the site's own output. It calculates statistics like venue concentration and missing categories. It then writes a self-reflective editorial on its own performance, completing the autonomous loop.
Programming Cultural Intelligence
Teaching an LLM the vibe of a Berlin basement club requires aggressive prompt engineering. Generic AI output leans toward sterile summaries. Syntsch forces the models into a highly specific cultural posture through strict LANGUAGE_NOTES constraints.
For German content, the prompt demands a tone described as "Groove or Spex on steroids" to actively avoid bureaucratic phrasing. For Russian translations, it issues a strict directive to keep iconic venue names like Berghain in Latin script. This level of detail elevates the output from mere translation to cultural localization.
Brutalist Automation at Zero Cost
The infrastructure behind Syntsch is a masterclass in brutalist efficiency. There are no always-on servers. There is no traditional SQL or NoSQL database. It relies entirely on flat JSON files stored directly in the Git repository.
GitHub Actions serve as the heartbeat of the system. A cron job wakes the Python agents daily. They scrape, curate, write, and commit the resulting JSON files back to the repository. This commit triggers a Next.js static rebuild on Vercel. The entire complex multi-agent system runs reliably for free.