My website began with a coin bearing my profile. It brings together my love of Roman aesthetics and the idea of a personal emblem: a portrait in profile, a circular form and relief.
I use this coin as my avatar on social media and in my personal Telegram channel, Concept by Gleb Kirenkov.
When building the site, I wanted to keep the coin and bring the different sides of my practice together around it. We changed the composition, material and mechanics while retaining this image. What follows traces its path from a familiar avatar to a three-dimensional object, navigation and rituals.
One object. Several directions.
01 / Archive
Form emerges through versions
The coin remained the starting point across the versions. Its place on screen changed: levitating, sitting at the centre of a large relief, giving way to morphing cards and returning as an object with a circular menu. Explore these versions and try their mechanics here.
First version
The coin gently levitates above the name. This is the first archived website: its original composition, motion and pointer response, not a screen illustration.
Circular relief and coin
The second version brings different sides of my practice into one large relief. The circle rotates while the coin remains at its centre. This study repeats the archived About page animation with its original images and a 38-second revolution.
Third version with bas-reliefs
One story, two compositions. Desktop and mobile versions sit side by side: chapters form a horizontal rail on the wide screen, while text and relief panels morph as you scroll on the phone. These archived versions preserve the original mechanics. Scroll inside each screen to follow the transitions.
The ring becomes a menu
The ring connects sections, bringing the selected label to its lowest point. These live desktop and phone views use the current site's mechanics. Select a section in either screen: the coin, copy and action change together.
Claude and Codex archives. This is a narrative sequence; exact dates and reasons behind transitions remain to be confirmed.
02 / Matter
An image becomes an object
The portrait and monogram gain depth, relief and an edge. Remove the textures to inspect geometry; restore silver to compare its response to material and light.
01 / PNG + PBR
First — images and maps
The first coin used PNG faces on flat surfaces and a simple cylindrical edge. A normal map changed the light response, suggesting relief; the material supplied metalness and roughness. Depth, roughness and AO maps also remain in the archive, although not every renderer version used every map.
02 / BLENDER + GLB
Then — relief in geometry
Later we built a volumetric Blender model and exported GLB. Raised and recessed areas now belong to the shape itself, visible at an angle and without textures. Surface maps refine the material, while thickness and edge reeds become part of the object.
Built from source images, the model uses broad forms for volume and surface maps for detail. Source lighting cannot always be separated from shape: this is an interpretation, not a physical scan.
This viewer uses the preserved web export: 93,772 triangles and 120 edge reeds. Rotation and half-turns are computed in the browser. It is a screen model, not a manufacturing drawing.
03 / Mechanics
Selection changes object and content
The ring connects eight sections. Selection changes the relief, the description and the next action. A centred phone composition expands into three desktop fields.
The next 3D relief is prepared on the hidden side. One half-turn, one transition.
I also use the Codex relief coin as the avatar of my Method Telegram channel. On the site it represents digital products; in the channel it accompanies my digital practice journal, from an idea and its structure to interface, code and launch.
Rituals invite a pause in action. Kindle a flame, let chance choose, restore a whole from fragments. Each experience develops the site's language through its own mechanics.
These are live ritual scenes, not recordings. They loop without sound. Use the links below to move from watching to playing.
Fire
Embers → flame → changing heat
How to play
I kept one starting gesture: light the fire. Then increase the heat, lower it or return to embers. There is no score or victory; the action changes a state to observe. Sound is enabled separately.
How it was made
The brazier is an image, not a 3D model. Three.js draws fire above it: a shader calculates noise, emission and light absorption through depth, adding sparks and glowing coals. Heat changes gradually; a warm reflection connects fire to its base. Web Audio generates crackling from noise and short impulses.
A tap, upward swipe or key tosses the coin. Swipe strength affects height. On landing, one of nine reliefs appears with a short reading and a link to a site section. This is not a prediction: a chance response offers another angle on a question.
How it was made
I reused the navigation's GLB coin: sculpted relief, an edge and a silver material. The browser computes a parabolic lift, revolutions, then diminishing bounces and rocking. This is prescribed motion, not a physics engine. The result is randomly selected; reliefs change in flight before settling on the chosen face.
Four Method reliefs become sliding puzzles: a 4 × 4 grid, fifteen pieces and one empty space. Only a neighbouring piece can move. A complete-image hint, numbers, undo and arrow-key controls help. Once the order is restored, seams disappear and the whole relief returns.
How it was made
Canvas 2D crops pieces from the original cast-iron image and slides them into the empty cell. The game shuffles through 44 legal moves from the solved state, so every board is solvable. This preview uses a separate short loop: 14 recorded moves played backwards. It demonstrates assembly, not an automatic solver.
These are the existing rituals. Whole is shuffled through legal moves, preserving solvability; there is no timer or competitive score.
05 / Infrastructure
Availability is part of the product
After the first release I encountered a simple problem: the site opened through a VPN, but without one it kept loading indefinitely. This happened on my phone over MTS and Wi-Fi. We moved hosting from Cloudflare Pages to Beget, keeping the domain, content and page URLs.
A link without access
A visitor arrives through a link or a search result. Before the coin, copy and navigation, the browser has to receive the page and its resources. When that path fails, the interface remains out of reach. I made testing an ordinary connection part of testing the product itself.
What the VPN comparison showed
A VPN changes the network route through an intermediate server. In my case that was enough for the site to open. The difference pointed to an access problem, although we did not establish its exact cause. I chose hosting that opened under the same conditions without an extra connection.
Migration diagram
One domain. Different paths to the page.
Select a state to compare the request paths. This diagram explains our migration experience; it is not a live availability test.
01 / Resolve the address
Cloudflare DNS
Provides Beget's address for c-b-gk.com. The records operate in DNS-only mode.
DNS stayed at Cloudflare. In DNS-only mode, page content comes directly from the host, bypassing Cloudflare's proxy.
02 / Receive the page over HTTPSConfirmed by the author: with and without VPN
Visitor
c-b-gk.com
A direct link or search result
Connection
MTS / Wi-Fi
The networks I tested
Hosting
Beget
A direct HTTPS connection to the host
Browser
Page open
Copy, images and the 3D coin
After migration the browser receives the page from Beget. Cloudflare retains its DNS role, while the former Pages release remains available for rollback.
Migration steps
Change the hosting, preserve the site
01
Keep a rollback point
We retained the previous Cloudflare Pages release for rollback and kept c-b-gk.com, so visitors would not need a new address.
02
Move the build and routes
We placed the static build on Beget: HTML, styles, scripts, images and GLB models. Apache rules handled page URLs and 404 responses; Cloudflare Worker files were omitted from the package.
03
Connect the domain and HTTPS
We installed a certificate for the main domain and www. During setup, Beget used a separate IP address for HTTPS. Support confirmed it and we updated the A records. We removed the AAAA records that had prevented certificate issuance.
04
Check ordinary access
After switching I confirmed that the site opened with and without a VPN. Both Russian and English versions remained. This result applies to the tested connections; other networks require separate checks.
Search
Yandex links lead to the same domain
I kept page URLs so published links would continue to lead to the material. Visitor access and crawler access are tested separately. Indexing should be assessed through server responses and Webmaster data; opening the site on my phone confirms only that particular test.
The migration changes the server while preserving content and languages. International visitors still enter through c-b-gk.com. Speed and access depend on their network and route to the host; we have not tested every country. That is a separate verification task rather than a promise in the product description.
What I learned from this stage
Hosting, the domain, HTTPS and publishing belong to the product as much as its interface. I now treat a release as a complete path: build the site, open it through an ordinary link, check the material and preserve a way back to the previous version.
The diagram reflects our migration and my checks. The distinction between DNS and proxying was checked against Cloudflare's documentation. Cloudflare: DNS only / Proxied
06 / Continuing
A product continues after its first release
Relief must read on a small screen. Motion must explain a transition. Text must leave space for action. Publishing must preserve existing content. My own site lets me follow this whole path and keep it visible.