diff --git a/landing-pages/site/content/en/privacy-notice/_index.md b/landing-pages/site/content/en/privacy-notice/_index.md
index 6d447ba..2c3d91c 100644
--- a/landing-pages/site/content/en/privacy-notice/_index.md
+++ b/landing-pages/site/content/en/privacy-notice/_index.md
@@ -34,7 +34,7 @@
 
 GA provides us with information on the following 3 categories:
 
-- Audience reports: includes information about active users (interactions with the site in the last 1, 7, 14, or 30 days), where users come from (geographical location) and what language they speak (language of the bowser), as well as the insight on the percentages of new and returning visitors.
+- Audience reports: includes information about active users (interactions with the site in the last 1, 7, 14, or 30 days), where users come from (geographical location) and what language they speak (language of the browser), as well as the insight on the percentages of new and returning visitors.
 - Acquisition reports: includes information about how users are finding the website with detailed understanding of traffic and bounce rate. Website owners are able to see their main traffic categories, such as organic search, referral and direct, as well as the information about how many pages users view and how much time they spend on the website.
 - Behaviour reports: includes information on granulated metrics such as the average time a user spends on a webpage, total number of pageviews and the site’s  bounce rate, site’s most visited pages, and the most popular pages through which a user enters and exits your site (landing pages and exit pages), as well as insight on how quickly the website loads.
 
diff --git a/landing-pages/site/content/en/use-cases/adobe.md b/landing-pages/site/content/en/use-cases/adobe.md
index c5ea54d..c3c2dec 100644
--- a/landing-pages/site/content/en/use-cases/adobe.md
+++ b/landing-pages/site/content/en/use-cases/adobe.md
@@ -11,7 +11,7 @@
 Modern big data platforms need sophisticated data pipelines connecting to many backend services enabling complex workflows. These workflows need to be deployed, monitored, and run either on regular schedules or triggered by external events. Adobe Experience Platform component services architected and built an orchestration service to enable their users to author, schedule, and monitor complex hierarchical (including sequential and parallel) workflows for Apache Spark (TM) and non-Spark jobs.
 
 ##### How did Apache Airflow help to solve this problem?
-Adobe Experience Platform built an orchestration service to meet our user and customer requirements. It is architected based on guiding principles to leverage an off-the-shelf, open-source orchestration engine that is abstracted to other services through an API and extendible to any application through a pluggable framework. Adobe Experience Platform orchestration service leverages Apache Airflow execution engine for scheduling and executing various workflows. Apache Airflow is highly extensible and with support of K8s Executor it can scale to meet our requirements. It has a very rich Airflow Web UI to provide various workflow-related insights. Airflow’s active community that addresses issues and different feature requests also made it additionally attractive for us.
+Adobe Experience Platform built an orchestration service to meet our user and customer requirements. It is architected based on guiding principles to leverage an off-the-shelf, open-source orchestration engine that is abstracted to other services through an API and extendable to any application through a pluggable framework. Adobe Experience Platform orchestration service leverages Apache Airflow execution engine for scheduling and executing various workflows. Apache Airflow is highly extensible and with support of K8s Executor it can scale to meet our requirements. It has a very rich Airflow Web UI to provide various workflow-related insights. Airflow’s active community that addresses issues and different feature requests also made it additionally attractive for us.
 
 ##### What are the results?
 Adobe Experience Platform is using Apache Airflow's plugin interface to write custom operators to meet our use cases. With K8s Executor, we could scale it to run 1000(s) of concurrent workflows. Adobe and Adobe Experience Platform teams can focus on business use cases because all scheduling, dependency management, and retrying logic is offloaded to Apache Airflow.
diff --git a/landing-pages/site/layouts/meetups/list.html b/landing-pages/site/layouts/meetups/list.html
index f3b62d2..d68b97a 100644
--- a/landing-pages/site/layouts/meetups/list.html
+++ b/landing-pages/site/layouts/meetups/list.html
@@ -71,7 +71,7 @@
         <h4 class="page-header host-header">Want to host a meetup?</h4>
         <div class="text-with-icon-list">
             {{ partial "text-with-icon" (dict "logo_path" "icons/meetup-icon.svg" "header" "Plan a meetup" "text" "Create an event using facebook.com or meetup.com and invite some interesting speakers. Drinks and snacks are always nice.") }}
-            {{ partial "text-with-icon" (dict "logo_path" "icons/intent-icon.svg" "header" "Voice your intent" "text" "In description of your event remember to say who is the target audience. Beginners, intermidiates, developers or maybe architects?") }}
+            {{ partial "text-with-icon" (dict "logo_path" "icons/intent-icon.svg" "header" "Voice your intent" "text" "In description of your event remember to say who is the target audience. Beginners, intermediates, developers or maybe architects?") }}
             {{ partial "text-with-icon" (dict "logo_path" "icons/date-icon.svg" "header" "Set up the date" "text" "Good date is essential for high frequency. Morning and evening times are good idea. ") }}
             {{ partial "text-with-icon" (dict "logo_path" "icons/promote-icon.svg" "header" "Promote it!" "text" "Talk about your meetup as loud as possible! Reach out to community and we can publish your event on [#announcements](https://apache-airflow.slack.com/messages/announcements) channel and tweet about it on [@ApacheAirflow](https://twitter.com/ApacheAirflow).") }}
         </div>
diff --git a/landing-pages/src/js/integrationList.js b/landing-pages/src/js/integrationList.js
index ece0b2e..bbe2c7d 100644
--- a/landing-pages/src/js/integrationList.js
+++ b/landing-pages/src/js/integrationList.js
@@ -38,7 +38,7 @@
   const moreButton = root.querySelector("#show-more-integration");
 
   let currentPage = 1;
-  let currentQeury = "";
+  let currentQuery = "";
   const maxItemsOnPage = window.innerWidth < 1920 ? 8 : 10;
 
   function setIndicatorVisibility(visible) {
@@ -141,8 +141,8 @@
   }
 
   function setSearchQuery(keyword) {
-    currentQeury = keyword;
-    showItems(currentQeury, currentPage);
+    currentQuery = keyword;
+    showItems(currentQuery, currentPage);
   }
 
   searchBox.addEventListener("keyup", debounce(function() {
