diff --git a/apps/web/package.json b/apps/web/package.json
index b7a8130ddecd7d970d4991929182f7b49435e6fa..6965aea919687607b7c2c966e6533da5535d279a 100755
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -46,6 +46,7 @@
 		"paneforge": "0.0.5",
 		"prismjs": "1.29.0",
 		"svelte-codemirror-editor": "1.4.0",
+		"svelte-persisted-store": "0.11.0",
 		"svelte-radix": "1.1.0",
 		"svelte-sonner": "0.3.22",
 		"tailwind-merge": "2.3.0",
diff --git a/apps/web/src/lib/stores/store.ts b/apps/web/src/lib/stores/store.ts
index 8773fdd409549a072891f050d9ca308c44e5262e..2989943d63b4b9d8a145b6f2c28f13014928eb57 100644
--- a/apps/web/src/lib/stores/store.ts
+++ b/apps/web/src/lib/stores/store.ts
@@ -1,7 +1,8 @@
 import { writable } from 'svelte/store';
 import type { Registers } from './types';
+import { persisted } from 'svelte-persisted-store';
 
-export const code = writable('');
+export const code = persisted('code', '');
 export const logs = writable('');
 export const io = writable('');
 
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 31b8cb6c8a51e0b0aa0ea99fe58bbc06b55ef54d..fb5ffe01fd28f368edc53f5571f61b2d3c6be74f 100755
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -71,6 +71,9 @@ importers:
       svelte-codemirror-editor:
         specifier: 1.4.0
         version: 1.4.0(codemirror@6.0.1)(svelte@5.0.0-next.166)
+      svelte-persisted-store:
+        specifier: 0.11.0
+        version: 0.11.0(svelte@5.0.0-next.166)
       svelte-radix:
         specifier: 1.1.0
         version: 1.1.0(svelte@5.0.0-next.166)
@@ -5121,6 +5124,15 @@ packages:
     dependencies:
       svelte: 5.0.0-next.166
 
+  /svelte-persisted-store@0.11.0(svelte@5.0.0-next.166):
+    resolution: {integrity: sha512-9RgJ5DrawGyyfK22A80cfu8Jose3CV8YjEZKz9Tn94rQ0tWyEmYr+XI+wrVF6wjRbW99JMDSVcFRiM3XzVJj/w==}
+    engines: {node: '>=0.14'}
+    peerDependencies:
+      svelte: ^3.48.0 || ^4.0.0 || ^5.0.0-next.0
+    dependencies:
+      svelte: 5.0.0-next.166
+    dev: false
+
   /svelte-preprocess@5.1.4(postcss-load-config@5.1.0)(postcss@8.4.38)(svelte@5.0.0-next.166)(typescript@5.3.3):
     resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==}
     engines: {node: '>= 16.0.0'}