diff --git a/.gitignore b/.gitignore
index a5ff878ee3f49c1e2b0337ef3a64781d22aff80f..42969e702cabc91d9e3c77c543aae0886e0de637 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,5 +37,8 @@ tags
 
 __pycache__/
 
+# Database
+soitool/Database
+
 # Compiled bytecode of Python source files
 *.pyc
diff --git a/soitool/main_window.py b/soitool/main_window.py
new file mode 100644
index 0000000000000000000000000000000000000000..762ed255714fda7dcf32a3314c9e418051c69c7f
--- /dev/null
+++ b/soitool/main_window.py
@@ -0,0 +1,88 @@
+"""Hovedvinduet."""
+import sys
+import os
+from PySide2.QtWidgets import QTabWidget, QWidget, QMainWindow, \
+    QApplication, QHBoxLayout, QVBoxLayout, QPushButton, QTreeWidget, QLabel
+from PySide2 import QtGui
+
+
+class MainWindow(QMainWindow):
+    """MainWindow, skallet til hele applikasjonen."""
+
+    def __init__(self):
+        super().__init__()
+        self.setGeometry(100, 100, 800, 800)
+        self.setWindowTitle("SOI-tool")
+
+        # flytt ut til egen funksjon, for setup av menubar
+        menu = self.menuBar()
+        file_menu = menu.addMenu("SOI")
+        codebook = menu.addMenu("Kodebok")
+        hjelp = menu.addMenu("Hjelp")
+        # Hadde egentlig help her, men "klagegutten" klagde på det
+
+        file_menu.addAction("Ã…pne")
+        file_menu.addAction("Ã…pne fra DB")
+        file_menu.addAction("Forhåndsvis")
+        file_menu.addAction("Lagre i DB")
+        file_menu.addAction("Eksporter")
+
+        codebook.addAction("Liten Kodebok")
+        codebook.addAction("Stor Kodebok")
+
+        hjelp.addAction("Hurtigtaster")
+        hjelp.addAction("Enkel bruk")
+
+        # Legger til MainWidget som en tab, kanskje flytt ut til egen funksjon
+        tabs = QTabWidget()
+        tab = MainWidget()
+
+        tabs.addTab(tab, "MainTab")
+        self.setCentralWidget(tabs)
+
+        # Add HV logo
+        filename = 'media/HVlogo.PNG'
+        dirname = os.path.dirname(__file__)
+        filepath = os.path.join(dirname, filename)
+        self.setWindowIcon(QtGui.QIcon(filepath))
+
+
+class MainWidget(QWidget):
+    """Hovedwidget til applikasjonen, dette er det som blir tabs."""
+
+    def __init__(self):
+        super().__init__()
+        layout1 = QHBoxLayout()
+        layout2 = QVBoxLayout()
+
+        new_module = QPushButton("Ny modul")
+        tree_view = QTreeWidget()
+        setup = QPushButton("Oppsett")
+        layout2.addWidget(tree_view)
+        layout2.addWidget(new_module)
+        layout2.addWidget(setup)
+
+        view = ViewArea()
+        layout1.addLayout(layout2, 2)
+        layout1.addWidget(view, 8)
+
+        self.setLayout(layout1)
+
+
+class ViewArea(QWidget):
+    """Widget som kan byttes ut med view, edit etc."""
+
+    def __init__(self):
+        super().__init__()
+        test = QLabel("Test")
+        layout = QHBoxLayout()
+        layout.addWidget(test)
+        self.setLayout(layout)
+
+
+app = QApplication([])
+
+WINDOW = MainWindow()  # PYLINT klagde på window, så det ble WINDOW
+WINDOW.show()
+
+sys.exit(app.exec_())
diff --git a/soitool/media/HVlogo.png b/soitool/media/HVlogo.png
new file mode 100644
index 0000000000000000000000000000000000000000..51fcf84a20c11e69e3c7d80c1dd79a959885bdb4
Binary files /dev/null and b/soitool/media/HVlogo.png differ