Skip to content
Engine timeline: Ghost, Ghost Pro, Astro with EmDash, then Astro with Svelte; glass technology marks connected by a green line
Ghost → Ghost Pro → Astro + EmDash → Astro + Svelte

The technical history of this site: engine, editorial source, routing, publishing and interactive interfaces. Major changes are grouped into releases rather than individual commits. The detailed timeline covers late September and October 2026. Earlier stages were reconstructed from archives; uncertain dates are marked explicitly

27 October 2026

Mono means mono

  • Medeo Mono
  • Medeo Sans
  • Medeo Pixel
  • xterm
  • DOM
  • WOFF2
  • Medeo Sans + Mono in the public shell; Medeo Pixel in the terminal.
  • xterm keeps ASCII measurement; DOM supplies natural text width and word selection.
  • Mobile menu labels wrap by words; 7,208 assets are reused unchanged.

Verification and limits: Local and production browsers; 360 • 390 • 430 px. No physical-phone acceptance.

Read more

The public shell moved to Medeo Sans for body text and headings, and Medeo Mono for navigation, dates and metadata. Medeo Pixel is limited to the terminal in that release. Only upright fonts were shipped. Existing media, material URLs and language boundaries were preserved; Arabic and Chinese retained their native system fallbacks.

The fonts ship under SIL OFL 1.1. The core Sans and Mono subsets total 154,624 bytes, compared with 210,720 bytes for the full files. Full fonts remain available for characters outside those subsets. Outlines, advances and variable axes were checked to preserve the lettering.

The terminal keeps xterm for measurement and ASCII graphics, while visible Pixel text uses natural widths and ordinary DOM selection. This fixes the mismatch between words and selection cells. Sizes range from 14 to 32 px, with 16 px as the default. A follow-up added word wrapping to mobile menus; continuation rows keep their logical item number and click action. Widths of 360, 390 and 430 px were checked; no physical-phone acceptance was performed.

The expanded homepage tree now reserves its measured height and restores content position when closed. Announcement links open safe new tabs. The font release rendered nine representative routes and applied a verified typography-head transition to other HTML. The wrapping follow-up changed only the terminal and its dependencies, reusing 7,208 existing assets byte for byte.

26 October 2026

A clean clone, the full context

  • GitHub
  • Linux
  • Node.js 22
  • pnpm
  • Astro
  • SHA-256
  • The complete accepted base restores from an encrypted archive with a verified hash index.
  • JSON typography normalization runs independently of Astro dev; saving does not publish.
  • Style Guide gains seven editions and native header variants.

Verification and limits: Linux verification, staging preview and public catalogue release are recorded separately.

Read more

Fresh cloud tasks can restore source and the encrypted accepted base separately. The base is a complete checked package, not a sample build. Its index and hashes bind restored files to the original acceptance; the encryption key is kept separately. A new chat can prepare a private preview without gaining permission to publish the public site.

Restoration and application operation were checked in a fresh Linux environment. Typography normalization runs independently of Astro, covering direct JSON saves. It preserves language boundaries and reports ambiguous quotation marks. Saving does not change publication status.

Style Guide was updated in seven languages. Headers and layout variants use native site components; its cover and examples were checked against the source design. It is a working catalogue of text, code, media and page composition. Cloud verification, public catalogue delivery and physical-device acceptance are separate results; the last was not established by this release.

23–25 October 2026

An editor without surprises

  • React
  • Koenig
  • Cloudflare D1
  • R2
  • CAS
  • Private drafts • history live in D1; private media in R2.
  • Compare-and-swap protects concurrent writes; requests pin revision and source base.
  • React • Koenig, H1–H6, lists, Undo and the design catalogue reconcile with audited auth.

Verification and limits: 25 October: independent editor release and production readback; no root redeployment.

Read more

A separate private editor followed the move away from EmDash. It owns its React and Koenig dependencies; the public Astro site still reads repository files. Drafts, history, authentication and publication requests live in a separate D1, with private uploads in a separate R2. The root site Worker does not need an editorial database.

Save, autosave, translation import and queueing a publication request do not publish a material. A request pins an immutable revision and its source base. File handoff checks concurrent changes before applying it, using compare-and-swap for writes. Private images receive approved public addresses only when their release is prepared.

