Index: flowtimer/Schedule.py
===================================================================
--- flowtimer/Schedule.py	(revision 0ec1bff219bae794274103a11c0e6745949d1875)
+++ flowtimer/Schedule.py	(revision 24dd24652a9c87dc23c0888634eed6258d15a72d)
@@ -71,5 +71,20 @@
 
     def to_json(self):
-        return json.dumps(self.__dict__)
+        def serialize_block(block):
+            if not block.is_sequence:
+                return {"type": "Phase", "title": block.title, "initial_ticks": block.initial_ticks}
+            if block.is_sequence:
+                return {
+                    "type": "Sequence",
+                    "title": block.title,
+                    "sequence": [serialize_block(phase) for phase in block.sequence],
+                    "initial_repetitions": block.initial_repetitions
+                }
+            raise TypeError(f"Unknown block type: {type(block)}")
+
+        return json.dumps({
+            "title": self.title,
+            "blocks": [serialize_block(block) for block in self.blocks]
+        })
 
     def start(self):
@@ -108,6 +123,4 @@
                 self.current_block = self.upcoming_blocks()[0]
             return
-
-        print("Jump to next block")
         index = self.blocks.index(self.current_block)
         self.current_block = self.blocks[index+1]
