diff --git a/.github/social-preview.html b/.github/social-preview.html
new file mode 100644
index 0000000..ec41a73
--- /dev/null
+++ b/.github/social-preview.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+
$ npm i @polyxd/react
+$ npx polyxd check ✓
+
+
+
+
+ Send money
+ PRAORL
+ £40.00
+ Continue
+
+
+
+
+
+
+
polyxd
+
+
+
Open source · Apache-2.0
+
Every ask gets a screen.
+
An open spec, renderers and a verifier, drawn in your design system.
+
+
github.com/visualfart/polyxd
+
+
+
\ No newline at end of file
diff --git a/.github/social-preview.png b/.github/social-preview.png
new file mode 100644
index 0000000..3551d5b
Binary files /dev/null and b/.github/social-preview.png differ
diff --git a/apps/site/og/README.md b/apps/site/og/README.md
index 29c26dd..fed81a2 100644
--- a/apps/site/og/README.md
+++ b/apps/site/og/README.md
@@ -11,6 +11,9 @@ One 1200 × 630 card per page of polyxd.com, shown when a link is shared.
has none. The four demo products' cards go to `apps/demos/public//og.png`, where their
pages already point; `apps/demos/scripts/og.ts` renders the same cards there too.
+The repository's own social preview (1280 × 640) is `.github/social-preview.png`, from
+`.github/social-preview.html`; GitHub only takes it as an upload in the repo's settings.
+
Nothing on a card is smaller than 24px, since a feed shows it at about half size.
To change a card, edit it in `cards/` (and on the canvas), then run: