Owning a website makes experimenting particularly convenient: the client is always close by and regularly creates new problems himself. At some point I had enough migration experience to stop treating the next CMS as the final answer.
nevsky.ae has been through Ghost and EmDash. Its current editorial source is files in the repository. One Astro application builds the pages; Svelte is used where the interface actually needs interactivity. The old systems are retained for recovery, but must no longer edit current articles in parallel.
The “nevsky.ae — first screen” view preserves the project’s real material and design.
nevsky.ae — first screen
Current website
One article, several ways to read it
A material has a permanent ID, a Russian original, a shared block order and language versions. Media is tied to that structure. A translation changes the text; it does not create another independent article that gradually forgets its relatives.
The “nevsky.ae — internal section” view preserves the project’s real material and design.
nevsky.ae — internal section
Current website
A draft and a published version have different rights. I can rewrite a piece locally and view it as a normal article while readers keep receiving the approved version. This simple idea becomes especially valuable when AI agents arrive in the folder, very ready to help.
nevsky.ae — contact section
Current website
The published files generate the website, search, Ask, Markdown, RSS and other representations. Give each of them its own editable copy and you get a small newsroom without an editor-in-chief: one interface tells the new story, another quotes the old one, and a third confidently invents a version to reconcile them.
Why files suited me
A change is visible in a diff: this was the paragraph, this is what it became. It can be checked, rejected or reverted. The text sits beside the code that displays it, while remaining separate content. This is particularly useful with an agent: the task has a visible result, and agreement to an edit does not automatically become permission to publish.
The decision has a cost too. File-based editing requires discipline, structure checks and attention to translations and images. Git does not fix bad prose by itself or replace a convenient editor for every author. I chose it for my own way of working.
Moving did not mean inventing a new design, changing every URL and cutting off the history at the same time. I wanted to preserve a recognisable website and change how it worked inside.
In this version I preserved the website’s design and URLs and moved the editorial source to files. An article can be prepared, opened in its real design and approved separately from the build. The terminal and the earlier Content OS have their own posts.
Related stories: The website terminal · The earlier Content OS · A shared platform for three websites.






@nevsky_alexander
On Instagram: Dubai beyond the postcard — family, the city, discoveries and life between projects. On Threads: thinking out loud about design and AI. On YouTube: videos that need more room than a story. Follow me wherever you feel at home, and let’s keep in touch