diff --git a/config/webpack.config.dev.js b/config/webpack.config.dev.js
index f7309605e66c76710a1603b76fb5772ceabfb355..44d5cec925bb4e109413d63eba3d08ac0e87638b 100644
--- a/config/webpack.config.dev.js
+++ b/config/webpack.config.dev.js
@@ -20,6 +20,7 @@ module.exports = {
   devtool: 'eval',
   entry: [
     require.resolve('webpack-dev-server/client') + '?http://localhost:3000',
+    require.resolve('webpack/hot/dev-server'),
     './src/index.js'
   ],
   output: {
@@ -79,6 +80,8 @@ module.exports = {
       inject: true,
       template: path.resolve(__dirname, relative, 'index.html'),
     }),
-    new webpack.DefinePlugin({ 'process.env.NODE_ENV': '"development"' })
+    new webpack.DefinePlugin({ 'process.env.NODE_ENV': '"development"' }),
+    // Note: only CSS is currently hot reloaded
+    new webpack.HotModuleReplacementPlugin()
   ]
 };
diff --git a/scripts/start.js b/scripts/start.js
index acada400dff4c62e8ef6bb22d4369d6e9257f952..7623b9abf41eeb933acd663a589b15970798562b 100644
--- a/scripts/start.js
+++ b/scripts/start.js
@@ -29,6 +29,7 @@ if (process.argv[2] === '--smoke-test') {
 new WebpackDevServer(webpack(config, handleCompile), {
   publicPath: config.output.publicPath,
   historyApiFallback: true,
+  hot: true, // Note: only CSS is currently hot reloaded
   stats: {
     hash: false,
     version: false,