diff --git a/main.py b/main.py
index 9a382cb1095872866b9f090b835b9ce4b9670500..a48ad245a4674aa1290d36ae708291e071be7746 100644
--- a/main.py
+++ b/main.py
@@ -19,10 +19,13 @@ app = Flask(__name__)
 
 
 module_config = {}
+widget_sequence = []
+pattern_sequence = []
 
-# Load defaults
 def load_module_config():
     global module_config
+
+    # Load defaults
     module_defaults = json.load(open("module_defaults.json"))
     module_config = {}
     for module_name, module_conf in module_defaults.items():
@@ -48,6 +51,19 @@ def save_module_config():
     with open("module_config.json", "w") as f:
         json.dump(module_config, f, indent=4)
 
+def load_sequences():
+    global widget_sequence, pattern_sequence
+    with open("sequence_default.json") as f:
+        seq = json.load(f)
+        widget_sequence = seq.get("widgets", [])
+        pattern_sequence = seq.get("patterns", [])
+
+    if os.path.exists("sequence_config.json"):
+        with open("sequence_config.json") as f:
+            seq = json.load(f)
+            widget_sequence = seq.get("widgets", widget_sequence)
+            pattern_sequence = seq.get("patterns", pattern_sequence)
+
 mainthread_queue = queue.Queue()
 display_queue = queue.Queue()
 led_queue = queue.Queue()