diff --git a/CLAUDE.md b/CLAUDE.md
index 9314ce6..4426f93 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -59,6 +59,17 @@ The patterns mirror `~/Code/projects/narayana/www`. Use that repo as a reference
`public/id_ed25519.pub` is served from the site. The comment field (currently `ie+2026@asxp.io`) is part of the key file itself; editing the website without regenerating the key file means the website and the file disagree. Keep them in sync, or regenerate the key.
+## Logo placeholder
+
+The header monogram in `views/index.erb` (inline SVG, "SP" in Hack monospace on a 56×56 dark-grey square) is a **placeholder** awaiting a real logo from a designer friend. When the real logo arrives, swap in this order:
+
+1. **Drop the asset** into `public/` (e.g. `public/logo.svg` — prefer SVG; PNG fallback if needed).
+2. **Header in `views/index.erb`** — replace the entire `
…
` block with ``. The `.monogram` CSS class in `public/style.css` (centered, `margin-bottom: 14px`) handles layout — adjust `width`/`height` on the `` if the new logo's proportions differ.
+3. **Favicons** — replace or supplement `public/hedgehog.png`. The `` and `` in `views/layout.erb` point at `/hedgehog.png`; update both. Ideally provide 32×32 (favicon) and 180×180 (apple-touch).
+4. **Open Graph image** — currently absent (Twitter Card type is `summary`, no thumbnail). Add `public/og-card.png` (1200×630, logo + entity name on dark `#121212`), then in `views/layout.erb` add `` and change `` to `summary_large_image`.
+
+The hedgehog is the user's pre-IE personal mark; once the IE has its own logo, the hedgehog can stay as-is for old-time's sake or be retired. Ask before retiring it.
+
## Common tasks
- **Generate a new SESSION_SECRET:** `openssl rand -hex 64` (then update Forgejo secret).
diff --git a/asxpio.rb b/asxpio.rb
index 5c0dcf1..c131fc3 100644
--- a/asxpio.rb
+++ b/asxpio.rb
@@ -110,6 +110,9 @@ class AsxpioWeb < Sinatra::Base
end
get '/thanks' do
+ @page_title = 'Thanks — IE Sergei Poljanski'
+ @page_desc = 'Your message has been received. A confirmation copy has been sent to your inbox.'
+ @noindex = true
erb :thanks
end
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..50ae1d1
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,5 @@
+User-agent: *
+Allow: /
+Disallow: /thanks
+
+Sitemap: https://asxp.io/sitemap.xml
diff --git a/public/sitemap.xml b/public/sitemap.xml
new file mode 100644
index 0000000..993ff75
--- /dev/null
+++ b/public/sitemap.xml
@@ -0,0 +1,8 @@
+
+
+
+ https://asxp.io/
+ monthly
+ 1.0
+
+
diff --git a/public/style.css b/public/style.css
index 51d49b6..282da47 100644
--- a/public/style.css
+++ b/public/style.css
@@ -14,6 +14,14 @@ main {
text-align: center;
margin-bottom: 40px;
}
+.monogram {
+ display: inline-block;
+ margin-bottom: 14px;
+ line-height: 0;
+}
+.monogram svg {
+ display: block;
+}
.header h1 {
font-size: 1.4rem;
font-weight: 400;
diff --git a/views/index.erb b/views/index.erb
index 3392702..dd615f2 100644
--- a/views/index.erb
+++ b/views/index.erb
@@ -1,4 +1,13 @@
+
+
+
DevOps & infrastructure engineering — IE Sergei Poljanski, Tbilisi.