diff --git a/README.md b/README.md
index 4ebce99..454d341 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,29 @@
-# .profile
+# Welcome to my self-hosted forge
+I believe open source communities should prefer open source tools. I also believe that maintainers need protection from AI slop, while GitHub actively builds tools that are drowning us in it. Therefore, I am [giving up GitHub][give-up-github] for personal use.
+
+## Codeberg
+
+[Codeberg][codeberg] is [my home][codeberg-sokai] for collaborative open source. Most new projects will be started there, and I am migrating established projects as I can.
+
+> [!TIP]
+> [Get started][codeberg-get-started] with Codeberg.
+
+## Forgejo
+
+I self-host [Forgejo][forgejo] for projects where contributions are not anticipated. It also mirrors several open source projects I have associated with. You are welcome to [explore][explore-forgejo].
+
+> [!WARNING]
+> Crawlers that ignore robots.txt may receive a [colorless, odorless, and deadly poisonous][iocaine] response.
+
+## Vestiges
+
+This GitHub account remains active for work and for open source that is not mine to move.
+
+[codeberg-get-started]: https://docs.codeberg.org/getting-started/
+[codeberg]: https://codeberg.org/
+[codeberg-sokai]: https://codeberg.org/sokai
+[explore-forgejo]: https://git.mediani.de/explore/repos
+[forgejo]: https://forgejo.org/
+[give-up-github]: https://sfconservancy.org/GiveUpGitHub/
+[iocaine]: https://iocaine.madhouse-project.org/
\ No newline at end of file