diff --git a/src/routes/(app)/notes/+layout.svelte b/src/routes/(app)/notes/+layout.svelte
new file mode 100644
index 0000000..5f43fd8
--- /dev/null
+++ b/src/routes/(app)/notes/+layout.svelte
@@ -0,0 +1,10 @@
+
+
+{@render children()}
diff --git a/src/routes/(app)/notes/+page.svelte b/src/routes/(app)/notes/+page.svelte
new file mode 100644
index 0000000..a6a1c10
--- /dev/null
+++ b/src/routes/(app)/notes/+page.svelte
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
Notes
+
Capture your thoughts with markdown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (currentFilter = v as any)}>
+
+
+ All
+ {#if !searchQuery}
+
+ ({noteService.activeNotes.length})
+
+ {/if}
+
+
+ Pinned
+ {#if !searchQuery}
+
+ ({noteService.pinnedNotes.length})
+
+ {/if}
+
+
+ Archived
+ {#if !searchQuery}
+
+ ({noteService.archivedNotes.length})
+
+ {/if}
+
+
+ Trash
+ {#if !searchQuery}
+
+ ({noteService.trashedNotes.length})
+
+ {/if}
+
+
+
+
+
+
+
openNote(note.id)}
+ />
+
diff --git a/src/routes/(app)/notes/NoteActionMenu.svelte b/src/routes/(app)/notes/NoteActionMenu.svelte
new file mode 100644
index 0000000..023882a
--- /dev/null
+++ b/src/routes/(app)/notes/NoteActionMenu.svelte
@@ -0,0 +1,135 @@
+
+
+
+
+
{emptyMessage}
+
+ {#if emptyMessage === 'No notes found'}
+ Create your first note to get started.
+ {:else}
+ {emptyMessage}
+ {/if}
+
+
+{:else}
+
+
+
+
+
+
+ {#if tags.length > 0}
+
+ {#each tags as tag (tag)}
+
+ {tag}
+
+
+ {/each}
+
+ {/if}
+
diff --git a/src/routes/(app)/notes/[id]/+page.svelte b/src/routes/(app)/notes/[id]/+page.svelte
new file mode 100644
index 0000000..1a25b88
--- /dev/null
+++ b/src/routes/(app)/notes/[id]/+page.svelte
@@ -0,0 +1,122 @@
+
+
+{#if note}
+