The editor retains a collapsible document tree, formatting toolbar, H1–H6, lists, Undo, design catalogue and author • participant relationships. Final reconciliation on 25 October combined the latest UI with audited authentication and bounded cleanup of expired technical rows. Drafts, history, requests and active sessions were preserved. The editor releases independently; this reconciliation did not republish public articles.

24 October 2026

304 is an answer, too

  • SSR
  • HTTP ETag
  • WebP
  • gzip
  • Cache API
  • Web Analytics
  • TLS 1.2
  • Complete SSR stays on the first screen; conditional catalogue fetch returns bodyless 304 or fresh 200.
  • Lossless 400 • 720 • 800 px WebP and checked Geist subsets reduce transfer.
  • Cache API stores final HTML after HTMLRewriter and eligible Analytics; gzip runs once.
  • Scroll-reveal no longer hides visible Masonry cards; TLS • HSTS change separately at the edge.

Verification and limits: GET • HEAD • 304, gzip • identity, privacy boundaries and initial card visibility checked in production.

Read more

The homepage keeps complete server-rendered cards, then makes one conditional catalogue request using an exact ETag. An unchanged catalogue returns 304 without a body; a changed catalogue returns 200 to refresh older reused HTML. A duplicate preload was removed. Initial rendering still does not depend on fetching a client-side list.

Portrait WebP variants at 400, 720 and 800 px supplement the unchanged 2400 × 2400 original. They are encoded losslessly after resizing and checked by comparing decoded RGB pixels. Selection follows real column width and device density. The Geist and Geist Mono subsets used at this stage were checked for metrics, outlines and shaping; this preceded Medeo.

Final HTML is cached after fragment composition and the permitted Analytics beacon, followed by one gzip pass. Cache identity includes release, page, fragments, encoding and analytics variant. GET, HEAD, 304, gzip and identity were checked. Editor, preview, API and private responses are excluded from public analytics and the corresponding cache.

A separate fix removed scroll-reveal waiting from homepage cards. Masonry could move a card into the first viewport while it remained transparent until scrolling. Two package assets changed, with zero HTML rendering and 6,703 other assets reused. A production browser confirmed initial card visibility. These are measured checks, not a promise of equal gains for every visitor.

Edge settings separately raised the minimum to TLS 1.2. Full Strict applies only to explicitly checked web hosts; one-day HSTS applies only to the HTTPS apex, without includeSubDomains or preload. The CDN was excluded. DNSSEC remained unavailable because the parent domain zone was unsigned.

23 October 2026

The homepage finds its voice

  • Svelte
  • Masonry
  • Astro
  • Ask
  • File catalogue
  • Topic tabs, a shared catalogue and Masonry run in one Svelte shell.
  • Reader and Ask use published files; authors and participants remain distinct.
  • The previous homepage and exact rollback are retained.

Verification and limits: Homepage release and Ask fixes have separate acceptance reports.

Read more

The homepage gained a Svelte shell with topic tabs, a shared feed and a Masonry grid. Articles, family materials, projects and pages come from the published file catalogue. Reading and Ask share context without requiring a separate editorial source.

Navigation and catalogues distinguish authors from participants, and family profiles link to existing publications. The author directory uses those relationships. Ask received a collapsed-sidebar correction. The new homepage shipped with its predecessor and exact rollback retained; design experiments did not justify deleting the accepted shell.

21–22 October 2026

Files take over

  • Astro
  • Svelte
  • Cloudflare Workers
  • HTMLRewriter
  • RSS
  • Markdown
  • content/ becomes the shared source: stable IDs, block tree, RU plus six translations, separate draft • published lanes.
  • The root Worker combines ASSETS, Ask, terminal and signed preview, without an editorial D1.
  • HTMLRewriter composes static feed • related fragments with verified size and SHA.
  • One recorded text release: about 104 seconds, 1 page rendered • 1,968 reused.

Verification and limits: Published file-site cutover; the timing is one run, not an SLA.

Read more

The editorial source moved into content/ in the repository. One material keeps a stable ID, shared block/media order, a Russian original and up to six translations: EN, AR, ZH, FR, DE and ES. Published and draft lanes are physically separate. Migration preserves URLs, authorship and structure; a draft does not become public merely by existing.

