diff --git a/docs/03-guides/02-two-pointers.mdx b/docs/guides/(algorithms)/02-two-pointers.mdx
similarity index 69%
rename from docs/03-guides/02-two-pointers.mdx
rename to docs/guides/(algorithms)/02-two-pointers.mdx
index 8f116fe..99c2bdc 100644
--- a/docs/03-guides/02-two-pointers.mdx
+++ b/docs/guides/(algorithms)/02-two-pointers.mdx
@@ -13,8 +13,3 @@ This page is a scaffold. Notes, canonical problems, and template code are not wr
-## Study deck
-
-Drill the essentials — click the deck, then use the arrow keys.
-
-
diff --git a/docs/03-guides/03-prefix-sum.mdx b/docs/guides/(algorithms)/03-prefix-sum.mdx
similarity index 66%
rename from docs/03-guides/03-prefix-sum.mdx
rename to docs/guides/(algorithms)/03-prefix-sum.mdx
index 6083051..a3935e8 100644
--- a/docs/03-guides/03-prefix-sum.mdx
+++ b/docs/guides/(algorithms)/03-prefix-sum.mdx
@@ -7,8 +7,3 @@ description: 'Precomputed cumulative state for O(1) range queries.'
This page is a scaffold. Notes, canonical problems, and template code are not written yet.
:::
-## Study deck
-
-Drill the essentials — click the deck, then use the arrow keys.
-
-
diff --git a/docs/03-guides/04-sliding-window.mdx b/docs/guides/(algorithms)/04-sliding-window.mdx
similarity index 65%
rename from docs/03-guides/04-sliding-window.mdx
rename to docs/guides/(algorithms)/04-sliding-window.mdx
index 298759c..6447fa6 100644
--- a/docs/03-guides/04-sliding-window.mdx
+++ b/docs/guides/(algorithms)/04-sliding-window.mdx
@@ -7,8 +7,4 @@ description: 'Two pointers plus incremental state between them.'
This page is a scaffold. Notes, canonical problems, and template code are not written yet.
:::
-## Study deck
-Drill the essentials — click the deck, then use the arrow keys.
-
-
diff --git a/docs/02-concepts/03-binary-search.mdx b/docs/guides/(algorithms)/05-binary-search.mdx
similarity index 92%
rename from docs/02-concepts/03-binary-search.mdx
rename to docs/guides/(algorithms)/05-binary-search.mdx
index 903714a..c08e233 100644
--- a/docs/02-concepts/03-binary-search.mdx
+++ b/docs/guides/(algorithms)/05-binary-search.mdx
@@ -29,8 +29,4 @@ Random access in this context means that you can access an element at any index
:::
-## Study deck
-Drill the essentials — click the deck, then use the arrow keys.
-
-
diff --git a/docs/02-concepts/01-arrays-and-strings.mdx b/docs/guides/(data-structures)/01-arrays-and-strings.mdx
similarity index 94%
rename from docs/02-concepts/01-arrays-and-strings.mdx
rename to docs/guides/(data-structures)/01-arrays-and-strings.mdx
index 32c14ff..99c7e30 100644
--- a/docs/02-concepts/01-arrays-and-strings.mdx
+++ b/docs/guides/(data-structures)/01-arrays-and-strings.mdx
@@ -63,9 +63,3 @@ Random access in this context means that you can access an element at any index
-
-## Study deck
-
-Drill the essentials — click the deck, then use the arrow keys.
-
-
diff --git a/docs/02-concepts/02-hashing.mdx b/docs/guides/(data-structures)/02-hashing.mdx
similarity index 93%
rename from docs/02-concepts/02-hashing.mdx
rename to docs/guides/(data-structures)/02-hashing.mdx
index 0675002..45716b1 100644
--- a/docs/02-concepts/02-hashing.mdx
+++ b/docs/guides/(data-structures)/02-hashing.mdx
@@ -28,9 +28,3 @@ Appending to the end of a list is amortized O(1) time complexity. This means tha
Random access in this context means that you can access an element at any index in constant time.
:::
-
-## Study deck
-
-Drill the essentials — click the deck, then use the arrow keys.
-
-
diff --git a/docs/reference/01-reverse-string.mdx b/docs/solutions/01-reverse-string.mdx
similarity index 100%
rename from docs/reference/01-reverse-string.mdx
rename to docs/solutions/01-reverse-string.mdx
diff --git a/docs/reference/02-squares-of-a-sorted-array.mdx b/docs/solutions/02-squares-of-a-sorted-array.mdx
similarity index 100%
rename from docs/reference/02-squares-of-a-sorted-array.mdx
rename to docs/solutions/02-squares-of-a-sorted-array.mdx
diff --git a/docs/reference/03-3sum.mdx b/docs/solutions/03-3sum.mdx
similarity index 100%
rename from docs/reference/03-3sum.mdx
rename to docs/solutions/03-3sum.mdx
diff --git a/docs/reference/04-trapping-rain-water.mdx b/docs/solutions/04-trapping-rain-water.mdx
similarity index 100%
rename from docs/reference/04-trapping-rain-water.mdx
rename to docs/solutions/04-trapping-rain-water.mdx
diff --git a/docs/reference/05-group-anagrams.mdx b/docs/solutions/05-group-anagrams.mdx
similarity index 100%
rename from docs/reference/05-group-anagrams.mdx
rename to docs/solutions/05-group-anagrams.mdx
diff --git a/docs/reference/06-valid-palindrome.mdx b/docs/solutions/06-valid-palindrome.mdx
similarity index 100%
rename from docs/reference/06-valid-palindrome.mdx
rename to docs/solutions/06-valid-palindrome.mdx
diff --git a/docs/reference/07-two-sum-ii-input-array-is-sorted.mdx b/docs/solutions/07-two-sum-ii-input-array-is-sorted.mdx
similarity index 100%
rename from docs/reference/07-two-sum-ii-input-array-is-sorted.mdx
rename to docs/solutions/07-two-sum-ii-input-array-is-sorted.mdx
diff --git a/docs/reference/08-rotate-array.mdx b/docs/solutions/08-rotate-array.mdx
similarity index 100%
rename from docs/reference/08-rotate-array.mdx
rename to docs/solutions/08-rotate-array.mdx
diff --git a/docs/reference/09-contains-duplicate.mdx b/docs/solutions/09-contains-duplicate.mdx
similarity index 100%
rename from docs/reference/09-contains-duplicate.mdx
rename to docs/solutions/09-contains-duplicate.mdx
diff --git a/docs/reference/10-product-of-array-except-self.mdx b/docs/solutions/10-product-of-array-except-self.mdx
similarity index 100%
rename from docs/reference/10-product-of-array-except-self.mdx
rename to docs/solutions/10-product-of-array-except-self.mdx
diff --git a/docs/reference/11-valid-anagram.mdx b/docs/solutions/11-valid-anagram.mdx
similarity index 100%
rename from docs/reference/11-valid-anagram.mdx
rename to docs/solutions/11-valid-anagram.mdx
diff --git a/docs/reference/12-missing-number.mdx b/docs/solutions/12-missing-number.mdx
similarity index 100%
rename from docs/reference/12-missing-number.mdx
rename to docs/solutions/12-missing-number.mdx
diff --git a/docs/reference/13-range-sum-query-immutable.mdx b/docs/solutions/13-range-sum-query-immutable.mdx
similarity index 100%
rename from docs/reference/13-range-sum-query-immutable.mdx
rename to docs/solutions/13-range-sum-query-immutable.mdx
diff --git a/docs/reference/14-top-k-frequent-elements.mdx b/docs/solutions/14-top-k-frequent-elements.mdx
similarity index 100%
rename from docs/reference/14-top-k-frequent-elements.mdx
rename to docs/solutions/14-top-k-frequent-elements.mdx
diff --git a/docs/reference/15-first-unique-character-in-a-string.mdx b/docs/solutions/15-first-unique-character-in-a-string.mdx
similarity index 100%
rename from docs/reference/15-first-unique-character-in-a-string.mdx
rename to docs/solutions/15-first-unique-character-in-a-string.mdx
diff --git a/docs/reference/16-sort-characters-by-frequency.mdx b/docs/solutions/16-sort-characters-by-frequency.mdx
similarity index 100%
rename from docs/reference/16-sort-characters-by-frequency.mdx
rename to docs/solutions/16-sort-characters-by-frequency.mdx
diff --git a/docs/reference/17-subarray-sum-equals-k.mdx b/docs/solutions/17-subarray-sum-equals-k.mdx
similarity index 100%
rename from docs/reference/17-subarray-sum-equals-k.mdx
rename to docs/solutions/17-subarray-sum-equals-k.mdx
diff --git a/docs/reference/18-how-many-numbers-are-smaller-than-the-current-number.mdx b/docs/solutions/18-how-many-numbers-are-smaller-than-the-current-number.mdx
similarity index 100%
rename from docs/reference/18-how-many-numbers-are-smaller-than-the-current-number.mdx
rename to docs/solutions/18-how-many-numbers-are-smaller-than-the-current-number.mdx
diff --git a/docs/reference/19-minimum-value-to-get-positive-step-by-step-sum.mdx b/docs/solutions/19-minimum-value-to-get-positive-step-by-step-sum.mdx
similarity index 100%
rename from docs/reference/19-minimum-value-to-get-positive-step-by-step-sum.mdx
rename to docs/solutions/19-minimum-value-to-get-positive-step-by-step-sum.mdx
diff --git a/docs/reference/20-counting-elements.mdx b/docs/solutions/20-counting-elements.mdx
similarity index 100%
rename from docs/reference/20-counting-elements.mdx
rename to docs/solutions/20-counting-elements.mdx
diff --git a/docs/reference/21-running-sum-of-1d-array.mdx b/docs/solutions/21-running-sum-of-1d-array.mdx
similarity index 100%
rename from docs/reference/21-running-sum-of-1d-array.mdx
rename to docs/solutions/21-running-sum-of-1d-array.mdx
diff --git a/docs/reference/22-sort-array-by-increasing-frequency.mdx b/docs/solutions/22-sort-array-by-increasing-frequency.mdx
similarity index 100%
rename from docs/reference/22-sort-array-by-increasing-frequency.mdx
rename to docs/solutions/22-sort-array-by-increasing-frequency.mdx
diff --git a/docs/reference/23-check-if-the-sentence-is-pangram.mdx b/docs/solutions/23-check-if-the-sentence-is-pangram.mdx
similarity index 100%
rename from docs/reference/23-check-if-the-sentence-is-pangram.mdx
rename to docs/solutions/23-check-if-the-sentence-is-pangram.mdx
diff --git a/docs/reference/24-k-radius-subarray-averages.mdx b/docs/solutions/24-k-radius-subarray-averages.mdx
similarity index 100%
rename from docs/reference/24-k-radius-subarray-averages.mdx
rename to docs/solutions/24-k-radius-subarray-averages.mdx