diff --git a/app.js b/app.js
index 0e7bf8d..246b962 100644
--- a/app.js
+++ b/app.js
@@ -1,4 +1,4 @@
-const env = require('dotenv/config')
+require('dotenv').config()
 
 const express = require('express')
 const http = require('http')
@@ -20,18 +20,23 @@
 const JamiRestApi = require('./routes/jami')
 const JamiDaemon = require('./JamiDaemon')
 
-const webpack = require('webpack')
-const webpackConfig = require('./client/webpack.config.js')
-const compiler = webpack(webpackConfig)
-
 //const sessionStore = new RedisStore({ client: redis })
 const sessionStore = new session.MemoryStore()
 
 const app = express()
-app.use(require('webpack-dev-middleware')(compiler, {
-    publicPath: webpackConfig.output.publicPath
-}));
-app.use(require('webpack-hot-middleware')(compiler));
+console.log(`Loading server for ${app.get('env')}`)
+const development = app.get('env') === 'development'
+
+if (development) {
+    const webpack = require('webpack')
+    const webpackConfig = require('./client/webpack.config.js')
+    const compiler = webpack(webpackConfig)
+    app.use(require('webpack-dev-middleware')(compiler, {
+        publicPath: webpackConfig.output.publicPath
+    }));
+    app.use(require('webpack-hot-middleware')(compiler));
+}
+
 /*
     Configuation for Passeport Js
 */
diff --git a/client/webpack.config.js b/client/webpack.config.js
index 841c7d5..eb5c8b9 100644
--- a/client/webpack.config.js
+++ b/client/webpack.config.js
@@ -1,18 +1,32 @@
+'use strict'
 const path = require('path')
+require('dotenv').config({ path: path.resolve(__dirname, '..', '.env') })
 const HtmlWebpackPlugin = require('html-webpack-plugin')
-const webpack = require('webpack')
+const mode = process.env.NODE_ENV || 'development'
+
+let entry = [path.resolve(__dirname, 'src', 'index.js')]
+let plugins = [new HtmlWebpackPlugin({
+    template: path.resolve(__dirname, 'src', 'index.ejs')
+})]
+let devtool = undefined
+
+if (mode === 'development') {
+    const webpack = require('webpack')
+    entry = ['react-hot-loader/patch', 'webpack-hot-middleware/client', ...entry]
+    plugins = [new webpack.HotModuleReplacementPlugin(), ...plugins]
+    devtool = 'inline-source-map'
+}
+console.log(`Webpack configured for ${mode}`)
 
 module.exports = {
-    entry: ['react-hot-loader/patch',
-        'webpack-hot-middleware/client',
-        path.resolve(__dirname, 'src', 'index.js')],
+    entry,
     output: {
         path: path.resolve(__dirname, 'dist'),
         filename: 'bundle.js',
         publicPath: '/'
     },
-    devtool: 'inline-source-map',
-    mode: 'development',
+    devtool,
+    mode,
     module: {
         rules: [
             {
@@ -35,10 +49,5 @@
             }
         ]
     },
-    plugins: [
-        new webpack.HotModuleReplacementPlugin(),
-        new HtmlWebpackPlugin({
-            template: path.resolve(__dirname, 'src', 'index.ejs')
-        })
-    ]
+    plugins
 }
\ No newline at end of file
