diff --git a/notify.html b/notify.html
new file mode 100644
index 00000000..6dd8af4e
--- /dev/null
+++ b/notify.html
@@ -0,0 +1,5 @@
+
diff --git a/notify.js b/notify.js
new file mode 100644
index 00000000..ecd97d67
--- /dev/null
+++ b/notify.js
@@ -0,0 +1,29 @@
+const { app, BrowserWindow } = require('electron');
+const isDev = require('electron-is-dev');
+const { resolve } = require('path');
+
+let win;
+
+// the hack of all hacks
+// electron doesn't have a built in notification thing,
+// so we launch a window on which we can use the
+// HTML5 `Notification` API :'(
+
+app.on('ready', () => {
+ const win_ = new BrowserWindow({
+ show: false
+ });
+ const url = 'file://' + resolve(
+ isDev ? __dirname : app.getAppPath(),
+ 'notify.html'
+ );
+ win_.loadURL(url);
+ win = win_;
+});
+
+module.exports = function notify (title, body) {
+ if (win) {
+ win.webContents.send('notification', { title, body });
+ }
+ // TODO: buffer ?
+};