One Astro application serves articles and pages; Svelte supplies interactivity. The root Cloudflare Worker combines static assets, Ask, terminal and signed preview. Search, Markdown, RSS, sitemap and LLM views derive from the same published files, without independent editors that could drift.

Delivery now plans affected pages and reuses other HTML, assets and valid checks. Feeds and recommendations are separate static fragments composed by HTMLRewriter. Browsers need no new JavaScript for that operation. Fragment endpoints are private; size and hash are verified.

Text edits, new materials and structural changes use separate bounded paths. Translation freshness follows changed fields and blocks instead of rechecking the entire archive. One recorded punctuation release took about 104 seconds from save to completion: one page rendered, 1,968 reused. This is one prepared-environment observation, not a future delivery target.

EmDash left the active workflow. The owner decided on 25 October to retain its data as a closed historical archive, without automatic deletion. The later private editor does not restore EmDash as the public source.

18–21 October 2026

Seven languages, one corpus

  • RU • EN • AR • ZH • FR • DE • ES
  • Svelte
  • Ask
  • Terminal
  • Wrangler
  • Seven languages share material identity with their own URLs, SEO and published editions.
  • RU • EN Ask and terminal consume the same corpus; terminal synchronization follows accepted publication.
  • CSS, menus and fields can ship pointwise with hash checks and retained rollback.

Verification and limits: Public releases are verified; arbitrary AI answers depend on an external provider.

Read more

Arabic, Chinese, French, German and Spanish joined Russian and English. Languages share material identity and block order but own their URLs and text. Navigation, switchers, SEO and published projections follow this model; Arabic requires RTL, and Chinese needs the appropriate font fallback.

Ask launched as a public RU • EN conversational interface connected to the published corpus. Later releases brought it closer to the homepage and reader. Answers depend on an external AI provider; an interface alone does not establish acceptance of every question or voice scenario.

The terminal became an alternative way to navigate the same archive: sections, materials, languages and links in a console interface. Its catalogue synchronization follows accepted root publication. Style Guide and the design system document composition options and shared rules.

Bounded CSS, menu and field releases appeared without rendering the whole site. Ready HTML and assets are hash-checked, versions bind to source and an accepted base, and previous packages remain available for rollback. Security and account checks remain mandatory.

10–12 October 2026

Scope changes its engine

  • Astro
  • Scope
  • EmDash
  • Cloudflare Workers
  • ASSETS
  • Scope moves from Ghost templates to Astro components while preserving shell and URLs.
  • The static root package uses published EmDash revisions and a Worker with ASSETS.
  • Editing and delivery separate; cloud publishing and recovery are checked later.

Verification and limits: Root cutover on 10–11 October, followed by historical cloud checks.

Read more

Scope was ported into Astro components while preserving its visual shell and URLs. Static packages were built from published EmDash revisions. The apex moved to a Cloudflare Worker with static assets; the older Ghost export stopped owning new releases.

This was an intermediate architecture: visitors already received Astro • Scope, while authors still worked in EmDash. Editing and delivery became separate subsystems. Guarded builds and checks prevented drafts from entering public packages.

A local Mac process initially supervised publication; cloud publishing and restoration were checked later. These historical mechanisms were subsequently replaced by the file workflow. The old background-publishing runbook is not an instruction for the current site.

2–9 October 2026

EmDash joins the conversation

  • EmDash
  • CDN
  • Multilingual document
  • Published revisions
  • A closed EmDash pilot starts on 2 October, separating Pages and Posts at import.
  • A single document binds stable ID, languages, shared blocks and independent revision statuses.
  • Published variants remain independent of unfinished edits; experiments are not cutovers.

Verification and limits: Pilot • development, 2–9 October; not every interface became the public root.

Read more

A closed EmDash pilot began on 2 October, preserving the archive and CDN media. Import separated pages from posts. A single multilingual document then joined stable identity, language editions, shared blocks and independent statuses. Published editions could be read independently of unfinished changes.

Editorial views and presentation options were tested in parallel, including a Ghost-like shell and Framer feeds. By 9 October the work aimed at unified editing and familiar article presentation. Some interfaces were experiments: a Git commit is not proof that the public root changed that day.

Late September 2026

