From b2cb6a3ee5a389276fd43c379c7b8e6f6ff31aea Mon Sep 17 00:00:00 2001 From: nastyapash <38438810+nastyapash@users.noreply.github.com> Date: Wed, 8 Apr 2026 00:52:18 +0300 Subject: [PATCH] update Customers page (#2229) * update Customers page * minor tweaks * update card logo, move customers js * content and small fix (#2240) * add missing customers logos and partition --------- Co-authored-by: trean --- .../content/blog/case-study-alhena.md | 1 + .../content/blog/case-study-and-ai.md | 1 + .../content/blog/case-study-anima-health.md | 1 + .../content/blog/case-study-aracor.md | 1 + .../content/blog/case-study-bazaarvoice.md | 1 + .../content/blog/case-study-bloop.md | 1 + .../content/blog/case-study-convosearch.md | 1 + .../content/blog/case-study-cosmos.md | 1 + .../content/blog/case-study-dailymotion.md | 1 + .../blog/case-study-deutsche-telekom.md | 2 +- .../content/blog/case-study-dragonfruit.md | 1 + .../content/blog/case-study-dust-v2.md | 1 + qdrant-landing/content/blog/case-study-faz.md | 1 + .../content/blog/case-study-fieldy.md | 1 + .../content/blog/case-study-flipkart.md | 1 + .../content/blog/case-study-garden-intel.md | 1 + .../content/blog/case-study-glassdollar.md | 1 + .../content/blog/case-study-gooddata.md | 1 + .../content/blog/case-study-hubspot.md | 3 +- .../content/blog/case-study-kairoswealth.md | 1 + .../content/blog/case-study-kakao.md | 1 + .../content/blog/case-study-kern.md | 1 + .../content/blog/case-study-lawme.md | 1 + .../content/blog/case-study-lettria-v2.md | 1 + .../content/blog/case-study-lyzr.md | 1 + .../content/blog/case-study-mixpeek.md | 3 +- .../content/blog/case-study-my-askai.md | 1 + .../content/blog/case-study-nyris.md | 1 + .../content/blog/case-study-opentable.md | 1 + .../content/blog/case-study-pariti.md | 1 + .../content/blog/case-study-pathwork.md | 1 + .../content/blog/case-study-pento.md | 1 + .../content/blog/case-study-pienso.md | 1 + .../content/blog/case-study-portfolio-mind.md | 1 + .../content/blog/case-study-qatech.md | 1 + .../content/blog/case-study-qovery.md | 1 + .../content/blog/case-study-sayone.md | 1 + .../content/blog/case-study-shakudo.md | 1 + .../content/blog/case-study-sprinklr.md | 1 + .../content/blog/case-study-tavus.md | 1 + .../content/blog/case-study-tripadvisor.md | 1 + .../content/blog/case-study-trustgraph.md | 1 + .../content/blog/case-study-visua.md | 1 + .../content/blog/case-study-voiceflow.md | 1 + .../content/blog/case-study-xaver.md | 1 + .../content/blog/iris-agent-qdrant.md | 1 + .../content/customers/clients/_index.md | 557 +++++++++++++ .../content/customers/customers-hero.md | 32 +- .../themes/qdrant-2024/assets/css/main.scss | 4 +- .../css/partials/_customers-case-studies.scss | 69 -- .../assets/css/partials/_customers-hero.scss | 68 -- .../customers/_customers-case-studies.scss | 688 ++++++++++++++++ .../partials/customers/_customers-hero.scss | 238 ++++++ .../assets/js/customers-filters.js | 287 +++++++ .../themes/qdrant-2024/assets/js/helpers.js | 2 +- .../themes/qdrant-2024/assets/js/index.js | 5 + .../qdrant-2024/assets/js/search/search.js | 4 + .../qdrant-2024/layouts/customers/list.html | 106 +-- .../qdrant-2024/layouts/partials/css.html | 2 +- .../partials/customers-case-studies.html | 16 - .../layouts/partials/customers-hero.html | 13 - .../customers/customers-case-studies.html | 316 ++++++++ .../partials/customers/customers-hero.html | 32 + .../qdrant-2024/layouts/partials/js.html | 9 +- .../icons/outline/book-open-text-purple.svg | 3 + .../static/img/blurred/blurred-light-27.svg | 28 + .../static/img/blurred/texture.svg | 11 + .../img/customers-case-studies-logo/ai.svg | 5 + .../customers-case-studies-logo/alhena.svg | 9 + .../customers-case-studies-logo/and-ai.svg | 5 + .../anima-health.svg | 25 + .../customers-case-studies-logo/aracor.svg | 16 + .../img/customers-case-studies-logo/aws.svg | 12 + .../bazaarvoice.svg | 15 + .../img/customers-case-studies-logo/bloop.svg | 1 + .../convosearch.svg | 11 + .../customers-case-studies-logo/cosmos.svg | 9 + .../dailymotion.svg | 3 + .../deeplearning-ai.svg | 20 + .../dragonfruit.svg | 23 + .../img/customers-case-studies-logo/dust.svg | 9 + .../img/customers-case-studies-logo/faz.svg | 25 + .../customers-case-studies-logo/fieldy.svg | 11 + .../customers-case-studies-logo/flipkart.svg | 3 + .../customers-case-studies-logo/garden.svg | 9 + .../glassdollar.svg | 6 + .../customers-case-studies-logo/gooddata.svg | 3 + .../customers-case-studies-logo/hubspot.svg | 4 + .../iris-agent.svg | 15 + .../customers-case-studies-logo/kairos.svg | 9 + .../img/customers-case-studies-logo/kakao.svg | 3 + .../customers-case-studies-logo/kern-ai.svg | 25 + .../customers-case-studies-logo/lawme-ai.svg | 13 + .../customers-case-studies-logo/lettria.svg | 16 + .../img/customers-case-studies-logo/lyzr.svg | 5 + .../customers-case-studies-logo/mixpeek.svg | 15 + .../customers-case-studies-logo/my-askai.svg | 9 + .../img/customers-case-studies-logo/nyris.svg | 8 + .../open-table.svg | 4 + .../customers-case-studies-logo/opentable.svg | 4 + .../customers-case-studies-logo/pariti.svg | 30 + .../customers-case-studies-logo/pathwork.svg | 5 + .../img/customers-case-studies-logo/pento.svg | 13 + .../customers-case-studies-logo/pienso.svg | 45 ++ .../customers-case-studies-logo/qa.tech.svg | 8 + .../customers-case-studies-logo/qovery.svg | 22 + .../customers-case-studies-logo/sayone.svg | 44 ++ .../customers-case-studies-logo/shakudo.svg | 66 ++ .../customers-case-studies-logo/spoon-os.svg | 11 + .../customers-case-studies-logo/sprinklr.svg | 14 + .../img/customers-case-studies-logo/tavus.svg | 3 + .../customers-case-studies-logo/telekom.svg | 6 + .../tripadvisor.svg | 3 + .../trust-graph.svg | 13 + .../img/customers-case-studies-logo/visua.svg | 20 + .../customers-case-studies-logo/voiceflow.svg | 3 + .../img/customers-case-studies-logo/xaver.svg | 8 + .../static/img/customers-hero/hubspot.svg | 11 + .../static/img/customers-hero/opentable.svg | 22 + .../static/img/customers-hero/telekom.svg | 12 + .../static/img/customers-hero/tripadvisor.svg | 3 + .../qdrant-2024/static/img/dots-pattern.svg | 9 + .../static/img/space-background.svg | 739 ++++++++++++++++++ 123 files changed, 3721 insertions(+), 280 deletions(-) create mode 100644 qdrant-landing/content/customers/clients/_index.md delete mode 100644 qdrant-landing/themes/qdrant-2024/assets/css/partials/_customers-case-studies.scss delete mode 100644 qdrant-landing/themes/qdrant-2024/assets/css/partials/_customers-hero.scss create mode 100644 qdrant-landing/themes/qdrant-2024/assets/css/partials/customers/_customers-case-studies.scss create mode 100644 qdrant-landing/themes/qdrant-2024/assets/css/partials/customers/_customers-hero.scss create mode 100644 qdrant-landing/themes/qdrant-2024/assets/js/customers-filters.js delete mode 100644 qdrant-landing/themes/qdrant-2024/layouts/partials/customers-case-studies.html delete mode 100644 qdrant-landing/themes/qdrant-2024/layouts/partials/customers-hero.html create mode 100644 qdrant-landing/themes/qdrant-2024/layouts/partials/customers/customers-case-studies.html create mode 100644 qdrant-landing/themes/qdrant-2024/layouts/partials/customers/customers-hero.html create mode 100644 qdrant-landing/themes/qdrant-2024/static/icons/outline/book-open-text-purple.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/blurred/blurred-light-27.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/blurred/texture.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/ai.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/alhena.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/and-ai.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/anima-health.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/aracor.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/aws.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/bazaarvoice.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/bloop.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/convosearch.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/cosmos.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/dailymotion.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/deeplearning-ai.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/dragonfruit.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/dust.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/faz.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/fieldy.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/flipkart.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/garden.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/glassdollar.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/gooddata.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/hubspot.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/iris-agent.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/kairos.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/kakao.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/kern-ai.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/lawme-ai.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/lettria.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/lyzr.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/mixpeek.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/my-askai.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/nyris.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/open-table.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/opentable.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/pariti.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/pathwork.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/pento.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/pienso.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/qa.tech.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/qovery.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/sayone.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/shakudo.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/spoon-os.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/sprinklr.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/tavus.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/telekom.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/tripadvisor.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/trust-graph.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/visua.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/voiceflow.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/customers-case-studies-logo/xaver.svg create mode 100755 qdrant-landing/themes/qdrant-2024/static/img/customers-hero/hubspot.svg create mode 100755 qdrant-landing/themes/qdrant-2024/static/img/customers-hero/opentable.svg create mode 100755 qdrant-landing/themes/qdrant-2024/static/img/customers-hero/telekom.svg create mode 100755 qdrant-landing/themes/qdrant-2024/static/img/customers-hero/tripadvisor.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/dots-pattern.svg create mode 100644 qdrant-landing/themes/qdrant-2024/static/img/space-background.svg diff --git a/qdrant-landing/content/blog/case-study-alhena.md b/qdrant-landing/content/blog/case-study-alhena.md index b2bea3d9d..a63be0893 100644 --- a/qdrant-landing/content/blog/case-study-alhena.md +++ b/qdrant-landing/content/blog/case-study-alhena.md @@ -18,6 +18,7 @@ tags: - customer support - multitenancy - case study +partition: case-studies --- # How Alhena AI unified its AI stack and accelerated ecommerce outcomes with Qdrant diff --git a/qdrant-landing/content/blog/case-study-and-ai.md b/qdrant-landing/content/blog/case-study-and-ai.md index a7bd8428f..ea735079a 100644 --- a/qdrant-landing/content/blog/case-study-and-ai.md +++ b/qdrant-landing/content/blog/case-study-and-ai.md @@ -15,6 +15,7 @@ tags: - retrieval-augmented generation - case study - patent law +partition: case-studies --- ![Bento Box](/blog/case-study-and-ai/and-ai-bento.jpg) diff --git a/qdrant-landing/content/blog/case-study-anima-health.md b/qdrant-landing/content/blog/case-study-anima-health.md index 3c32dc21a..0b2de55be 100644 --- a/qdrant-landing/content/blog/case-study-anima-health.md +++ b/qdrant-landing/content/blog/case-study-anima-health.md @@ -18,6 +18,7 @@ tags: - agentic ai - privacy - case study +partition: case-studies --- ![Anima Health scaled privacy-first clinical intelligence with Qdrant](/blog/case-study-anima-health/anima-bento.png) diff --git a/qdrant-landing/content/blog/case-study-aracor.md b/qdrant-landing/content/blog/case-study-aracor.md index fbb00009d..c101c0e42 100644 --- a/qdrant-landing/content/blog/case-study-aracor.md +++ b/qdrant-landing/content/blog/case-study-aracor.md @@ -17,6 +17,7 @@ tags: - hybrid search - AI automation - case study +partition: case-studies --- ## Precision at Scale: How Aracor Uses Qdrant to Accelerate Legal Due Diligence Resulting in 90% Faster Workflows ## diff --git a/qdrant-landing/content/blog/case-study-bazaarvoice.md b/qdrant-landing/content/blog/case-study-bazaarvoice.md index 83ee0481b..fd615284a 100644 --- a/qdrant-landing/content/blog/case-study-bazaarvoice.md +++ b/qdrant-landing/content/blog/case-study-bazaarvoice.md @@ -17,6 +17,7 @@ tags: - product insights - cost optimization - case study +partition: case-studies --- ![Bazaarvoice overview](/blog/case-study-bazaarvoice/bazaarvoice-bento.png) diff --git a/qdrant-landing/content/blog/case-study-bloop.md b/qdrant-landing/content/blog/case-study-bloop.md index 6e4613e55..39282af2f 100644 --- a/qdrant-landing/content/blog/case-study-bloop.md +++ b/qdrant-landing/content/blog/case-study-bloop.md @@ -12,6 +12,7 @@ author: Qdrant Team featured: false aliases: - /case-studies/bloop/ +partition: case-studies --- Founded in early 2021, [bloop](https://bloop.ai/) was one of the first companies to tackle semantic diff --git a/qdrant-landing/content/blog/case-study-convosearch.md b/qdrant-landing/content/blog/case-study-convosearch.md index 0ee704b19..bac515ee6 100644 --- a/qdrant-landing/content/blog/case-study-convosearch.md +++ b/qdrant-landing/content/blog/case-study-convosearch.md @@ -16,6 +16,7 @@ tags: - latency reduction - revenue growth - case study +partition: case-studies --- ## How ConvoSearch Boosted E-commerce Revenue with Qdrant diff --git a/qdrant-landing/content/blog/case-study-cosmos.md b/qdrant-landing/content/blog/case-study-cosmos.md index d26bd3b34..7dc9d3787 100644 --- a/qdrant-landing/content/blog/case-study-cosmos.md +++ b/qdrant-landing/content/blog/case-study-cosmos.md @@ -17,6 +17,7 @@ tags: - color search - creative discovery - case study +partition: case-studies --- ![How Cosmos powered text, color, and hybrid search with Qdrant](/blog/case-study-cosmos/cosmos-bento-box-dark.jpg) diff --git a/qdrant-landing/content/blog/case-study-dailymotion.md b/qdrant-landing/content/blog/case-study-dailymotion.md index ebefd72b7..b0adad8bc 100644 --- a/qdrant-landing/content/blog/case-study-dailymotion.md +++ b/qdrant-landing/content/blog/case-study-dailymotion.md @@ -19,6 +19,7 @@ tags: # Change this, related by tags posts will be shown on the blog page - recommender system weight: 0 # Change this weight to change order of posts # For more guidance, see https://github.com/qdrant/landing_page?tab=readme-ov-file#blog +partition: case-studies --- ## Dailymotion's Journey to Crafting the Ultimate Content-Driven Video Recommendation Engine with Qdrant Vector Search diff --git a/qdrant-landing/content/blog/case-study-deutsche-telekom.md b/qdrant-landing/content/blog/case-study-deutsche-telekom.md index 67cd821db..f7b89e24f 100644 --- a/qdrant-landing/content/blog/case-study-deutsche-telekom.md +++ b/qdrant-landing/content/blog/case-study-deutsche-telekom.md @@ -12,7 +12,7 @@ featured: false tags: - Deutsche Telekom - case_study - +partition: case-studies --- **How Deutsche Telekom Built a Scalable, Multi-Agent Enterprise Platform Leveraging Qdrant—Powering Over 2 Million Conversations Across Europe** diff --git a/qdrant-landing/content/blog/case-study-dragonfruit.md b/qdrant-landing/content/blog/case-study-dragonfruit.md index 8c8ffed29..5d5a29439 100644 --- a/qdrant-landing/content/blog/case-study-dragonfruit.md +++ b/qdrant-landing/content/blog/case-study-dragonfruit.md @@ -17,6 +17,7 @@ tags: - Split AI - float16 optimization - case study +partition: case-studies --- ![Dragonfruit Overview](/blog/case-study-dragonfruit/dragonfruit-bento-box-dark.png) diff --git a/qdrant-landing/content/blog/case-study-dust-v2.md b/qdrant-landing/content/blog/case-study-dust-v2.md index 2c94feb28..0fd9f726f 100644 --- a/qdrant-landing/content/blog/case-study-dust-v2.md +++ b/qdrant-landing/content/blog/case-study-dust-v2.md @@ -15,6 +15,7 @@ tags: - multi-tenancy - scalar quantization - case study +partition: case-studies --- ## Inside Dust’s Vector Stack Overhaul: Scaling to 5,000+ Data Sources with Qdrant diff --git a/qdrant-landing/content/blog/case-study-faz.md b/qdrant-landing/content/blog/case-study-faz.md index 7c139f336..3e3615605 100644 --- a/qdrant-landing/content/blog/case-study-faz.md +++ b/qdrant-landing/content/blog/case-study-faz.md @@ -15,6 +15,7 @@ tags: - hybrid search - AI in journalism - case study +partition: case-studies --- # How FAZ Built a Hybrid Search Engine with Qdrant to Unlock 75 Years of Journalism diff --git a/qdrant-landing/content/blog/case-study-fieldy.md b/qdrant-landing/content/blog/case-study-fieldy.md index 2a9d30e50..06a744cdc 100644 --- a/qdrant-landing/content/blog/case-study-fieldy.md +++ b/qdrant-landing/content/blog/case-study-fieldy.md @@ -17,6 +17,7 @@ tags: - cost reduction - reliability - case study +partition: case-studies --- ## Fieldy AI’s migration to Qdrant: Building a fault-tolerant AI memory platform diff --git a/qdrant-landing/content/blog/case-study-flipkart.md b/qdrant-landing/content/blog/case-study-flipkart.md index c477e23ff..3f2efce08 100644 --- a/qdrant-landing/content/blog/case-study-flipkart.md +++ b/qdrant-landing/content/blog/case-study-flipkart.md @@ -16,6 +16,7 @@ tags: - real-time search - trust and safety - case study +partition: case-studies --- ### Tackling fraud and abuse with scalable similarity search diff --git a/qdrant-landing/content/blog/case-study-garden-intel.md b/qdrant-landing/content/blog/case-study-garden-intel.md index a0f8c934e..4f0da9ff3 100644 --- a/qdrant-landing/content/blog/case-study-garden-intel.md +++ b/qdrant-landing/content/blog/case-study-garden-intel.md @@ -15,6 +15,7 @@ tags: - patent analysis - intellectual property - case study +partition: case-studies --- ## Garden Accelerates Patent Intelligence with Qdrant’s Filterable Vector Search diff --git a/qdrant-landing/content/blog/case-study-glassdollar.md b/qdrant-landing/content/blog/case-study-glassdollar.md index ff5508aee..0bfccf90d 100644 --- a/qdrant-landing/content/blog/case-study-glassdollar.md +++ b/qdrant-landing/content/blog/case-study-glassdollar.md @@ -18,6 +18,7 @@ tags: - nodejs - cost reduction - case study +partition: case-studies --- ![GlassDollar overview](/blog/case-study-glassdollar/glassdollar-bento-box.png) diff --git a/qdrant-landing/content/blog/case-study-gooddata.md b/qdrant-landing/content/blog/case-study-gooddata.md index 101c259cf..3a8954033 100644 --- a/qdrant-landing/content/blog/case-study-gooddata.md +++ b/qdrant-landing/content/blog/case-study-gooddata.md @@ -16,6 +16,7 @@ tags: - semantic search - enterprise AI - case study +partition: case-studies --- ![Gooddata Overview](/blog/case-study-gooddata/gooddata-bento-box-dark.jpg) diff --git a/qdrant-landing/content/blog/case-study-hubspot.md b/qdrant-landing/content/blog/case-study-hubspot.md index 8170e4fa9..1316d5b15 100644 --- a/qdrant-landing/content/blog/case-study-hubspot.md +++ b/qdrant-landing/content/blog/case-study-hubspot.md @@ -14,7 +14,8 @@ tags: - AI scalability - customer engagement - case study -- HubSpot +- HubSpot +partition: case-studies --- HubSpot, a global leader in CRM solutions, continuously enhances its product suite with powerful AI-driven features. To optimize Breeze AI, its flagship intelligent assistant, HubSpot chose Qdrant as its vector database. diff --git a/qdrant-landing/content/blog/case-study-kairoswealth.md b/qdrant-landing/content/blog/case-study-kairoswealth.md index 830bf7dbc..98ad949f9 100644 --- a/qdrant-landing/content/blog/case-study-kairoswealth.md +++ b/qdrant-landing/content/blog/case-study-kairoswealth.md @@ -15,6 +15,7 @@ tags: - Performance Scalability - Multi-Tenancy - Financial Recommendations +partition: case-studies --- ![Kairoswealth overview](/blog/case-study-kairoswealth/image2.png) diff --git a/qdrant-landing/content/blog/case-study-kakao.md b/qdrant-landing/content/blog/case-study-kakao.md index 80e6fc741..4c3843bc9 100644 --- a/qdrant-landing/content/blog/case-study-kakao.md +++ b/qdrant-landing/content/blog/case-study-kakao.md @@ -16,6 +16,7 @@ tags: - retrieval-augmented generation - internal knowledge search - case study +partition: case-studies --- Kakao is one of South Korea's leading technology companies, best known for KakaoTalk, the country's dominant messaging platform with over 48 million monthly active users. Beyond messaging, Kakao operates a broad ecosystem of services including maps, mobility, fintech, and enterprise solutions. diff --git a/qdrant-landing/content/blog/case-study-kern.md b/qdrant-landing/content/blog/case-study-kern.md index 466a480e3..5102f3961 100644 --- a/qdrant-landing/content/blog/case-study-kern.md +++ b/qdrant-landing/content/blog/case-study-kern.md @@ -15,6 +15,7 @@ tags: - Johannes Hötter - Data Analysis - Markel Insurance +partition: case-studies --- ![kern-case-study](/blog/case-study-kern/kern-case-study.png) diff --git a/qdrant-landing/content/blog/case-study-lawme.md b/qdrant-landing/content/blog/case-study-lawme.md index 4b1e43e24..11ebb2ce2 100644 --- a/qdrant-landing/content/blog/case-study-lawme.md +++ b/qdrant-landing/content/blog/case-study-lawme.md @@ -16,6 +16,7 @@ tags: - binary quantization - hybrid search - case study +partition: case-studies --- ## How Lawme Scaled AI Legal Assistants and Cut Costs by 75% with Qdrant diff --git a/qdrant-landing/content/blog/case-study-lettria-v2.md b/qdrant-landing/content/blog/case-study-lettria-v2.md index dd4ccfc8c..b41fb778b 100644 --- a/qdrant-landing/content/blog/case-study-lettria-v2.md +++ b/qdrant-landing/content/blog/case-study-lettria-v2.md @@ -18,6 +18,7 @@ tags: - document intelligence - regulated industries - case study +partition: case-studies --- # Scaled Vector & Graph Retrieval: How Lettria Unlocked 20% Accuracy Gains with Qdrant & Neo4j diff --git a/qdrant-landing/content/blog/case-study-lyzr.md b/qdrant-landing/content/blog/case-study-lyzr.md index 97a237bef..ca5049006 100644 --- a/qdrant-landing/content/blog/case-study-lyzr.md +++ b/qdrant-landing/content/blog/case-study-lyzr.md @@ -15,6 +15,7 @@ tags: - AI agents - scalable infrastructure - case study +partition: case-studies --- # How Lyzr Supercharged AI Agent Performance with Qdrant diff --git a/qdrant-landing/content/blog/case-study-mixpeek.md b/qdrant-landing/content/blog/case-study-mixpeek.md index e966578da..6aa524499 100644 --- a/qdrant-landing/content/blog/case-study-mixpeek.md +++ b/qdrant-landing/content/blog/case-study-mixpeek.md @@ -14,7 +14,8 @@ tags: - vector search - multimodal AI - retrieval-augmented generation -- case study +- case study +partition: case-studies --- # How Mixpeek Uses Qdrant for Efficient Multimodal Feature Stores diff --git a/qdrant-landing/content/blog/case-study-my-askai.md b/qdrant-landing/content/blog/case-study-my-askai.md index b41c35c74..bb36e7cf7 100644 --- a/qdrant-landing/content/blog/case-study-my-askai.md +++ b/qdrant-landing/content/blog/case-study-my-askai.md @@ -17,6 +17,7 @@ tags: - hybrid search - llm agents - case study +partition: case-studies --- ![My AskAI overview](/blog/case-study-my-askai/my-askai-bento-box.png) diff --git a/qdrant-landing/content/blog/case-study-nyris.md b/qdrant-landing/content/blog/case-study-nyris.md index 977a76ce7..454373a87 100644 --- a/qdrant-landing/content/blog/case-study-nyris.md +++ b/qdrant-landing/content/blog/case-study-nyris.md @@ -14,6 +14,7 @@ tags: - Markus Lukasson - Visual Search - Synthetic Data +partition: case-studies --- ![nyris-case-study](/blog/case-study-nyris/nyris-case-study.png) diff --git a/qdrant-landing/content/blog/case-study-opentable.md b/qdrant-landing/content/blog/case-study-opentable.md index 0d12a67e9..9907d3dd4 100644 --- a/qdrant-landing/content/blog/case-study-opentable.md +++ b/qdrant-landing/content/blog/case-study-opentable.md @@ -17,6 +17,7 @@ tags: - sparse embeddings - filtering - case study +partition: case-studies --- ## **Reinventing Restaurant Discovery: How OpenTable built Concierge, an AI Dining Assistant** diff --git a/qdrant-landing/content/blog/case-study-pariti.md b/qdrant-landing/content/blog/case-study-pariti.md index bc252f352..8af79a5c8 100644 --- a/qdrant-landing/content/blog/case-study-pariti.md +++ b/qdrant-landing/content/blog/case-study-pariti.md @@ -15,6 +15,7 @@ tags: - recruitment tech - candidate matching - case study +partition: case-studies --- diff --git a/qdrant-landing/content/blog/case-study-pathwork.md b/qdrant-landing/content/blog/case-study-pathwork.md index 6cd92f889..b835b2152 100644 --- a/qdrant-landing/content/blog/case-study-pathwork.md +++ b/qdrant-landing/content/blog/case-study-pathwork.md @@ -16,6 +16,7 @@ tags: - vector search - AI in insurance - case study +partition: case-studies --- diff --git a/qdrant-landing/content/blog/case-study-pento.md b/qdrant-landing/content/blog/case-study-pento.md index d69234959..eddf0a9cc 100644 --- a/qdrant-landing/content/blog/case-study-pento.md +++ b/qdrant-landing/content/blog/case-study-pento.md @@ -16,6 +16,7 @@ tags: - multivector - semantic search - case study +partition: case-studies --- ![pento bento box](/blog/case-study-pento/pento-bento-box-dark.jpg) diff --git a/qdrant-landing/content/blog/case-study-pienso.md b/qdrant-landing/content/blog/case-study-pienso.md index 6640cadb3..d0175ab95 100644 --- a/qdrant-landing/content/blog/case-study-pienso.md +++ b/qdrant-landing/content/blog/case-study-pienso.md @@ -12,6 +12,7 @@ author: Qdrant Team featured: false aliases: - /case-studies/pienso/ +partition: case-studies --- The partnership between Pienso and Qdrant is set to revolutionize interactive deep learning, making it practical, efficient, and scalable for global customers. Pienso's low-code platform provides a streamlined and user-friendly process for deep learning tasks. This exceptional level of convenience is augmented by Qdrant’s scalable and cost-efficient high vector computation capabilities, which enable reliable retrieval of similar vectors from high-dimensional spaces. diff --git a/qdrant-landing/content/blog/case-study-portfolio-mind.md b/qdrant-landing/content/blog/case-study-portfolio-mind.md index 19dc36059..4f33c3270 100644 --- a/qdrant-landing/content/blog/case-study-portfolio-mind.md +++ b/qdrant-landing/content/blog/case-study-portfolio-mind.md @@ -16,6 +16,7 @@ tags: - real-time analytics - user intent - case study +partition: case-studies --- ## **How PortfolioMind delivered real-time crypto intelligence with Qdrant** diff --git a/qdrant-landing/content/blog/case-study-qatech.md b/qdrant-landing/content/blog/case-study-qatech.md index 3046f2242..48fd32885 100644 --- a/qdrant-landing/content/blog/case-study-qatech.md +++ b/qdrant-landing/content/blog/case-study-qatech.md @@ -15,6 +15,7 @@ tags: - PGVector - Agents - Retrieval Augmented Generation +partition: case-studies --- ![qdrant-qatech-1](/blog/case-study-qatech/qdrant-qatech-1.png) diff --git a/qdrant-landing/content/blog/case-study-qovery.md b/qdrant-landing/content/blog/case-study-qovery.md index ae6719aea..b25fd0604 100644 --- a/qdrant-landing/content/blog/case-study-qovery.md +++ b/qdrant-landing/content/blog/case-study-qovery.md @@ -15,6 +15,7 @@ tags: - DevOps automation - AI Copilot - case study +partition: case-studies --- ## Qovery Scales Real-Time DevOps Automation with Qdrant diff --git a/qdrant-landing/content/blog/case-study-sayone.md b/qdrant-landing/content/blog/case-study-sayone.md index d2b3804bf..767a2fd39 100644 --- a/qdrant-landing/content/blog/case-study-sayone.md +++ b/qdrant-landing/content/blog/case-study-sayone.md @@ -16,6 +16,7 @@ tags: - government AI - scalable infrastructure - data privacy +partition: case-studies --- diff --git a/qdrant-landing/content/blog/case-study-shakudo.md b/qdrant-landing/content/blog/case-study-shakudo.md index f33d7d9c2..a33f1697a 100644 --- a/qdrant-landing/content/blog/case-study-shakudo.md +++ b/qdrant-landing/content/blog/case-study-shakudo.md @@ -11,6 +11,7 @@ featured: false tags: - Shakudo - Vector Search +partition: case-studies --- We are excited to announce that Qdrant has partnered with [Shakudo](https://www.shakudo.io/), bringing [Qdrant Hybrid Cloud](https://qdrant.tech/hybrid-cloud/) to Shakudo’s virtual private cloud (VPC) deployments. This collaboration allows Shakudo clients to seamlessly integrate Qdrant’s high-performance vector database as a managed service into their private infrastructure, ensuring data sovereignty, scalability, and low-latency vector search for enterprise AI applications. diff --git a/qdrant-landing/content/blog/case-study-sprinklr.md b/qdrant-landing/content/blog/case-study-sprinklr.md index d0d6635d8..a6d4e252a 100644 --- a/qdrant-landing/content/blog/case-study-sprinklr.md +++ b/qdrant-landing/content/blog/case-study-sprinklr.md @@ -15,6 +15,7 @@ tags: - Qdrant Benchmarks - ElasticSearch - Vector Search +partition: case-studies --- ![case-study-sprinklr-1](/blog/case-study-sprinklr/image1.png) diff --git a/qdrant-landing/content/blog/case-study-tavus.md b/qdrant-landing/content/blog/case-study-tavus.md index 0123ce46f..4ebc7f160 100644 --- a/qdrant-landing/content/blog/case-study-tavus.md +++ b/qdrant-landing/content/blog/case-study-tavus.md @@ -17,6 +17,7 @@ tags: - latency optimization - case study - Edge +partition: case-studies --- ![Tavus Overview](/blog/case-study-tavus/tavus-bento-box-dark.jpg) diff --git a/qdrant-landing/content/blog/case-study-tripadvisor.md b/qdrant-landing/content/blog/case-study-tripadvisor.md index 2ac6d2a36..3d26f0efa 100644 --- a/qdrant-landing/content/blog/case-study-tripadvisor.md +++ b/qdrant-landing/content/blog/case-study-tripadvisor.md @@ -15,6 +15,7 @@ tags: - travel technology - vector search - case study +partition: case-studies --- # How Tripadvisor Is Reimagining Travel with Qdrant diff --git a/qdrant-landing/content/blog/case-study-trustgraph.md b/qdrant-landing/content/blog/case-study-trustgraph.md index 75fd1155e..4f38c279e 100644 --- a/qdrant-landing/content/blog/case-study-trustgraph.md +++ b/qdrant-landing/content/blog/case-study-trustgraph.md @@ -17,6 +17,7 @@ tags: - enterprise AI - scalability - case study +partition: case-studies --- diff --git a/qdrant-landing/content/blog/case-study-visua.md b/qdrant-landing/content/blog/case-study-visua.md index 4dea6e287..da08b154f 100644 --- a/qdrant-landing/content/blog/case-study-visua.md +++ b/qdrant-landing/content/blog/case-study-visua.md @@ -15,6 +15,7 @@ tags: - computer vision - quality control - anomaly detection +partition: case-studies --- ![visua/image1.png](/blog/case-study-visua/image1.png) diff --git a/qdrant-landing/content/blog/case-study-voiceflow.md b/qdrant-landing/content/blog/case-study-voiceflow.md index af9bc572d..882723fb1 100644 --- a/qdrant-landing/content/blog/case-study-voiceflow.md +++ b/qdrant-landing/content/blog/case-study-voiceflow.md @@ -16,6 +16,7 @@ tags: - vector search - RAG - case study +partition: case-studies --- ![voiceflow/image2.png](/blog/case-study-voiceflow/image1.png) diff --git a/qdrant-landing/content/blog/case-study-xaver.md b/qdrant-landing/content/blog/case-study-xaver.md index 0c6521cae..e72e9dc48 100644 --- a/qdrant-landing/content/blog/case-study-xaver.md +++ b/qdrant-landing/content/blog/case-study-xaver.md @@ -17,6 +17,7 @@ tags: - knowledge engine - latency optimization - case study +partition: case-studies --- ![Xaver Overview](/blog/case-study-xaver/xaver-bento-box-dark.jpg) diff --git a/qdrant-landing/content/blog/iris-agent-qdrant.md b/qdrant-landing/content/blog/iris-agent-qdrant.md index 41f55c19b..57b3b2a23 100644 --- a/qdrant-landing/content/blog/iris-agent-qdrant.md +++ b/qdrant-landing/content/blog/iris-agent-qdrant.md @@ -16,6 +16,7 @@ tags: - customer support weight: 0 # Change this weight to change order of posts # For more guidance, see https://github.com/qdrant/landing_page?tab=readme-ov-file#blog +partition: case-studies --- Artificial intelligence is evolving customer support, offering unprecedented capabilities for automating interactions, understanding user needs, and enhancing the overall customer experience. [IrisAgent](https://irisagent.com/), founded by former Google product manager [Palak Dalal Bhatia](https://www.linkedin.com/in/palakdalal/), demonstrates the concrete impact of AI on customer support with its AI-powered customer support automation platform. diff --git a/qdrant-landing/content/customers/clients/_index.md b/qdrant-landing/content/customers/clients/_index.md new file mode 100644 index 000000000..f4d7ad5ed --- /dev/null +++ b/qdrant-landing/content/customers/clients/_index.md @@ -0,0 +1,557 @@ +--- +url: "/customers/" +clients: + - id: alhena + name: Alhena AI + industry: E-commerce + product: Qdrant Cloud + company_size: 51-200 + location: Europe + use_cases: ["Customer support", "E-commerce discovery", "Generative AI"] + title: "How Alhena AI unified its AI stack and improved ecommerce conversions with Qdrant" + # time: 8 min read # by default this is calculated from the post length, if uncomented - shows this param value instead + blog_path: /blog/case-study-alhena + logo: + src: /img/customers-case-studies-logo/alhena.svg + alt: Alhena AI logo + - id: and-ai + name: "&AI" + industry: Legal tech + product: Qdrant Cloud + company_size: 51-200 + location: Europe + use_cases: ["Patent and legal research", "RAG", "Hybrid search"] + title: "How &AI scaled global legal retrieval with Qdrant" + blog_path: /blog/case-study-and-ai + logo: + src: /img/customers-case-studies-logo/and-ai.svg + alt: "&AI logo" + - id: anima-health + name: Anima Health + industry: Healthcare + product: Self-managed + company_size: 51-200 + location: Europe + use_cases: ["RAG", "Customer support", "Real-time analytics"] + title: "How Anima Health scaled clinical document intelligence with Qdrant" + blog_path: /blog/case-study-anima-health + logo: + src: /img/customers-case-studies-logo/anima-health.svg + alt: Anima Health logo + - id: aracor + name: Aracor + industry: Legal tech + product: Hybrid + company_size: 1-50 + location: North America + use_cases: ["Patent and legal research", "Hybrid search", "RAG"] + title: "Precision at Scale: How Aracor Accelerated Legal Due Diligence with Hybrid Vector Search" + blog_path: /blog/case-study-aracor + logo: + src: /img/customers-case-studies-logo/aracor.svg + alt: Aracor logo + - id: bazaarvoice + name: Bazaarvoice + industry: E-commerce + product: Hybrid + company_size: 1000+ + location: North America + use_cases: ["E-commerce discovery", "Recommendations", "Real-time analytics"] + title: "How Bazaarvoice scaled AI-powered product insights with Qdrant" + blog_path: /blog/case-study-bazaarvoice + logo: + src: /img/customers-case-studies-logo/bazaarvoice.svg + alt: Bazaarvoice logo + - id: bloop + name: Bloop + industry: Developer tools + product: Self-managed + company_size: 1-50 + location: Europe + use_cases: ["Semantic search", "RAG"] + title: "Powering Bloop semantic code search" + blog_path: /blog/case-study-bloop + logo: + src: /case-studies/bloop/bloop-logo.png + alt: Bloop logo + - id: convosearch + name: ConvoSearch + industry: E-commerce + product: Qdrant Cloud + company_size: 1-50 by + locationse: Asia Pacific + use_cases: ["Recommendations", "E-commerce discovery", "Real-time analytics"] + title: "How ConvoSearch Boosted Revenue for D2C Brands with Qdrant" + blog_path: /blog/case-study-convosearch + logo: + src: /img/customers-case-studies-logo/convosearch.svg + alt: ConvoSearch logo + - id: cosmos + name: Cosmos + industry: Media and entertainment + product: Qdrant Cloud + company_size: 1-50 + location: North America + use_cases: ["Multimodal search", "Hybrid search", "Media search"] + title: "How Cosmos delivered editorial-grade visual search with Qdrant" + blog_path: /blog/case-study-cosmos + logo: + src: /img/customers-case-studies-logo/cosmos.svg + alt: Cosmos logo + - id: dailymotion + name: Dailymotion + industry: Media and entertainment + product: Self-managed + company_size: 201-1000 + location: Europe + use_cases: ["Recommendations", "Media search", "Real-time analytics"] + title: "Dailymotion's Journey to Crafting the Ultimate Content-Driven Video Recommendation Engine with Qdrant Vector Search" + blog_path: /blog/case-study-dailymotion + logo: + src: /img/customers-case-studies-logo/dailymotion.svg + alt: Dailymotion logo + - id: deutsche-telekom + name: Deutsche Telekom + industry: Telecommunications + product: Qdrant Enterprise + company_size: 1000+ + location: Europe + use_cases: ["Customer support", "RAG", "Generative AI"] + title: "How Deutsche Telekom Built a Multi-Agent Enterprise Platform Leveraging Qdrant" + blog_path: /blog/case-study-deutsche-telekom + logo: + src: /img/customers-case-studies-logo/telekom.svg + alt: Deutsche Telekom logo + - id: dragonfruit + name: Dragonfruit AI + industry: Security + product: Self-managed + company_size: 51-200 + location: North America + use_cases: ["Multimodal search", "Real-time analytics", "Threat detection"] + title: "How Dragonfruit AI scaled real-time computer vision with Qdrant" + blog_path: /blog/case-study-dragonfruit + logo: + src: /img/customers-case-studies-logo/dragonfruit.svg + alt: Dragonfruit AI logo + - id: dust + name: Dust + industry: Developer tools + product: Self-managed + company_size: 51-200 + location: Europe + use_cases: ["RAG", "Semantic search", "Customer support"] + title: "How Dust Scaled to 5,000+ Data Sources with Qdrant" + blog_path: /blog/case-study-dust-v2 + logo: + src: /img/customers-case-studies-logo/dust.svg + alt: Dust logo + - id: faz + name: FAZ + industry: Media and entertainment + product: Hybrid + company_size: 1000+ + location: Europe + use_cases: ["Hybrid search", "Media search", "Semantic search"] + title: "How FAZ unlocked 75 years of journalism with Qdrant" + blog_path: /blog/case-study-faz + logo: + src: /img/customers-case-studies-logo/faz.svg + alt: FAZ logo + - id: fieldy + name: Fieldy AI + industry: Developer tools + product: Self-managed + company_size: 1-50 + location: Europe + use_cases: ["RAG", "Hybrid search", "Semantic search"] + title: "How Fieldy AI Achieved Reliable AI Memory with Qdrant" + blog_path: /blog/case-study-fieldy + logo: + src: /img/customers-case-studies-logo/fieldy.svg + alt: Fieldy AI logo + - id: flipkart + name: Flipkart + industry: E-commerce + product: Self-managed + company_size: 1000+ + location: Asia Pacific + use_cases: ["Threat detection", "Multimodal search", "Real-time analytics"] + title: "Building real-time multimodal similarity search in Flipkart Trust & Safety with Qdrant" + blog_path: /blog/case-study-flipkart + logo: + src: /img/customers-case-studies-logo/flipkart.svg + alt: Flipkart logo + - id: garden-intel + name: Garden + industry: Legal tech + product: Qdrant Cloud + company_size: 1-50 + location: North America + use_cases: ["Patent and legal research", "Semantic search", "Real-time analytics"] + title: "How Garden Scaled Patent Intelligence with Qdrant" + blog_path: /blog/case-study-garden-intel + logo: + src: /img/customers-case-studies-logo/garden.svg + alt: Garden logo + - id: glassdollar + name: GlassDollar + industry: Financial services + product: Self-managed + company_size: 51-200 + location: Europe + use_cases: ["Semantic search", "RAG", "Recommendations"] + title: "How GlassDollar improved high-recall sourcing by migrating from Elasticsearch to Qdrant" + blog_path: /blog/case-study-glassdollar + logo: + src: /img/customers-case-studies-logo/glassdollar.svg + alt: GlassDollar logo + - id: gooddata + name: GoodData + industry: Developer tools + product: Self-managed + company_size: 201-1000 + location: Europe + use_cases: ["Real-time analytics", "RAG", "Generative AI"] + title: "How GoodData turbocharged AI analytics with Qdrant" + blog_path: /blog/case-study-gooddata + logo: + src: /img/customers-case-studies-logo/gooddata.svg + alt: GoodData logo + - id: hubspot + name: HubSpot + industry: Customer support + product: Qdrant Enterprise + company_size: 1000+ + location: North America + use_cases: ["Customer support", "Recommendations", "RAG"] + title: "HubSpot & Qdrant: Scaling an Intelligent AI Assistant" + blog_path: /blog/case-study-hubspot + logo: + src: /img/customers-case-studies-logo/hubspot.svg + alt: HubSpot logo + - id: kairoswealth + name: Kairoswealth + industry: Financial services + product: Self-managed + company_size: 1-50 + location: Europe + use_cases: ["Recommendations", "RAG", "Generative AI"] + title: "Kairoswealth & Qdrant: Transforming Wealth Management with AI-Driven Insights and Scalable Vector Search" + blog_path: /blog/case-study-kairoswealth + logo: + src: /img/customers-case-studies-logo/kairos.svg + alt: Kairoswealth logo + - id: kakao + name: Kakao + industry: Technology + product: Self-managed + company_size: 1000+ + location: Asia Pacific + use_cases: ["Customer support", "Hybrid search", "RAG"] + title: "How Kakao Built an AI-Powered Internal Service Desk with Qdrant" + blog_path: /blog/case-study-kakao + logo: + src: /img/customers-case-studies-logo/kakao.svg + alt: Kakao logo + - id: kern + name: Kern AI + industry: Financial services + product: Self-managed + company_size: 51-200 + location: Europe + use_cases: ["Customer support", "RAG", "Semantic search"] + title: "Kern AI & Qdrant: Precision AI Solutions for Finance and Insurance" + blog_path: /blog/case-study-kern + logo: + src: /img/customers-case-studies-logo/kern-ai.svg + alt: Kern AI logo + - id: lawme + name: Lawme + industry: Legal tech + product: Hybrid + company_size: 1-50 + location: Asia Pacific + use_cases: ["Patent and legal research", "Hybrid search", "RAG"] + title: "How Lawme Scaled AI Legal Assistants and Significantly Cut Costs with Qdrant" + blog_path: /blog/case-study-lawme + logo: + src: /img/customers-case-studies-logo/lawme-ai.svg + alt: Lawme logo + - id: lettria + name: Lettria + industry: Legal tech + product: Self-managed + company_size: 51-200 + location: Europe + use_cases: ["RAG", "Hybrid search", "Patent and legal research"] + title: "GraphRAG: How Lettria Unlocked 20% Accuracy Gains with Qdrant and Neo4j" + blog_path: /blog/case-study-lettria-v2 + logo: + src: /img/customers-case-studies-logo/lettria.svg + alt: Lettria logo + - id: lyzr + name: Lyzr + industry: Developer tools + product: Self-managed + company_size: 51-200 + location: Asia Pacific + use_cases: ["RAG", "Generative AI", "Customer support"] + title: "How Lyzr Supercharged AI Agent Performance with Qdrant" + blog_path: /blog/case-study-lyzr + logo: + src: /img/customers-case-studies-logo/lyzr.svg + alt: Lyzr logo + - id: mixpeek + name: Mixpeek + industry: Media and entertainment + product: Self-managed + company_size: 1-50 + location: North America + use_cases: ["Multimodal search", "RAG", "Media search"] + title: "How Mixpeek Uses Qdrant for Efficient Multimodal Feature Stores" + blog_path: /blog/case-study-mixpeek + logo: + src: /img/customers-case-studies-logo/mixpeek.svg + alt: Mixpeek logo + - id: my-askai + name: My AskAI + industry: Customer support + product: Qdrant Cloud + company_size: 1-50 + location: Europe + use_cases: ["Customer support", "RAG", "Hybrid search"] + title: "How My AskAI Built Self-Improving Support Agents" + blog_path: /blog/case-study-my-askai + logo: + src: /img/customers-case-studies-logo/my-askai.svg + alt: My AskAI logo + - id: nyris + name: Nyris + industry: E-commerce + product: Self-managed + company_size: 51-200 + location: Europe + use_cases: ["Multimodal search", "E-commerce discovery", "Media search"] + title: "Nyris & Qdrant: How Vectors are the Future of Visual Search" + blog_path: /blog/case-study-nyris + logo: + src: /img/customers-case-studies-logo/nyris.svg + alt: Nyris logo + - id: open-table + name: OpenTable + industry: Hospitality + product: Qdrant Cloud + company_size: 1000+ + location: North America + use_cases: ["Generative AI", "RAG", "Semantic search"] + title: "How OpenTable Reinvented Restaurant Discovery with Qdrant" + blog_path: /blog/case-study-opentable + logo: + src: /img/customers-case-studies-logo/opentable.svg + alt: OpenTable logo + - id: pariti + name: Pariti + industry: Technology + product: Qdrant Cloud + company_size: 1-50 + location: Global + use_cases: ["Recommendations", "Semantic search", "Real-time analytics"] + title: "How Pariti Doubled Its Fill Rate with Qdrant" + blog_path: /blog/case-study-pariti + logo: + src: /img/customers-case-studies-logo/pariti.svg + alt: Pariti logo + - id: pathwork + name: Pathwork + industry: Financial services + product: Qdrant Cloud + company_size: 1-50 + location: North America + use_cases: ["RAG", "Recommendations", "Real-time analytics"] + title: "Pathwork Optimizes Life Insurance Underwriting with Precision Vector Search" + blog_path: /blog/case-study-pathwork + logo: + src: /img/customers-case-studies-logo/pathwork.svg + alt: Pathwork logo + - id: pento + name: Pento + industry: Technology + product: Self-managed + company_size: 1-50 + location: Europe + use_cases: ["Recommendations", "Semantic search", "Multimodal search"] + title: "How Pento modeled aesthetic taste with Qdrant" + blog_path: /blog/case-study-pento + logo: + src: /img/customers-case-studies-logo/pento.svg + alt: Pento logo + - id: pienso + name: Pienso + industry: Developer tools + product: Self-managed + company_size: 51-200 + location: North America + use_cases: ["Generative AI", "RAG", "Semantic search"] + title: "Pienso & Qdrant: Future Proofing Generative AI for Enterprise-Level Customers" + blog_path: /blog/case-study-pienso + logo: + src: /img/customers-case-studies-logo/pienso.svg + alt: Pienso logo + - id: portfolio-mind + name: PortfolioMind + industry: Financial services + product: Qdrant Cloud + company_size: 1-50 + location: Global + use_cases: ["Real-time analytics", "Recommendations", "Semantic search"] + title: "How PortfolioMind Delivered Real-Time Crypto Intelligence with Qdrant" + blog_path: /blog/case-study-portfolio-mind + logo: + src: /img/customers-case-studies-logo/spoon-os.svg + alt: PortfolioMind logo + - id: qatech + name: QA.tech + industry: Developer tools + product: Self-managed + company_size: 1-50 + location: Europe + use_cases: ["Real-time analytics", "RAG", "Threat detection"] + title: "Empowering QA.tech’s Testing Agents with Real-Time Precision and Scale" + blog_path: /blog/case-study-qatech + logo: + src: /img/customers-case-studies-logo/qa.tech.svg + alt: QA.tech logo + - id: qovery + name: Qovery + industry: Developer tools + product: Qdrant Cloud + company_size: 51-200 + location: Europe + use_cases: ["Customer support", "RAG", "Real-time analytics"] + title: "How Qovery Accelerated Developer Autonomy with Qdrant" + blog_path: /blog/case-study-qovery + logo: + src: /img/customers-case-studies-logo/qovery.svg + alt: Qovery logo + - id: sayone + name: SayOne + industry: Technology + product: Hybrid + company_size: 201-1000 + location: Asia Pacific + use_cases: ["Customer support", "RAG", "Real-time analytics"] + title: "How SayOne Enhanced Government AI Services with Qdrant" + blog_path: /blog/case-study-sayone + logo: + src: /img/customers-case-studies-logo/sayone.svg + alt: SayOne logo + - id: shakudo + name: Shakudo + industry: Developer tools + product: Hybrid + company_size: 51-200 + location: North America + use_cases: ["Semantic search", "RAG", "Recommendations"] + title: "Qdrant and Shakudo: Secure & Performant Vector Search in VPC Environments" + blog_path: /blog/case-study-shakudo + logo: + src: /img/customers-case-studies-logo/shakudo.svg + alt: Shakudo logo + - id: sprinklr + name: Sprinklr + industry: Customer support + product: Qdrant Enterprise + company_size: 1000+ + location: North America + use_cases: ["Customer support", "RAG", "Real-time analytics"] + title: "How Sprinklr Leverages Qdrant to Enhance AI-Driven Customer Experience Solutions" + blog_path: /blog/case-study-sprinklr + logo: + src: /img/customers-case-studies-logo/sprinklr.svg + alt: Sprinklr logo + - id: tavus + name: Tavus + industry: Media and entertainment + product: Self-managed + company_size: 51-200 + location: North America + use_cases: ["Generative AI", "RAG", "Real-time analytics"] + title: "How Tavus used Qdrant Edge to create conversational AI" + blog_path: /blog/case-study-tavus + logo: + src: /img/customers-case-studies-logo/tavus.svg + alt: Tavus logo + - id: tripadvisor + name: Tripadvisor + industry: Hospitality + product: Qdrant Enterprise + company_size: 1000+ + location: North America + use_cases: ["Recommendations", "Generative AI", "Multimodal search"] + title: "How Tripadvisor Drives 2 to 3x More Revenue with Qdrant-Powered AI" + blog_path: /blog/case-study-tripadvisor + logo: + src: /img/customers-case-studies-logo/tripadvisor.svg + alt: Tripadvisor logo + - id: trust-graph + name: TrustGraph + industry: Developer tools + product: Self-managed + company_size: 1-50 + location: Europe + use_cases: ["RAG", "Generative AI", "Semantic search"] + title: "How TrustGraph built enterprise-grade agentic AI with Qdrant" + blog_path: /blog/case-study-trustgraph + logo: + src: /img/customers-case-studies-logo/trust-graph.svg + alt: TrustGraph logo + - id: visua + name: VISUA + industry: Security + product: Self-managed + company_size: 51-200 + location: Europe + use_cases: ["Multimodal search", "Threat detection", "Media search"] + title: Using vector search for quality control and anomaly detection in computer vision. + blog_path: /blog/case-study-visua + logo: + src: /img/customers-case-studies-logo/visua.svg + alt: VISUA logo + - id: voiceflow + name: Voiceflow + industry: Customer support + product: Qdrant Cloud + company_size: 201-1000 + location: North America + use_cases: ["Customer support", "RAG", "Generative AI"] + title: "Voiceflow & Qdrant: Powering No-Code AI Agent Creation with Scalable Vector Search" + blog_path: /blog/case-study-voiceflow + logo: + src: /img/customers-case-studies-logo/voiceflow.svg + alt: Voiceflow logo + - id: xaver + name: Xaver + industry: Financial services + product: Self-managed + company_size: 51-200 + location: Europe + use_cases: ["Customer support", "RAG", "Recommendations"] + title: "How Xaver scaled personalized financial advice with Qdrant" + blog_path: /blog/case-study-xaver + logo: + src: /img/customers-case-studies-logo/xaver.svg + alt: Xaver logo + - id: iris-agent + name: IrisAgent + industry: Customer support + product: Self-managed + company_size: 51-200 + location: North America + use_cases: ["Customer support", "RAG", "Generative AI"] + title: "IrisAgent and Qdrant: Redefining Customer Support with AI" + blog_path: /blog/iris-agent-qdrant + logo: + src: /img/customers-case-studies-logo/iris-agent.svg + alt: IrisAgent logo +--- diff --git a/qdrant-landing/content/customers/customers-hero.md b/qdrant-landing/content/customers/customers-hero.md index b78cc8e50..bd5e0b92a 100644 --- a/qdrant-landing/content/customers/customers-hero.md +++ b/qdrant-landing/content/customers/customers-hero.md @@ -1,6 +1,34 @@ --- -title: Customers -description: Learn how Qdrant powers thousands of top AI solutions that require vector search with unparalleled efficiency, performance and massive-scale data processing. +tag: + title: Customer Case Studies + icon: + src: /icons/outline/book-open-text-purple.svg + alt: Open book +button: + text: Talk to Sales + url: /contact-us/ +cards: + - id: 0 + image: + src: /img/customers-hero/telekom.svg + alt: Telekom logo + description: Built a multi-agent PaaS powering 2M+ conversations across 10 countries, cutting agent dev time from 15 days to 2. + - id: 1 + image: + src: /img/customers-hero/hubspot.svg + alt: Hubspot logo + description: Powers its Breeze AI after Qdrant outperformed alternatives on retrieval speed for RAG and recommendation workloads. + - id: 2 + image: + src: /img/customers-hero/tripadvisor.svg + alt: Tripadvisor logo + description: Searches 1B+ multimodal reviews for its AI Trip Planner, driving 2–3x more revenue from engaged users. + - id: 3 + image: + src: /img/customers-hero/opentable.svg + alt: OpenTable logo + description: Built its AI Concierge, using sparse embeddings to filter 60K+ restaurants with high-precision retrieval. +title: Explore What Leading Teams Build with Qdrant sitemapExclude: true --- diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/main.scss b/qdrant-landing/themes/qdrant-2024/assets/css/main.scss index dcaf34c22..75178c7ff 100644 --- a/qdrant-landing/themes/qdrant-2024/assets/css/main.scss +++ b/qdrant-landing/themes/qdrant-2024/assets/css/main.scss @@ -73,8 +73,8 @@ @import 'partials/testimonial-light'; @import 'partials/testimonial-cards'; @import 'partials/customers-testimonial'; -@import 'partials/customers-hero'; -@import 'partials/customers-case-studies'; +@import 'partials/customers/customers-hero'; +@import 'partials/customers/customers-case-studies'; @import 'partials/customers-vector-space-wall'; @import 'partials/customers-get-contacted'; @import 'partials/stars-hero'; diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/_customers-case-studies.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/_customers-case-studies.scss deleted file mode 100644 index 5d27499ef..000000000 --- a/qdrant-landing/themes/qdrant-2024/assets/css/partials/_customers-case-studies.scss +++ /dev/null @@ -1,69 +0,0 @@ -@use '../helpers/functions' as *; -@use '../mixins/marquee' as marquee; - -.customers-case-studies { - background-color: $neutral-94; - - &__cards { - padding-top: $spacer * 5; - padding-bottom: $spacer * 0.5; - } - - &__card { - &-preview { - position: relative; - margin-bottom: $spacer * 1.5; - border-radius: pxToRem(4); - overflow: hidden; - - &:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - display: block; - width: 100%; - height: 36%; - background-image: url('/img/customers-case-studies/card-overlay.svg'); - background-position: top; - background-size: cover; - } - } - - &-image { - width: 100%; - } - - &-logo { - position: absolute; - left: $spacer; - bottom: $spacer * 0.5; - height: $spacer * 4; - z-index: 1; - } - - &-title { - padding: $spacer 0; - font-size: map-get($font-sizes-text, 'xl'); - line-height: pxToRem(30); - font-weight: 500; - } - - &-link { - margin-bottom: $spacer * 0.5; - font-weight: 500; - } - } - - @include media-breakpoint-up(lg) { - &__cards { - padding-bottom: 0; - } - - &__card { - &-link { - margin-bottom: 0; - } - } - } -} diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/_customers-hero.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/_customers-hero.scss deleted file mode 100644 index 0c5a09430..000000000 --- a/qdrant-landing/themes/qdrant-2024/assets/css/partials/_customers-hero.scss +++ /dev/null @@ -1,68 +0,0 @@ -@use '../helpers/functions' as *; -@use '../mixins/marquee' as marquee; - -.customers-hero { - position: relative; - padding-top: $spacer * 2.5; - text-align: center; - overflow: hidden; - background-color: $neutral-10; - color: $neutral-98; - - &__title { - font-size: $spacer * 2.5; - line-height: $spacer * 3; - color: $neutral-98; - margin-bottom: $spacer * 1.5; - } - - &__description { - font-size: pxToRem(18); - line-height: pxToRem(27); - color: $neutral-70; - margin-bottom: $spacer; - } - - &__overlay { - position: absolute; - right: 0; - left: 0; - bottom: -30px; - width: 100%; - height: pxToRem(240); - background-image: url('/img/blurred/blurred-light-14.svg'); - background-position: center; - background-size: cover; - } - - .customer-list.dark { - background-color: transparent; - - .customer-list__logos__container:after, - .customer-list__logos__container:before { - display: none; - } - } - - @include media-breakpoint-up(lg) { - padding-top: $spacer * 3; - padding-bottom: $spacer * 3.5; - - &__title { - font-size: $spacer * 4; - line-height: pxToRem(76); - } - - &__description { - font-size: pxToRem(20); - line-height: pxToRem(30); - max-width: pxToRem(640); - margin-left: auto; - margin-right: auto; - } - - &__overlay { - bottom: 0; - } - } -} diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/customers/_customers-case-studies.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/customers/_customers-case-studies.scss new file mode 100644 index 000000000..e4bbc7478 --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/assets/css/partials/customers/_customers-case-studies.scss @@ -0,0 +1,688 @@ +@use '../../helpers/functions' as *; +@use '../../mixins/marquee' as marquee; + +.customers-case-studies { + padding-top: $spacer * 3; + padding-bottom: $spacer * 1.5; + background-color: $neutral-94; + + &__container { + width: 100%; + } + + &__filters { + display: none; + flex-direction: column; + position: fixed; + left: 0; + top: pxToRem(60); + width: 100%; + height: calc(100vh - pxToRem(60)); + overflow-y: auto; + padding: pxToRem(20) pxToRem(20) $spacer * 2.5; + background-color: $neutral-94; + z-index: 2; + + &.active { + display: flex; + } + + &-header { + display: flex; + justify-content: space-between; + align-items: center; + gap: $spacer; + padding: pxToRem(12) $spacer * 0.5 $spacer * 2;; + border-bottom: pxToRem(1) solid $neutral-80; + } + + &-close-button { + border: none; + background: none; + padding: 0; + } + + &-title { + margin-bottom: 0; + font-size: $font-size-xl; + line-height: pxToRem(30); + font-weight: $font-weight-medium; + } + + &-footer { + display: flex; + gap: $spacer; + padding-top: $spacer * 5; + margin-top: auto; + + button { + flex: 1; + + &.button_outlined { + color: $neutral-30; + } + } + } + } + + &__content { + width: 100%; + + &-header { + display: flex; + gap: $spacer * 0.5; + margin-bottom: $spacer * 3; + } + } + + &__filter-mobile-button { + display: flex; + justify-content: center; + align-items: center; + padding: 0 pxToRem(20); + border-radius: $spacer * 0.5; + border: pxToRem(1) solid $neutral-90; + background-color: $neutral-98; + + svg { + display: block; + width: pxToRem(15); + height: pxToRem(15); + } + } + + &__search { + display: flex; + flex-grow: 1; + gap: $spacer * 0.5; + height: $spacer * 2.5; + align-items: center; + padding: 0 $spacer; + border-radius: $spacer * 0.5; + border: pxToRem(1) solid $neutral-90; + background-color: $neutral-98; + font-size: $font-size-s; + line-height: $line-height-sm; + color: $neutral-30; + + svg { + display: block; + width: pxToRem(17); + height: pxToRem(17); + } + + &-text { + display: none; + } + } + + &__accordion { + width: 100%; + + &-item { + border-bottom: pxToRem(1) solid $neutral-80; + } + + &-header { + position: relative; + margin-bottom: 0; + padding: $spacer $spacer * 0.5; + font-size: $font-size-l; + line-height: $line-height-lg; + font-weight: $font-weight-medium; + color: $neutral-20; + cursor: pointer; + + &:after { + content: ''; + display: block; + position: absolute; + right: $spacer * 0.5; + top: calc(50% - pxToRem(8)); + height: $spacer; + width: $spacer; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M0.833984 2.91602L5.00065 7.08268L9.16732 2.91602' stroke='%23161E33' stroke-width='0.833333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + background-size: cover; + transition: transform 0.5s ease; + } + } + + &-body { + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease-out; + } + + &-inner { + padding-bottom: $spacer; + } + + &-option { + position: relative; + padding: $spacer * 0.5; + border-radius: $spacer * 0.5; + + input { + display: none; + } + + label { + display: flex; + gap: pxToRem(12); + align-items: center; + font-weight: $font-weight-medium; + cursor: pointer; + + &:before { + content: ""; + display: block; + width: $spacer * 1.5; + height: $spacer * 1.5; + cursor: pointer; + border-radius: calc($spacer / 4); + border: pxToRem(1) solid $neutral-90; + background: $neutral-98; + } + } + + input[type="checkbox"]:checked + label:before { + background-image: + url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M10 3L4.5 8.5L2 6' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), + linear-gradient(180deg, $primary-50, $primary-40); + background-position: center; + background-repeat: no-repeat; + background-size: pxToRem(18) pxToRem(18), cover; + border: 0; + } + } + + &-sort { + position: relative; + padding-left: $spacer * 0.5; + } + + &-select { + width: 100%; + padding: $spacer * 0.5 $spacer * 2.5 $spacer * 0.5 $spacer; + border-radius: $spacer * 0.5; + border: pxToRem(1) solid $neutral-90; + background-color: $neutral-98; + font-size: $font-size-l; + line-height: $line-height-lg; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + + &:active, &:focus, &:focus-visible { + outline: none; + } + + &-icon { + position: absolute; + top: pxToRem(15); + right: $spacer; + width: $spacer; + height: $spacer; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M1.3335 4.66663L8.00016 11.3333L14.6668 4.66663' stroke='%233D4866' stroke-width='1.33333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + background-size: cover; + } + } + + &.active { + .accordion__item-header:after { + transform: rotate(180deg); + } + } + } + + &__toggle { + display: flex; + flex-direction: row; + align-items: center; + gap: calc($spacer / 4); + padding: calc($spacer / 4); + border-radius: $spacer * 0.5; + border: pxToRem(1) solid $neutral-90; + background-color: $neutral-98; + + &-btn { + display: flex; + justify-content: center; + align-items: center; + gap: calc($spacer / 4); + width: auto; + height: pxToRem(30); + padding: 0 $spacer; + border-radius: calc($spacer / 4); + background-color: transparent; + border: none; + + &:before { + content: ""; + display: block; + width: $spacer; + height: $spacer; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M5.53801 1.8457H2.46109C2.12122 1.8457 1.8457 2.12122 1.8457 2.46109V5.53801C1.8457 5.87788 2.12122 6.1534 2.46109 6.1534H5.53801C5.87788 6.1534 6.1534 5.87788 6.1534 5.53801V2.46109C6.1534 2.12122 5.87788 1.8457 5.53801 1.8457Z' stroke='%23111824' stroke-width='1.23077' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12.3072 1.8457H9.23032C8.89045 1.8457 8.61493 2.12122 8.61493 2.46109V5.53801C8.61493 5.87788 8.89045 6.1534 9.23032 6.1534H12.3072C12.6471 6.1534 12.9226 5.87788 12.9226 5.53801V2.46109C12.9226 2.12122 12.6471 1.8457 12.3072 1.8457Z' stroke='%23111824' stroke-width='1.23077' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12.3072 8.61493H9.23032C8.89045 8.61493 8.61493 8.89045 8.61493 9.23032V12.3072C8.61493 12.6471 8.89045 12.9226 9.23032 12.9226H12.3072C12.6471 12.9226 12.9226 12.6471 12.9226 12.3072V9.23032C12.9226 8.89045 12.6471 8.61493 12.3072 8.61493Z' stroke='%23111824' stroke-width='1.23077' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5.53801 8.61493H2.46109C2.12122 8.61493 1.8457 8.89045 1.8457 9.23032V12.3072C1.8457 12.6471 2.12122 12.9226 2.46109 12.9226H5.53801C5.87788 12.9226 6.1534 12.6471 6.1534 12.3072V9.23032C6.1534 8.89045 5.87788 8.61493 5.53801 8.61493Z' stroke='%23111824' stroke-width='1.23077' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); + background-size: cover; + background-repeat: no-repeat; + background-position: center; + } + + &[data-view-btn="grid"] { + &:before { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M5.53801 1.8457H2.46109C2.12122 1.8457 1.8457 2.12122 1.8457 2.46109V5.53801C1.8457 5.87788 2.12122 6.1534 2.46109 6.1534H5.53801C5.87788 6.1534 6.1534 5.87788 6.1534 5.53801V2.46109C6.1534 2.12122 5.87788 1.8457 5.53801 1.8457Z' stroke='%23111824' stroke-width='1.23077' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12.3072 1.8457H9.23032C8.89045 1.8457 8.61493 2.12122 8.61493 2.46109V5.53801C8.61493 5.87788 8.89045 6.1534 9.23032 6.1534H12.3072C12.6471 6.1534 12.9226 5.87788 12.9226 5.53801V2.46109C12.9226 2.12122 12.6471 1.8457 12.3072 1.8457Z' stroke='%23111824' stroke-width='1.23077' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12.3072 8.61493H9.23032C8.89045 8.61493 8.61493 8.89045 8.61493 9.23032V12.3072C8.61493 12.6471 8.89045 12.9226 9.23032 12.9226H12.3072C12.6471 12.9226 12.9226 12.6471 12.9226 12.3072V9.23032C12.9226 8.89045 12.6471 8.61493 12.3072 8.61493Z' stroke='%23111824' stroke-width='1.23077' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5.53801 8.61493H2.46109C2.12122 8.61493 1.8457 8.89045 1.8457 9.23032V12.3072C1.8457 12.6471 2.12122 12.9226 2.46109 12.9226H5.53801C5.87788 12.9226 6.1534 12.6471 6.1534 12.3072V9.23032C6.1534 8.89045 5.87788 8.61493 5.53801 8.61493Z' stroke='%23111824' stroke-width='1.23077' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); + } + } + + &[data-view-btn="list"] { + &:before { + background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.92263 3.69238H12.9226M4.92263 7.38469H12.9226M4.92263 11.077H12.9226M1.8457 3.69238H1.85186M1.8457 7.38469H1.85186M1.8457 11.077H1.85186' stroke='%23111824' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A"); + } + } + + &.active { + background-color: $neutral-94; + + span { + font-weight: $font-weight-semibold; + } + } + + span { + display: none; + font-size: $font-size-xs; + line-height: pxToRem(18); + } + } + } + + &__results { + &--grid { + display: none; + grid-template-columns: repeat(1, minmax(0, 1fr)); + gap: $spacer * 3; + + &.active { + display: grid; + } + + .customers-case-studies__card { + display: flex; + flex-direction: column; + + &-logo { + position: relative; + display: flex; + justify-content: center; + align-items: center; + width: 100%; + aspect-ratio: 255/128; + margin-bottom: $spacer; + border: pxToRem(1) solid $neutral-90; + border-radius: $spacer * 0.5; + background-color: $neutral-98; + padding: $spacer * 1; + + &:after { + content: ""; + display: block; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + background-image: url("/img/dots-pattern.svg"); + background-position: center; + background-size: cover; + background-repeat: no-repeat; + mix-blend-mode: difference; + } + + img { + z-index: 1; + display: block; + width: auto; + height: 40px; + max-width: 100%; + position: relative; + } + } + + &-description { + color: $neutral-20; + margin-bottom: $spacer * 0.5; + font-weight: 600; + font-size: $font-size-l; + line-height: $line-height-lg; + } + + &-time { + margin-top: auto; + margin-bottom: 0; + font-size: $font-size-s; + line-height: $line-height-sm; + color: $neutral-50; + } + } + } + + &--list { + display: none; + + &.active { + display: block; + } + } + } + + &__table { + &-header { + display: none; + } + + &-body { + display: flex; + flex-direction: column; + gap: $spacer * 3; + padding-bottom: $spacer * 1.5; + + &-row.link-block { + display: none; + } + } + + &-row { + display: grid; + grid-template-columns: 1fr 1fr; + gap: $spacer * 1.5; + padding-bottom: $spacer * 3; + border-bottom: pxToRem(1) solid $neutral-70; + + div { + &:first-of-type { + grid-column: 1 / -1; + + p { + font-size: $font-size-xl; + line-height: pxToRem(30); + font-weight: $font-weight-medium; + } + } + + &:last-of-type { + grid-column: 1 / -1; + + a { + width: 100%; + color: $neutral-30; + } + } + + p { + margin-bottom: 0; + } + + span { + display: block; + font-size: $font-size-s; + line-height: $line-height-sm; + color: $neutral-60; + } + } + } + } + + &__button { + display: block; + margin: $spacer * 2.5 auto 0; + color: $neutral-30; + } + + @include media-breakpoint-up(md) { + &__results { + &--grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: $spacer * 2.5 $spacer * 2; + + .customers-case-studies__card { + &:hover { + .customers-case-studies__card-logo { + box-shadow: pxToRem(116) pxToRem(57) pxToRem(36) 0 rgba(22, 30, 51, 0.00), + pxToRem(74) pxToRem(37) pxToRem(33) 0 rgba(22, 30, 51, 0.01), + pxToRem(42) pxToRem(21) pxToRem(28) 0 rgba(22, 30, 51, 0.05), + pxToRem(19) pxToRem(9) pxToRem(21) 0 rgba(22, 30, 51, 0.09), + pxToRem(5) pxToRem(2) pxToRem(11) 0 rgba(22, 30, 51, 0.10); + } + } + } + } + } + } + + @include media-breakpoint-up(lg) { + padding-top: $spacer * 7.5; + padding-bottom: $spacer * 2.5; + + &__container { + display: flex; + gap: $spacer * 2; + + &-header { + display: block; + margin-bottom: $spacer * 2.5; + } + } + + &__filter-mobile-button { + display: none; + } + + &__filters { + display: flex; + position: relative; + left: auto; + top: auto; + width: pxToRem(192); + height: auto; + overflow: visible; + margin-right: $spacer * 4; + padding: 0; + flex-shrink: 0; + z-index: auto; + + &-header { + padding: pxToRem(12) $spacer * 0.5; + } + + &-close-button { + display: none; + } + + &-title { + font-size: $font-size-s; + line-height: $line-height-sm; + } + + &-footer { + display: none; + } + } + + &__accordion { + &-header { + font-size: $font-size-xs; + line-height: pxToRem(18); + font-weight: 400; + + &:after { + right: 0; + top: calc(50% - pxToRem(5)); + height: pxToRem(10); + width: pxToRem(10); + } + } + + &-option { + label { + gap: $spacer * 0.5; + font-size: $font-size-s; + line-height: $line-height-sm; + + &:before { + width: $spacer; + height: $spacer; + } + } + + &:hover { + background: $neutral-90; + + label { + &:before { + border: pxToRem(1) solid $neutral-94; + outline: pxToRem(2) solid $neutral-94; + } + } + } + + input[type="checkbox"]:checked + label:before { + background-size: pxToRem(12) pxToRem(12), cover; + } + } + + &-select { + font-size: $font-size-s; + line-height: $line-height-sm; + font-weight: $font-weight-medium; + + &-icon { + top: pxToRem(12); + } + } + } + + &__search { + &-text { + display: block; + } + + &-mobile-text { + display: none; + } + } + + &__toggle { + &-btn { + width: pxToRem(88); + + span { + display: block; + } + } + } + + &__content { + &-header { + gap: $spacer; + margin-bottom: $spacer * 2.5; + } + } + + &__results { + &--grid { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + } + + &__table { + &-row { + padding: $spacer; + grid-template-columns: + minmax(0, 208fr) + minmax(0, 120fr) + minmax(0, 120fr) + minmax(0, 160fr) + minmax(0, 120fr); + gap: $spacer; + border-radius: $spacer * 0.5; + + div { + justify-self: start; + align-self: center; + + p { + font-size: $font-size-s; + line-height: $line-height-sm; + font-weight: $font-weight-medium; + color: $neutral-70; + } + + &:first-of-type { + grid-column: auto; + + p { + font-size: $font-size-l; + line-height: $line-height-lg; + } + } + + &:last-of-type { + grid-column: auto; + } + + span { + display: none; + } + } + } + + &-header { + display: block; + margin-bottom: pxToRem(12); + + &-row { + border: none; + + div { + p { + color: $neutral-40; + } + } + } + } + + &-body { + gap: pxToRem(12); + padding-bottom: 0; + + &-row { + border: pxToRem(1) solid $neutral-90; + background-color: $neutral-98; + + &:hover { + box-shadow: pxToRem(116) pxToRem(57) pxToRem(36) 0 rgba(22, 30, 51, 0.00), + pxToRem(74) pxToRem(37) pxToRem(33) 0 rgba(22, 30, 51, 0.01), + pxToRem(42) pxToRem(21) pxToRem(28) 0 rgba(22, 30, 51, 0.05), + pxToRem(19) pxToRem(9) pxToRem(21) 0 rgba(22, 30, 51, 0.09), + pxToRem(5) pxToRem(2) pxToRem(11) 0 rgba(22, 30, 51, 0.10); + } + + &.link-block { + display: grid; + } + + &.block { + display: none; + } + } + } + } + } +} diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/customers/_customers-hero.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/customers/_customers-hero.scss new file mode 100644 index 000000000..73b65ca5a --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/assets/css/partials/customers/_customers-hero.scss @@ -0,0 +1,238 @@ +@use '../../helpers/functions' as *; +@use '../../mixins/marquee' as marquee; + +.customers-hero { + position: relative; + padding-top: $spacer * 3.5; + text-align: center; + overflow: hidden; + background-color: $neutral-10; + color: $neutral-98; + + &__container { + position: relative; + z-index: 1; + } + + &__tag { + display: flex; + align-items: center; + gap: $spacer * 0.5; + width: fit-content; + margin: 0 auto $spacer * 2; + padding: pxToRem(6) $spacer; + background-color: $secondary-violet-30; + border-radius: $spacer * 2.5; + + &-image { + height: $spacer; + width: $spacer; + } + + &-title { + font-size: $font-size-s; + line-height: $line-height-sm; + color: $secondary-violet-90; + margin-bottom: 0; + } + } + + &__title { + max-width: pxToRem(760); + margin: 0 auto $spacer * 2; + font-size: $h4-font-size; + line-height: $spacer * 3; + color: $neutral-98; + } + + &__button { + text-align: center; + } + + &__slider { + display: flex; + gap: $spacer * 0.5; + justify-content: flex-start; + overflow-x: auto; + scroll-snap-type: x mandatory; + scrollbar-width: none; + -ms-overflow-style: none; + margin: $spacer * 4 pxToRem(-16) 0; + + &::-webkit-scrollbar { + width: 0; + height: 0; + } + + &-card { + display: flex; + flex: 0 0 pxToRem(264); + scroll-snap-align: start; + + &-inner { + position: relative; + width: 100%; + height: pxToRem(240); + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + padding: $spacer * 1.5; + border-radius: $spacer; + border: pxToRem(1) solid transparent; + text-align: left; + background: + linear-gradient($neutral-10, $neutral-10) padding-box, + linear-gradient($neutral-30, $neutral-10) border-box; + margin-left: $spacer; + } + + &:last-of-type { + .customers-hero__slider-card-inner { + margin-right: $spacer; + } + } + + &-description { + margin-bottom: 0; + color: $neutral-70; + } + } + } + + &__overlay { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-image: url('/img/blurred/blurred-light-27.svg'); + background-position: center; + background-size: cover; + background-repeat: no-repeat; + + &:before { + content: ""; + display: none; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: pxToRem(160); + background-image: url('/img/blurred/blurred-light-12.svg'); + background-position: center; + background-size: cover; + background-repeat: no-repeat; + } + + &:after { + content: ""; + display: block; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-image: url('/img/space-background.svg'); + background-position: center; + background-size: cover; + mix-blend-mode: color-dodge; + background-repeat: no-repeat; + } + } + + &__texture { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-position: top left; + background-size: cover; + opacity: 0.7; + background-image: url('/img/blurred/texture.svg'); + mix-blend-mode: overlay; + } + + .customer-list.dark { + background-color: transparent; + + .customer-list__logos__container:after, + .customer-list__logos__container:before { + display: none; + } + } + + @include media-breakpoint-up(sm) { + &__slider { + margin: 4rem calc((100vw - pxToRem(540) + pxToRem(32)) / 2 * -1) 0; + } + } + + @include media-breakpoint-up(md) { + &__slider { + margin: 4rem calc((100vw - pxToRem(720) + pxToRem(32)) / 2 * -1) 0; + } + } + + @include media-breakpoint-up(lg) { + padding-top: $spacer * 7.5; + padding-bottom: $spacer * 3.5; + + &__title { + font-size: $h1-font-size; + line-height: pxToRem(76); + } + + &__slider { + overflow-x: visible; + scroll-snap-type: none; + justify-content: space-between; + gap: $spacer; + margin: $spacer * 7.5 0 $spacer * 3.5; + + &-card { + flex: none; + width: calc(25% - pxToRem(12)); + scroll-snap-align: none; + + + &-inner { + margin-left: 0; + height: pxToRem(296); + } + + &:first-of-type, + &:last-of-type { + margin-top: $spacer * 1.5; + } + + &:last-of-type { + .customers-hero__slider-card-inner { + margin-right: 0; + } + } + } + } + + &__overlay { + &:after { + background-size: contain; + } + + &:before { + display: block; + } + } + } + + @include media-breakpoint-up(xl) { + &__slider { + &-card { + &-inner { + height: pxToRem(240); + } + } + } + } +} \ No newline at end of file diff --git a/qdrant-landing/themes/qdrant-2024/assets/js/customers-filters.js b/qdrant-landing/themes/qdrant-2024/assets/js/customers-filters.js new file mode 100644 index 000000000..c5f814e95 --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/assets/js/customers-filters.js @@ -0,0 +1,287 @@ +const FILTER_KEYS = [ + "industry", + "product", + "company_size", + "location", + "use_cases" +]; + +const DESKTOP_MIN_WIDTH = 992; + +function initCustomersViewToggle(root) { + const bar = root.querySelector("[data-customers-view-toggle]"); + if (!bar) return; + + const btnGrid = bar.querySelector('[data-view-btn="grid"]'); + const btnList = bar.querySelector('[data-view-btn="list"]'); + + const blockGrid = root.querySelector('[data-view-block="grid"]'); + const blockList = root.querySelector('[data-view-block="list"]'); + + if (!btnGrid || !btnList || !blockGrid || !blockList) return; + + const setMode = (mode) => { + const isGrid = mode === "grid"; + + btnGrid.classList.toggle("active", isGrid); + btnList.classList.toggle("active", !isGrid); + + blockGrid.classList.toggle("active", isGrid); + blockList.classList.toggle("active", !isGrid); + }; + + btnGrid.addEventListener("click", () => setMode("grid")); + btnList.addEventListener("click", () => setMode("list")); + + setMode("grid"); +} + +function isDesktop() { + return window.matchMedia(`(min-width: ${DESKTOP_MIN_WIDTH}px)`).matches; +} + +function getActiveFilters(filterInputs) { + return filterInputs.reduce( + (acc, input) => { + if (!input.checked) return acc; + const key = input.dataset.filterKey; + if (FILTER_KEYS.includes(key)) acc[key].push(input.value); + return acc; + }, + { + industry: [], + product: [], + company_size: [], + location: [], + use_cases: [] + } + ); +} + +function matchesFilters(card, filters) { + for (const key of FILTER_KEYS) { + const selected = filters[key]; + if (!selected.length) continue; + + if (key === "use_cases") { + const cardUseCases = (card.dataset.use_cases ?? "") + .split("||") + .filter(Boolean); + const ok = selected.some((v) => cardUseCases.includes(v)); + if (!ok) return false; + continue; + } + + const val = card.dataset[key] ?? ""; + if (!selected.includes(val)) return false; + } + return true; +} + +function parseSortValue(value) { + if (!value) return null; + const [field, dir = "asc"] = value.split("-"); + return { field, dir }; +} + +function sortCardsByField(cards, sortValue) { + const parsed = parseSortValue(sortValue); + if (!parsed) return [...cards]; + + const { field, dir } = parsed; + const order = dir === "desc" ? -1 : 1; + + return [...cards].sort((a, b) => { + const av = (a.dataset[field] ?? "").toLowerCase(); + const bv = (b.dataset[field] ?? "").toLowerCase(); + if (av < bv) return -1 * order; + if (av > bv) return 1 * order; + return 0; + }); +} + +function closeAllFilterAccordions(root) { + const headers = root.querySelectorAll(".customers-case-studies__accordion-header"); + + headers.forEach((header) => { + header.parentElement?.classList.remove("active"); + const panel = header.nextElementSibling; + if (panel && panel.classList.contains("customers-case-studies__accordion-body")) { + panel.style.maxHeight = null; + } + }); +} + +function initCustomersMobileFilters(root, { onClose, onOpen, onApply, onClear }) { + const openBtn = root.querySelector(".customers-case-studies__filter-mobile-button"); + const closeBtn = root.querySelector(".customers-case-studies__filters-close-button"); + const applyBtn = root.querySelector(".customers-case-studies__filters-apply-button"); + const clearBtn = root.querySelector(".customers-case-studies__filters-clear-button"); + const panel = root.querySelector(".customers-case-studies__filters"); + + if (!panel) return; + + const open = () => { + panel.classList.add("active"); + onOpen?.(); + }; + + const close = () => { + panel.classList.remove("active"); + onClose?.(); + closeAllFilterAccordions(root); + }; + + openBtn?.addEventListener("click", open); + closeBtn?.addEventListener("click", close); + applyBtn?.addEventListener("click", () => { + onApply?.(); + panel.classList.remove("active"); + closeAllFilterAccordions(root); + }); + clearBtn?.addEventListener("click", () => onClear?.()); +} + +function initCustomersCaseStudies(root) { + initCustomersViewToggle(root); + + const batchSize = Number(root.dataset.batchSize ?? 12) || 12; + const resultsGrid = root.querySelector("[data-results-grid]"); + const resultsList = root.querySelector("[data-results-list]"); + const sortSelect = root.querySelector("[data-sort-select]"); + const filterInputs = [...root.querySelectorAll("[data-filter-input]")]; + const loadMoreBtn = root.querySelector("[data-load-more]"); + + if (!resultsGrid || !resultsList) return; + + const gridCards = [...resultsGrid.querySelectorAll("[data-client-card]")]; + const listCards = [...resultsList.querySelectorAll("[data-client-card]")]; + + let visibleBatchCount = batchSize; + + const readControlsState = () => ({ + sortValue: sortSelect?.value ?? "", + filters: getActiveFilters(filterInputs) + }); + + const applyStateToControls = (state) => { + if (sortSelect) sortSelect.value = state?.sortValue ?? ""; + + const selected = state?.filters ?? { + industry: [], + product: [], + company_size: [], + location: [], + use_cases: [] + }; + + filterInputs.forEach((input) => { + const key = input.dataset.filterKey; + if (!FILTER_KEYS.includes(key)) return; + input.checked = (selected[key] ?? []).includes(input.value); + }); + }; + + let appliedState = readControlsState(); + let draftState = appliedState; + + const getSortedMatchingIds = (state) => { + const filters = state.filters; + + const gridMatching = gridCards.filter((card) => matchesFilters(card, filters)); + const gridSorted = sortCardsByField(gridMatching, state.sortValue); + const orderedIds = gridSorted.map((card) => card.dataset.id); + const gridById = new Map(gridCards.map((c) => [c.dataset.id, c])); + const listById = new Map(listCards.map((c) => [c.dataset.id, c])); + + orderedIds.forEach((id) => { + const g = gridById.get(id); + const l = listById.get(id); + if (g) resultsGrid.append(g); + if (l) resultsList.append(l); + }); + + return orderedIds; + }; + + const applyBatchVisibility = (orderedMatchingIds) => { + const allowedIds = new Set(orderedMatchingIds.slice(0, visibleBatchCount)); + + gridCards.forEach((card) => { + card.hidden = !allowedIds.has(card.dataset.id); + }); + + listCards.forEach((card) => { + card.hidden = !allowedIds.has(card.dataset.id); + }); + + if (loadMoreBtn) { + const more = orderedMatchingIds.length > visibleBatchCount; + loadMoreBtn.hidden = !more; + loadMoreBtn.disabled = false; + } + }; + + const refresh = () => { + visibleBatchCount = batchSize; + const orderedMatchingIds = getSortedMatchingIds(appliedState); + applyBatchVisibility(orderedMatchingIds); + }; + + const loadMore = () => { + const orderedMatchingIds = getSortedMatchingIds(appliedState); + visibleBatchCount += batchSize; + applyBatchVisibility(orderedMatchingIds); + }; + + const onControlsChange = () => { + if (isDesktop()) { + appliedState = readControlsState(); + refresh(); + return; + } + draftState = readControlsState(); + }; + + filterInputs.forEach((input) => input.addEventListener("change", onControlsChange)); + sortSelect?.addEventListener("change", onControlsChange); + loadMoreBtn?.addEventListener("click", loadMore); + + initCustomersMobileFilters(root, { + onOpen: () => { + if (isDesktop()) return; + draftState = appliedState; + applyStateToControls(draftState); + }, + onClose: () => { + if (isDesktop()) return; + draftState = appliedState; + applyStateToControls(appliedState); + }, + onClear: () => { + if (isDesktop()) { + if (sortSelect) sortSelect.value = ""; + filterInputs.forEach((i) => (i.checked = false)); + appliedState = readControlsState(); + refresh(); + return; + } + if (sortSelect) sortSelect.value = ""; + filterInputs.forEach((i) => (i.checked = false)); + draftState = readControlsState(); + }, + onApply: () => { + if (isDesktop()) return; + appliedState = draftState; + refresh(); + } + }); + + refresh(); +} + +document.addEventListener('DOMContentLoaded', function () { + document.querySelectorAll("[data-customers-case-study]").forEach((root) => { + initCustomersCaseStudies(root); + }); +}) \ No newline at end of file diff --git a/qdrant-landing/themes/qdrant-2024/assets/js/helpers.js b/qdrant-landing/themes/qdrant-2024/assets/js/helpers.js index 183dd010f..9e6cd9354 100644 --- a/qdrant-landing/themes/qdrant-2024/assets/js/helpers.js +++ b/qdrant-landing/themes/qdrant-2024/assets/js/helpers.js @@ -166,4 +166,4 @@ export function addUTMToLinks() { } }); } -} \ No newline at end of file +} diff --git a/qdrant-landing/themes/qdrant-2024/assets/js/index.js b/qdrant-landing/themes/qdrant-2024/assets/js/index.js index 8f09b5733..56f5dec50 100644 --- a/qdrant-landing/themes/qdrant-2024/assets/js/index.js +++ b/qdrant-landing/themes/qdrant-2024/assets/js/index.js @@ -159,6 +159,11 @@ document.addEventListener('DOMContentLoaded', function () { el.addEventListener('click', toggleAccordion); }); + const customersAccordionButtons = Array.from(document.getElementsByClassName('customers-case-studies__accordion-header')); + customersAccordionButtons.forEach((el) => { + el.addEventListener('click', toggleAccordion); + }); + // Pricing doors tabs const pricingDoorsTabs = document.querySelectorAll('.qdrant-pricing-doors-b__tab'); const pricingDoorsContainers = document.querySelectorAll('[data-doors-tab]'); diff --git a/qdrant-landing/themes/qdrant-2024/assets/js/search/search.js b/qdrant-landing/themes/qdrant-2024/assets/js/search/search.js index 8007b97ce..343c9bed5 100644 --- a/qdrant-landing/themes/qdrant-2024/assets/js/search/search.js +++ b/qdrant-landing/themes/qdrant-2024/assets/js/search/search.js @@ -27,4 +27,8 @@ import 'qdrant-page-search/dist/js/search.min.js'; if (/learn/.test(window.location?.pathname)) { window.initQdrantSearch({ searchApiUrl: 'https://search.qdrant.tech/api/search', section: 'articles,course,documentation' }); } + + if (/customers/.test(window.location?.pathname)) { + window.initQdrantSearch({ searchApiUrl: 'https://search.qdrant.tech/api/search', section: 'blog', partition: partition }); + } })(); diff --git a/qdrant-landing/themes/qdrant-2024/layouts/customers/list.html b/qdrant-landing/themes/qdrant-2024/layouts/customers/list.html index 52c939542..5088c6c8d 100644 --- a/qdrant-landing/themes/qdrant-2024/layouts/customers/list.html +++ b/qdrant-landing/themes/qdrant-2024/layouts/customers/list.html @@ -1,112 +1,12 @@ {{ define "main" }} {{ partial "site-header" . }} - {{ partial "customers-hero" . }} + {{ partial "customers/customers-hero" . }} - -
-
- {{ with (.Site.GetPage "/customers/case-study-tripadvisor") }} - {{ partial "case-study" . }} - {{ end }} -
-
- -
-
- {{ with (.Site.GetPage "/customers/case-study-hubspot") }} - {{ partial "case-study" . }} - {{ end }} -
-
- - {{ with (.Site.GetPage "/customers/customers-testimonial-0") }} - {{ partial "testimonial-light" (dict "context" . "class" "customers-testimonial") }} + {{ with (.Site.GetPage "/customers/clients") }} + {{ partial "customers/customers-case-studies" . }} {{ end }} - {{ with (.Site.GetPage "/customers/logo-cards-1") }} - {{ partial "logo-cards" . }} - {{ end }} - - -
-
- {{ with (.Site.GetPage "/customers/case-study-telekom") }} - {{ partial "case-study" . }} - {{ end }} -
-
- - {{ with (.Site.GetPage "/customers/customers-testimonial-1") }} - {{ partial "testimonial-light" (dict "context" . "class" "customers-testimonial") }} - {{ end }} - - {{ with (.Site.GetPage "/customers/logo-cards-2") }} - {{ partial "logo-cards" . }} - {{ end }} - - -
-
- {{ with (.Site.GetPage "/customers/case-study-sprinklr") }} - {{ partial "case-study" . }} - {{ end }} -
-
- - {{ with (.Site.GetPage "/customers/case-studies-1") }} - {{ partial "customers-case-studies" . }} - {{ end }} - - -
-
- {{ with (.Site.GetPage "/customers/case-study-voiceflow") }} - {{ partial "case-study" . }} - {{ end }} -
-
- - {{ with (.Site.GetPage "/customers/customers-testimonial-3") }} - {{ partial "testimonial-light" (dict "context" . "class" "customers-testimonial") }} - {{ end }} - - {{ with (.Site.GetPage "/customers/logo-cards-3") }} - {{ partial "logo-cards" . }} - {{ end }} - - -
-
- {{ with (.Site.GetPage "/customers/case-study-nyris") }} - {{ partial "case-study" . }} - {{ end }} -
-
- - {{ with (.Site.GetPage "/customers/customers-testimonial-2") }} - {{ partial "testimonial-light" (dict "context" . "class" "customers-testimonial reversed") }} - {{ end }} - - {{ with (.Site.GetPage "/customers/logo-cards-4") }} - {{ partial "logo-cards" . }} - {{ end }} - - -
-
- {{ with (.Site.GetPage "/customers/case-study-dailymotion") }} - {{ partial "case-study" . }} - {{ end }} -
-
- - {{ with (.Site.GetPage "/customers/case-studies-2") }} - {{ partial "customers-case-studies" . }} - {{ end }} - - {{ partial "customers-vector-space-wall" . }} - {{ partial "get-started" . }} {{ with (.Site.GetPage "/headless/get-contacted-with-question") }} diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/css.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/css.html index dd9351b2d..9dc67d6c1 100644 --- a/qdrant-landing/themes/qdrant-2024/layouts/partials/css.html +++ b/qdrant-landing/themes/qdrant-2024/layouts/partials/css.html @@ -6,7 +6,7 @@ {{ end }} -{{ if in (slice "blog" "docs" "documentation" "articles" "course" "learn") .Section }} +{{ if in (slice "blog" "docs" "documentation" "articles" "course" "learn" "customers") .Section }} {{ $pageSearchCss := resources.Get "css/search/search.scss" | toCSS $opts | minify | resources.Fingerprint "sha512" }} {{ end }} diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/customers-case-studies.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/customers-case-studies.html deleted file mode 100644 index 8765667c4..000000000 --- a/qdrant-landing/themes/qdrant-2024/layouts/partials/customers-case-studies.html +++ /dev/null @@ -1,16 +0,0 @@ -
-
-
- {{ range .Params.cases }} -
-
- {{ .image.alt }} - -
-
{{ .title }}
- {{ .link.text }} -
- {{ end }} -
-
-
diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/customers-hero.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/customers-hero.html deleted file mode 100644 index cc63e9c4b..000000000 --- a/qdrant-landing/themes/qdrant-2024/layouts/partials/customers-hero.html +++ /dev/null @@ -1,13 +0,0 @@ -{{ with (.Site.GetPage "/customers/customers-hero") }} -
-
-

{{ .Params.title }}

-

{{ .Params.description }}

-
- - {{ with (.Site.GetPage "customer-list") }} - {{ .Scratch.Set "setting" (slice " dark") }}{{ partial "customer-list" . }} - {{ end }} -
-
-{{ end }} diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/customers/customers-case-studies.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/customers/customers-case-studies.html new file mode 100644 index 000000000..8781c5e59 --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/layouts/partials/customers/customers-case-studies.html @@ -0,0 +1,316 @@ +{{- $all := .Params.clients | default slice -}} + +{{- $industries := slice -}} +{{- $products := slice -}} +{{- $sizes := slice -}} +{{- $locations := slice -}} +{{- $useCases := slice -}} + +{{- range $all -}} +{{- with .industry }}{{ $industries = $industries | append . }}{{ end -}} +{{- with .product }}{{ $products = $products | append . }}{{ end -}} +{{- with .company_size }}{{ $sizes = $sizes | append . }}{{ end -}} +{{- with .location }}{{ $locations = $locations | append . }}{{ end -}} +{{- range .use_cases }}{{ $useCases = $useCases | append . }}{{ end -}} +{{- end -}} + +{{- $industries = sort (uniq $industries) -}} +{{- $products = sort (uniq $products) -}} +{{- $sizes = sort (uniq $sizes) -}} +{{- $locations = sort (uniq $locations) -}} +{{- $useCases = sort (uniq $useCases) -}} + +
+
+ + +
+
+ + + + +
+ + +
+
+ +
+ {{ range $all }} + {{ $storyURL := "#" }} + {{ $storyPage := false }} + {{ with .blog_path }} + {{ with site.GetPage . }} + {{ $storyURL = .RelPermalink }} + {{ $storyPage = . }} + {{ end }} + {{ end }} + + +

{{ .title }}

+

+ {{ with $storyPage }}{{ .ReadingTime }} min read{{ else }}{{ .time }}{{ end }} +

+
+ {{ end }} +
+ +
+
+
+
+
+

Industry

+

Company Size

+

Product

+

Location

+
+
+
+ {{ range $all }} + {{ $storyURL := "#" }} + {{ with .blog_path }} + {{ with site.GetPage . }} + {{ $storyURL = .RelPermalink }} + {{ end }} + {{ end }} +
+
+

{{ .name }}

+
+
+ Industry +

{{ .industry }}

+
+
+ Company Size +

{{ .company_size }}

+
+
+ Product +

{{ .product }}

+
+
+ Location +

{{ .location }}

+
+ +
+ +
+

{{ .name }}

+
+
+ Industry +

{{ .industry }}

+
+
+ Company Size +

{{ .company_size }}

+
+
+ Product +

{{ .product }}

+
+
+ Location +

{{ .location }}

+
+
+ {{ end }} +
+
+
+ + {{- if gt (len $all) 12 -}} + + {{- end -}} +
+
+
diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/customers/customers-hero.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/customers/customers-hero.html new file mode 100644 index 000000000..17153de92 --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/layouts/partials/customers/customers-hero.html @@ -0,0 +1,32 @@ +{{ with (.Site.GetPage "/customers/customers-hero") }} +
+
+
+
+
+ {{ .Params.tag.icon.alt }} +

{{ .Params.tag.title }}

+
+ +

{{ .Params.title }}

+ + {{ .Params.button.text }} + + +
+ {{ range $index, $card := .Params.cards }} + + {{ end }} +
+
+ + {{ with (.Site.GetPage "customer-list") }} + {{ .Scratch.Set "setting" (slice " dark") }}{{ partial "customer-list" . }} + {{ end }} +
+{{ end }} diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/js.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/js.html index 8d0925c43..e690330fc 100644 --- a/qdrant-landing/themes/qdrant-2024/layouts/partials/js.html +++ b/qdrant-landing/themes/qdrant-2024/layouts/partials/js.html @@ -102,7 +102,7 @@ {{ end }} -{{ if or (in (slice "docs" "documentation" "articles" "course" "learn") .Section) (and (not .IsPage) (eq .Section "blog")) }} +{{ if or (in (slice "docs" "documentation" "articles" "course" "learn" "customers") .Section) (and (not .IsPage) (eq .Section "blog")) }} {{ $pageSearchJs := resources.Get "/js/search/search.js" | js.Build | minify | resources.Fingerprint "sha512" }} {{ end }} @@ -112,6 +112,11 @@ {{ end }} +{{ if eq .Section "customers" }} + {{ $customersJs := resources.Get "js/customers-filters.js" | js.Build | minify | resources.Fingerprint "sha512" }} + +{{ end }} + {{ if in (slice "blog" "articles" "course" "learn" "benchmarks" "docs" "documentation") .Section }} @@ -154,7 +159,7 @@ {{ end }} -{{ if in (slice "blog" "docs" "documentation" "articles" "course" "learn") .Section }} +{{ if in (slice "blog" "docs" "documentation" "articles" "course" "learn" "customers") .Section }}