+
# Echolot
Free software for detecting and debugging **local network issues** from an Android phone —
diff --git a/assets/branding/banner.svg b/assets/branding/banner.svg
new file mode 100644
index 0000000..b449522
--- /dev/null
+++ b/assets/branding/banner.svg
@@ -0,0 +1,39 @@
+
diff --git a/assets/branding/icon-adaptive-background.svg b/assets/branding/icon-adaptive-background.svg
new file mode 100644
index 0000000..9aa5ad7
--- /dev/null
+++ b/assets/branding/icon-adaptive-background.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/branding/icon-adaptive-foreground.svg b/assets/branding/icon-adaptive-foreground.svg
new file mode 100644
index 0000000..082a3cb
--- /dev/null
+++ b/assets/branding/icon-adaptive-foreground.svg
@@ -0,0 +1,18 @@
+
diff --git a/assets/branding/icon.png b/assets/branding/icon.png
new file mode 100644
index 0000000..15ae7f7
Binary files /dev/null and b/assets/branding/icon.png differ
diff --git a/assets/branding/icon.svg b/assets/branding/icon.svg
new file mode 100644
index 0000000..cc36d74
--- /dev/null
+++ b/assets/branding/icon.svg
@@ -0,0 +1,24 @@
+
diff --git a/assets/branding/social-preview.png b/assets/branding/social-preview.png
new file mode 100644
index 0000000..54654d1
Binary files /dev/null and b/assets/branding/social-preview.png differ
diff --git a/assets/branding/social-preview.svg b/assets/branding/social-preview.svg
new file mode 100644
index 0000000..9bd64dc
--- /dev/null
+++ b/assets/branding/social-preview.svg
@@ -0,0 +1,39 @@
+
diff --git a/assets/branding/wordmark-on-dark.svg b/assets/branding/wordmark-on-dark.svg
new file mode 100644
index 0000000..bf9b2a7
--- /dev/null
+++ b/assets/branding/wordmark-on-dark.svg
@@ -0,0 +1,17 @@
+
diff --git a/assets/branding/wordmark-on-light.svg b/assets/branding/wordmark-on-light.svg
new file mode 100644
index 0000000..49a0cf6
--- /dev/null
+++ b/assets/branding/wordmark-on-light.svg
@@ -0,0 +1,17 @@
+
diff --git a/docs/build-status.md b/docs/build-status.md
index 3052cc1..5c43f79 100644
--- a/docs/build-status.md
+++ b/docs/build-status.md
@@ -33,6 +33,31 @@ Could NOT be compiled in the cloud sandbox: dl.google.com (Google Maven) and ser
are proxy-blocked, and no device is reachable for on-device runs. Build + iterate locally
(Android Studio / Claude Code). Wrapper is pinned to Gradle 8.14.3.
+## Website — `web/` (2026-07-30)
+Single-page site for echo-lot.app on Cloudflare Workers: static `public/` from the edge, a small
+Worker for the stable short URLs (`/apk`, `/apk.sha256`, `/fdroid`, `/source`) and `/api/latest`.
+Version info is resolved from the Gitea releases API at request time (edge-cached 5 min), so
+tagging a release is the only publish step — the homepage shows the latest version/date/size via
+progressive-enhancement JS and falls back to pre-release copy otherwise. Auto light/dark via
+`prefers-color-scheme`: dark = sonar display, light = chart-recorder printout, same amber-accent
+token system. Deploy: `npx wrangler deploy` from `web/`, or CI via
+`.gitea/workflows/deploy-site.yml` (needs `CLOUDFLARE_API_TOKEN` + `CLOUDFLARE_ACCOUNT_ID`
+secrets); full story in `web/README.md`. Open: favicon/wordmark are placeholders until the
+branding assets land (in progress in a parallel session).
+
+## Branding — `assets/branding/` (2026-07-30)
+Identity chosen: the **Focus** mark — a quiet lattice of nodes with exactly one under examination
+(amber) inside teal viewfinder brackets. Tone is surgical measurement, not scanning (sonar-sweep
+visuals and the "sound out your network" tagline were explicitly rejected); tagline is
+**"measure, don't guess"**. Palette: abyss `#071522`, tile `#0E2433`, instrument teal `#35E0C4`,
+finding amber `#FFB454`, foam `#E8F4F2` — teal is always the instrument, the single amber point is
+the finding. The wordmark is hand-drawn monoline SVG paths (zero font dependency); the second "o"
+is the signature teal ring + amber ping. Assets: `icon.svg` (+ `icon.png` 512² — Gitea avatars reject SVG), `icon-adaptive-{foreground,background}.svg`
+(108dp adaptive-icon layers, art inside the 66dp safe circle), `wordmark-on-{dark,light}.svg`,
+`banner.svg` (1200×300, wired into the repo README), `social-preview.svg`/`.png` (1280×640, for the
+Gitea/GitHub social-preview slot). The website's placeholder favicon/wordmark can now be replaced
+from these.
+
## Next steps
1. Build locally, run on several physical devices (varied Android versions/vendors), collect the
JSON reports — especially the real per-device Shizuku dump formats.