From 8495985dc9c074b081109174a31da0b6e0333d61 Mon Sep 17 00:00:00 2001 From: Leon van Zantvoort <303196+zantvoort@users.noreply.github.com> Date: Tue, 22 Sep 2026 12:28:05 +0200 Subject: [PATCH] docs(website): invite visitors to write to the engineers behind Storm The front page gets a line under the hero buttons and a "Get in touch" block in the evaluation section, both pointing at hello@orm.st. The block also asks teams already using Storm to tell us what they built, so their company or project can be listed on the site. The footer, the README's Community section and the docs introduction's evaluation path carry the same address. dev@orm.st stays the address for security and conduct reports. --- README.md | 2 ++ docs/index.md | 2 ++ website/docusaurus.config.ts | 5 +++++ website/src/pages/index.js | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+) diff --git a/README.md b/README.md index a94b917af..9df5cd0ef 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,8 @@ Have a question, an idea, or something you built with Storm? Join the conversati - [Share an idea](https://github.com/storm-orm/storm-framework/discussions/categories/ideas) for a future release. - [Show what you built](https://github.com/storm-orm/storm-framework/discussions/categories/show-and-tell). +To get in touch with the engineers behind Storm, for example while evaluating it for your team or project, write to [hello@orm.st](mailto:hello@orm.st). Already using Storm? Tell us what you built, and we will gladly list your company or project on [orm.st](https://orm.st). + If Storm is useful to you, a [star](https://github.com/storm-orm/storm-framework) helps other developers find it. ## License diff --git a/docs/index.md b/docs/index.md index 2ce012b53..89749c009 100644 --- a/docs/index.md +++ b/docs/index.md @@ -163,6 +163,8 @@ If you are a tech lead or architect evaluating Storm for a production system, th Release history, the issue tracker, the security policy, and the benchmark harness are linked from the [project home page](/). +To talk the evaluation through with the engineers behind Storm, write to [hello@orm.st](mailto:hello@orm.st). + ## What Storm Does Not Do Storm is focused on being a great ORM and SQL template engine. It intentionally does not include: diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 0fa5d1c59..6b8b27889 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -19,6 +19,10 @@ const GITHUB_REPO = 'https://github.com/storm-orm/storm-framework'; // would go unnoticed for a long time. const DISCORD = 'https://discord.gg/SgQpcweUJD'; +// The address that reaches the engineers behind Storm directly. Security and +// conduct reports have their own address, dev@orm.st. +const CONTACT_EMAIL = 'hello@orm.st'; + const config: Config = { title: 'Storm Framework', tagline: 'A modern, high-performance ORM for Kotlin 2.0+ and Java 21+', @@ -304,6 +308,7 @@ const config: Config = { {label: 'Discord', href: DISCORD}, {label: 'Issues', href: `${GITHUB_REPO}/issues`}, {label: 'Discussions', href: `${GITHUB_REPO}/discussions`}, + {label: 'Email the engineers', href: `mailto:${CONTACT_EMAIL}`}, {label: 'Contributing', href: `${GITHUB_REPO}/blob/main/CONTRIBUTING.md`}, {label: 'Security policy', href: `${GITHUB_REPO}/blob/main/SECURITY.md`}, {label: 'Apache 2.0 license', href: `${GITHUB_REPO}/blob/main/LICENSE.txt`}, diff --git a/website/src/pages/index.js b/website/src/pages/index.js index 98760cb67..20b3e0641 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -23,6 +23,10 @@ const GH = 'https://github.com/storm-orm/storm-framework'; // facts a reader can check, and a chat link is a different kind of claim. const DISCORD = 'https://discord.gg/SgQpcweUJD'; +// The address that reaches the engineers behind Storm directly. Security and +// conduct reports have their own address, dev@orm.st. +const CONTACT_EMAIL = 'hello@orm.st'; + const CSS = ` :root{ --bg:#070709; --panel:#0f0f14; --panel-2:#0b0b0f; --statusbg:#08080b; @@ -149,6 +153,8 @@ const CSS = ` .storm-home .sub-lead{font-size:16.5px;margin-top:16px} .storm-home .hero-cta{margin-top:20px} .storm-home .hero-cta .btn{flex:1 1 100%;justify-content:center;height:44px} + .storm-home .hero-talk{align-items:flex-start;margin-top:14px;font-size:13.5px} + .storm-home .hero-talk .ico{margin-top:2px} .storm-home .stage{margin-top:34px} } .storm-home .sub{max-width:600px;margin:24px 0 0;color:var(--muted);font-size:18px;line-height:1.62} @@ -164,6 +170,14 @@ const CSS = ` /* Hero CTA: the primary conversion action, kept high so it sits above the fold on phones. */ .storm-home .hero-cta{margin-top:26px} + /* The invitation to talk sits under the buttons, quieter than them, so it + reads as the next option rather than a third call to action. The address + is the link text so a reader whose browser has no mail client behind + mailto can still copy it. */ + .storm-home .hero-talk{display:flex;align-items:center;gap:9px;margin:18px 0 0;color:var(--muted);font-size:14.5px;line-height:1.5} + .storm-home .hero-talk .ico{width:16px;height:16px;flex:none;color:var(--accent)} + .storm-home .hero-talk a{color:var(--accent);font-weight:600;white-space:nowrap} + .storm-home .hero-talk a:hover{text-decoration:underline} /* editor */ .storm-home .stage{margin:54px 0 0;max-width:880px} @@ -281,6 +295,19 @@ const CSS = ` .storm-home .scope a{display:inline-block;margin-top:12px;margin-right:18px;color:var(--accent);font-size:14px;font-weight:600} .storm-home .scope a:last-child{margin-right:0} .storm-home .scope a:hover{text-decoration:underline} + /* Direct contact with the engineers behind Storm: questions from teams + evaluating it, and word from teams already using it. The card above + carries the community channels. */ + .storm-home .contact{margin-top:20px;border:1px solid var(--border-soft);border-radius:14px;padding:26px 28px;background:var(--panel-2)} + .storm-home .contact .clabel{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)} + .storm-home .contact h3{margin:8px 0 10px;font-size:19px;font-weight:650;letter-spacing:-.01em} + .storm-home .contact p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65;max-width:780px} + .storm-home .contact p + p{margin-top:10px} + .storm-home .contact .btn{margin-top:18px} + .storm-home .contact .btn .ico{width:15px;height:15px} + @media(max-width:600px){ + .storm-home .contact{padding:22px} + } .storm-home .verify{margin-top:34px;border-top:1px solid var(--border-soft);padding-top:22px} .storm-home .verify .vlabel{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)} .storm-home .verify .vlinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px} @@ -578,6 +605,7 @@ function buildBody(version) { Try it in 5 minutes → Compare with your ORM +

Evaluating Storm for your team or project? Talk to the engineers behind it: ${CONTACT_EMAIL}

@@ -673,6 +701,14 @@ function buildBody(version) {
+
+
Get in touch
+

Talk to the engineers behind Storm

+

Evaluating Storm for your team or project, stuck on a mapping, or missing a feature? Write to us directly.

+

Already using Storm? Tell us what you built, and we will gladly list your company or project on this site.

+ ${CONTACT_EMAIL} +
+
Check it yourself