diff --git a/apps/docs/content/(01-linear-structures)/stack/index.mdx b/apps/docs/content/(01-linear-structures)/stack/index.mdx
index 2b58b86..f77b9f9 100644
--- a/apps/docs/content/(01-linear-structures)/stack/index.mdx
+++ b/apps/docs/content/(01-linear-structures)/stack/index.mdx
@@ -3,3 +3,60 @@ title: Stack
description: 'Items are added and removed from one end, so the last item added is the first item removed.'
hidden: true
---
+
+A stack works like a stack of plates in a cafeteria. You add new plates on top. When you need a plate, you take from the top. The last plate you added is the first one you remove.
+
+This is **Last-In-First-Out (LIFO)**. The most recent item goes out first.
+
+
+
+## Core Stack Operations
+
+A stack has two fundamental operations:
+
+- **Push**: add an item to the top of the stack
+- **Pop**: remove the item at the top of the stack
+
+Some stacks have additional operations:
+
+- **Peek**: get the item at the top of the stack without removing it
+- **IsEmpty**: check if the stack is empty
+
+
+
+```python
+# Using Python list as a stack
+stack = []
+
+# Push elements
+stack.append(10)
+stack.append(20)
+stack.append(30)
+# Stack: [10, 20, 30] (30 is on top)
+
+# Pop element
+top = stack.pop() # Returns 30
+# Stack: [10, 20]
+
+# Peek at top
+if stack:
+ top_element = stack[-1] # Returns 20 without removing
+```
+
+Python lists provide `append()` for pushing and `pop()` for popping. The `peek()` method is not built-in, but you can implement it yourself.
+
+## Last in, First out
+
+The defining characteristic of a stack is LIFO order. Whatever you put in last comes out first. This is different from a queue, which is First-In-First-Out (FIFO).
+
+Add items: A, B, C
+
+- Stack: [A, B, C] (C on top)
+
+Remove items:
+
+- First pop: C
+- Second pop: B
+- Third pop: A
+
+The order reverses. Items come out in the opposite order they went in.
diff --git a/apps/docs/public/stack-operations-sequence.svg b/apps/docs/public/stack-operations-sequence.svg
new file mode 100644
index 0000000..af82b4f
--- /dev/null
+++ b/apps/docs/public/stack-operations-sequence.svg
@@ -0,0 +1,77 @@
+
+
+
\ No newline at end of file
diff --git a/apps/docs/public/stack-plates-metaphor.svg b/apps/docs/public/stack-plates-metaphor.svg
new file mode 100644
index 0000000..fcbfac3
--- /dev/null
+++ b/apps/docs/public/stack-plates-metaphor.svg
@@ -0,0 +1,62 @@
+
+
+
\ No newline at end of file