A bridge through /new/

  • Astro
  • Ghost export
  • Cloudflare Pages
  • Rich text
  • SEO
  • nevsky-web begins on 23 September; a dual-mode bridge is ready by 26 September.
  • The Ghost static root remains public; Astro routes use noindex /new/.
  • Routes, languages and rich text reconcile with historical sources; static Ghost still ships on 9 October.

Verification and limits: Transitional mode verified. Astro preparation dates are not root-switch dates.

Read more

The nevsky-web repository began on 23 September. By 26 September a dual mode preserved the public Ghost static output while new Astro routes lived under /new/, excluded from indexing. Migration could be checked against real data without replacing every old URL with an unfinished site.

The bridge covered sections, topics, language relationships, old-link compatibility and rich-text sanitization. Texts and routes were reconciled against Ghost exports and the static archive. Builds consumed a verified content projection rather than an arbitrary local copy. A separate static Ghost production release is recorded on 9 October; EmDash • Astro cutover followed.

July–August 2026

Two engines at the starting line

  • Ghost Pro
  • Scope
  • Ghost Handlebars
  • Astro
  • Static v2
  • Ghost Pro runs nevsky.ae with RU • EN, Scope, custom-template compatibility, accessibility and responsive media.
  • Static v2 • Astro is developed separately on noindex new.nevsky.ae.

Verification and limits: 13–14 August documents retain Ghost Pro on the apex. LiveDXB is separate.

Read more

During the summer, nevsky.ae remained on Ghost Pro with Scope and RU • EN routes. July releases repaired template compatibility, language metadata, accessibility and mobile behaviour. Performance work prioritized the hero image, responsive pictures, font deduplication and fewer Koenig layout shifts.

Static v2 and the Astro successor were developed during August on the separate noindex new.nevsky.ae preview. Documents dated 13–14 August explicitly retained Ghost Pro on the apex. That was preparation, not an Astro production switch. Parallel LiveDXB releases do not establish Nevsky cutover dates.

May–June 2026

A new home for Ghost

  • Ghost Pro
  • Handlebars
  • Geist
  • Cloudflare DNS
  • Framer
  • 15 May: Scope for nevskii.me, separate RU • EN feeds, routes and navigation.
  • The move plan retains nevskii.ghost.io; by 30 June tooling uses nevsky.ae.
  • nevskii.me later serves a separate Framer portfolio.

Verification and limits: Exact nevsky.ae purchase and DNS-cutover dates are unknown.

Read more

Git first records Scope for nevskii.me on 15 May: Ghost • Handlebars templates, custom CSS, Geist, separate RU • EN feeds, navigation and language relationships. That line used Ghost Pro. Managed hosting changed engine operations while theme customizations remained owned by the project.

The purchased nevsky.ae then became the main address. An archived plan moves the public domain from nevskii.me to nevsky.ae while retaining nevskii.ghost.io as origin. By 30 June the new URL was established in tooling and theme settings. The exact purchase and DNS-switch dates are unknown; a URL commit does not establish either event.

nevskii.me later served the Framer portfolio, a separate visual-site line whose Astro successor was also prepared in preview. Domain history therefore does not represent one uninterrupted sequence of engine switches.

Early archive

Before the first commit

  • Ghost
  • SQLite
  • Ghost export
  • Static archive
  • Early nevsky.me • Ghost writing survives in a 9 April 2026 export, with authorship and media references.
  • Owner’s account: nevsky.me → nevskii.me; local Ghost precedes Ghost Pro.

Verification and limits: First launch and initial domain-change dates are unknown; article dates are not engine dates.

Read more

The early blog is associated with nevsky.me and Ghost. An export dated 9 April 2026, a static archive, historical writing, authorship and media references survive. According to the owner, nevskii.me followed nevsky.me, and local Ghost preceded Ghost Pro. Exact first-launch, initial-domain-change and Ghost Pro start dates are absent from the available history.

These stages record the site’s origins without invented version numbers. Old article dates establish the age of the writing, not the engine launch. Reliably dated custom-theme history starts in May 2026; detailed history of the present application starts in late September.

Keeping this changelog

Add an entry when the engine, editorial workflow, delivery, interface or public functionality changes substantially. Group small fixes with their release. Each entry records the actual release date, previous technical base, meaningful changes, their effect on readers or authors, and verification limits. Locally prepared features are not described as deployed.

@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

Subscription 1 Subscription 2 Subscription 3
Subscription 4 Subscription 5 Subscription 6