diff --git a/package.json b/package.json
index d098b748ec2b21c3f4c795b0a59e55e1b0779d04..81be261313471e92fa9a8668023485e0955bdb15 100644
--- a/package.json
+++ b/package.json
@@ -37,6 +37,7 @@
     "babel-plugin-transform-object-rest-spread": "^6.22.0",
     "babel-preset-env": "^1.6.1",
     "babel-preset-react": "^6.22.0",
+    "bowser": "1.9.3",
     "chromedriver": "2.38.2",
     "classnames": "2.2.5",
     "copy-webpack-plugin": "^4.5.1",
@@ -63,7 +64,6 @@
     "lodash.pick": "4.4.0",
     "minilog": "3.1.0",
     "mkdirp": "^0.5.1",
-    "platform": "1.3.5",
     "postcss-import": "^11.0.0",
     "postcss-loader": "^2.1.4",
     "postcss-simple-vars": "^4.0.0",
diff --git a/src/containers/error-boundary.jsx b/src/containers/error-boundary.jsx
index c140d0ee78836632b9368960903905472bed82bd..52e522d5aaea290d3775515d18400023e4f15f13 100644
--- a/src/containers/error-boundary.jsx
+++ b/src/containers/error-boundary.jsx
@@ -1,6 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import platform from 'platform';
+import bowser from 'bowser';
 import BrowserModalComponent from '../components/browser-modal/browser-modal.jsx';
 import CrashMessageComponent from '../components/crash-message/crash-message.jsx';
 import log from '../lib/log.js';
@@ -36,7 +36,7 @@ class ErrorBoundary extends React.Component {
             analytics.event({
                 category: 'Unsupported Browser Error',
                 action: `(Unsupported Browser) ${this.props.action}`,
-                label: `${platform.name} ${error.message}`
+                label: `${bowser.name} ${error.message}`
             });
         }
 
diff --git a/src/lib/audio/shared-audio-context.js b/src/lib/audio/shared-audio-context.js
index f7a109ac70830a5e31719c03034eabd1e550a349..919920834972fac2fc403259a75db3cf12980a97 100644
--- a/src/lib/audio/shared-audio-context.js
+++ b/src/lib/audio/shared-audio-context.js
@@ -1,8 +1,8 @@
 import StartAudioContext from 'startaudiocontext';
-import platform from 'platform';
+import bowser from 'bowser';
 
 let AUDIO_CONTEXT;
-if (platform.name !== 'IE') {
+if (!bowser.msie) {
     AUDIO_CONTEXT = new (window.AudioContext || window.webkitAudioContext)();
 
     StartAudioContext(AUDIO_CONTEXT);
diff --git a/src/lib/supported-browser.js b/src/lib/supported-browser.js
index 507fb1dcfce06fe6dbe181c1a9ed4b838bcd31ce..181fb1cb69059a5f0d13e6ac3166918aaf1cfa40 100644
--- a/src/lib/supported-browser.js
+++ b/src/lib/supported-browser.js
@@ -1,14 +1,13 @@
-import platform from 'platform';
+import bowser from 'bowser';
 
 /**
  * Helper function to determine if the browser is supported.
  * @returns {boolean} False if the platform is definitely not supported.
  */
 export default function () {
-    if (platform.name === 'IE' ||
-        platform.name === 'Opera' ||
-        platform.name === 'Opera Mini' ||
-        platform.name === 'Silk') {
+    if (bowser.msie ||
+        bowser.opera ||
+        bowser.silk) {
         return false;
     }
     // @todo Should also test for versions of supported browsers