diff --git a/kibble/scanners/scanners/jira.py b/kibble/scanners/scanners/jira.py
index 14789c9..047c2a2 100644
--- a/kibble/scanners/scanners/jira.py
+++ b/kibble/scanners/scanners/jira.py
@@ -227,7 +227,7 @@
             )
             if not "@" in closer_email:
                 closer_email = "%s@%s" % (closer_email, domain)
-            display_name = closer.get("displayName", "Unkown")
+            display_name = closer.get("displayName", "Unknown")
             if display_name and len(display_name) > 0:
                 # Add to people db
                 pid = hashlib.sha1(
@@ -321,7 +321,7 @@
             try:
                 rl = self.pendingTickets.pop(0)
             except Exception as err:
-                print(f"An error occured: {err}")
+                print(f"An error occurred: {err}")
                 self.block.release()
                 return
             if not rl:
diff --git a/kibble/scanners/scanners/ponymail.py b/kibble/scanners/scanners/ponymail.py
index 69a49ca..55dbc2a 100644
--- a/kibble/scanners/scanners/ponymail.py
+++ b/kibble/scanners/scanners/ponymail.py
@@ -93,7 +93,7 @@
         kibble_bit.update_source(source)
         return
 
-    # Pony Mail requires a UI cookie in order to work. Maked sure we have one!
+    # Pony Mail requires a UI cookie in order to work. Make sure we have one!
     cookie = None
     if "creds" in source and source["creds"]:
         cookie = source["creds"].get("cookie", None)
diff --git a/ui/js/coffee/widget_radar.coffee b/ui/js/coffee/widget_radar.coffee
index 14410be..0924b98 100644
--- a/ui/js/coffee/widget_radar.coffee
+++ b/ui/js/coffee/widget_radar.coffee
@@ -56,8 +56,8 @@
     state.widget.inject(chk)
     label = document.createElement('label')
     label.setAttribute("for", id)
-    label.setAttribute("title", "Check this box to force all areas to be relative to their own projects (and not the compared projects). This may help to display foucs areas.")
-    chk.setAttribute("title", "Check this box to force all areas to be relative to their own projects (and not the compared projects). This may help to display foucs areas.")
+    label.setAttribute("title", "Check this box to force all areas to be relative to their own projects (and not the compared projects). This may help to display focus areas.")
+    chk.setAttribute("title", "Check this box to force all areas to be relative to their own projects (and not the compared projects). This may help to display focus areas.")
     label.style.paddingLeft = '5px'
     label.appendChild(document.createTextNode('Make all projects relative to themselves'))
     state.widget.inject(label)
diff --git a/ui/js/kibble.v1.js b/ui/js/kibble.v1.js
index 42f02b3..a30296f 100644
--- a/ui/js/kibble.v1.js
+++ b/ui/js/kibble.v1.js
@@ -7026,8 +7026,8 @@
   state.widget.inject(chk);
   label = document.createElement('label');
   label.setAttribute("for", id);
-  label.setAttribute("title", "Check this box to force all areas to be relative to their own projects (and not the compared projects). This may help to display foucs areas.");
-  chk.setAttribute("title", "Check this box to force all areas to be relative to their own projects (and not the compared projects). This may help to display foucs areas.");
+  label.setAttribute("title", "Check this box to force all areas to be relative to their own projects (and not the compared projects). This may help to display focus areas.");
+  chk.setAttribute("title", "Check this box to force all areas to be relative to their own projects (and not the compared projects). This may help to display focus areas.");
   label.style.paddingLeft = '5px';
   label.appendChild(document.createTextNode('Make all projects relative to themselves'));
   return state.widget.inject(label);
