// Engineering Log
Continuation of the story: how an abandoned portal came back to life, this time without an editorial team.
Published on 2026-07-13
// Fast route
This article belongs to the topic Servers and infrastructure.
After moving to Hugo the site turned from a heavy sick patient into a lightweight, fast static archive — and it became clear that this wouldn’t be the end of the story. Now that the site is fast and doesn’t require a database or a server under load, why not give it a second life adapted to current realities?
Two problems immediately appeared. The first is technically trivial but not instantaneous: how to add content to a static site without a CMS, since Drupal with its admin UI is gone. The second is much more substantial: where to get texts if a full editorial team for the city hasn’t existed for a long time and never will again, because it’s not economically viable.
Publishing without a CMS solved itself almost automatically
With Hugo the first problem turned out to be even easier than I thought. After publishing each new article the project is simply rebuilt — literally a build command that regenerates the static site from markdown files. In terms of cost this is a negligible operation, many times cheaper than rendering a couple of pages on the old setup with Drupal and MySQL under the hood. So the site is fully static, but not frozen — publishing new material takes seconds, not the raising of a database and calling heavy PHP hooks.
Content was handled in a more interesting way
Building an editorial team from scratch for a city that no longer brings in advertising revenue as a media market is a pointless use of resources. But since there are LLMs, why not assemble a pipeline that does roughly what a living editorial team would do, only without salaries, meetings, and sick days.
The pipeline was functional in literally half a day. It starts with a parser that crawls a news aggregator and searches for materials potentially related to the region by keywords. Found text then goes through a processing chain that essentially repeats the path a piece would take in a normal newsroom: first facts and quotes are extracted from the text — separately, in a structured form, not as a continuous blob. This set of facts in JSON format is then checked for compliance with editorial policy: not every topic interests us, and it’s important that the material be truly tied to the region, not a digest of all Russia where the city is mentioned in passing in a single sentence. If the check passes, the facts and quotes go to the LLM at the writing stage — the model assembles a coherent neutral text from them, without inventing anything beyond the original facts. After that the finished article is compared with the original source for factual accuracy: whether numbers, names, or events were mixed up. Only at the final step are small embellishments added — for example, automatically finding people mentioned in the text and inserting links to search for them in the site archive, which for a news portal with a fifteen-year history becomes a rather nice bonus.
Deduplication deserves special attention. Before a text is even allowed to the writing stage, the system checks whether something similar in meaning has been published in recent days — this prevents the same event from different sources turning into three identical news items in a row.
Result — a revived archive on autopilot
All of this runs on a schedule, without my involvement: the parser searches, the pipeline filters and writes, the finished article as a markdown file goes into a commit and is automatically published on the site after the rebuild. The abandoned fifteen-year-old archive suddenly became a living regional digest that updates itself, without a single person on staff.
And in terms of money it’s almost embarrassingly cheap: excluding the time spent on development, publishing one news item costs about 0.2 cents. By comparison — previously maintaining the same volume of content required live people, salaries, and an editorial process that simply ceased to be economically justified. LLMs in this case did not replace journalism as a profession — they made economically possible what without them would simply have been shut down and forgotten.
// Similar task
If you are dealing with something similar
This article belongs to one of the main working topics. You can keep reading on the topic, go to the homepage to understand what I do, or open the service pages directly.
Article topic
Servers and infrastructure
VPS, Linux, web stack, migrations, hosting, databases, and core operations.
Typical tasks behind this topic
- Move a site or service to a new server
- Set up Linux, Nginx, databases, and backups
- Figure out why the system behaves unstably
// Next step
If you need help with this topic, not just another article, it is better to go straight to the service page. The homepage and topic collection stay available as secondary routes.
Open services// Contact
Need help?
Get in touch with me and I'll help solve the problem
I reply within one business day (03:00-13:00 GMT)
Или оставьте заявку здесь:
// Related