
diff --git a/src/components/footer.vue b/src/components/footer.vue
new file mode 100644
index 0000000..2ea6ff4
--- /dev/null
+++ b/src/components/footer.vue
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/internship.vue b/src/components/internship.vue
new file mode 100644
index 0000000..b5eaa09
--- /dev/null
+++ b/src/components/internship.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+ Professional Experience
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.role.split(' ')[0] }}
+ {{ item.role.split(' ')[1] }}
+
+
+ {{ item.description }}
+
+
+
+
+
+
+ Company
+
+
{{ item.company }}
+
+
+
+ Duration
+
+
{{ item.duration }}
+
+
+
+ Key Focus
+
+
+ {{ item.skills[0] }} & {{ item.skills[1] }}
+
+
+
+
+ Outcome
+
+
{{ item.outcome }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/letsBuild.vue b/src/components/letsBuild.vue
new file mode 100644
index 0000000..4ef035e
--- /dev/null
+++ b/src/components/letsBuild.vue
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+ Have a bold idea?
+ Build it with me.
+
+
+
+
+
+
+
+
+
+
+
01
+
+
Tailored Web Design
+
+ Fast, modern, and unique websites that don't just look good, but convert
+ visitors into customers.
+
+
+
+
+
+
02
+
+
Growth Strategy
+
+ Performance-first solutions designed for impact, from portfolio revamps to
+ full-scale SaaS platforms.
+
+
+
+
+
+
+
+
+
+
Current Availability
+
+
Now accepting new projects for Q2 2026.
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/myPhoto.vue b/src/components/myPhoto.vue
index 63dfa10..727ee16 100644
--- a/src/components/myPhoto.vue
+++ b/src/components/myPhoto.vue
@@ -30,7 +30,6 @@ onMounted(() => {
vx: number
vy: number
}> = []
-
const handleMouseMove = (e: MouseEvent) => {
if (!imageContainer.value) return
const rect = imageContainer.value.getBoundingClientRect()
@@ -42,9 +41,10 @@ onMounted(() => {
x: mouseX,
y: mouseY,
size: 40 + Math.random() * 60,
- color: colors[Math.floor(Math.random() * colors.length)],
+ // ADDED THE '!' HERE TO FIX THE ERROR
+ color: colors[Math.floor(Math.random() * colors.length)]!,
opacity: 0.5,
- vx: (Math.random() - 0.5) * 2, // Slow drift
+ vx: (Math.random() - 0.5) * 2,
vy: (Math.random() - 0.5) * 2,
})
if (blobs.length > 25) blobs.shift()
diff --git a/src/components/project.vue b/src/components/project.vue
index 3f484ba..c61c760 100644
--- a/src/components/project.vue
+++ b/src/components/project.vue
@@ -32,72 +32,72 @@ const projects = [
-
+
-
+
-
+
Things I Love
-
+
A digital laboratory of highly-curated experiences built
with performance and aesthetics.
-
+
-
+
// 0{{ index + 1 }}
![]()
-
-
+
{{ project.name }}
{{ project.description }}
@@ -106,7 +106,7 @@ const projects = [
{{ tag }}
@@ -115,16 +115,16 @@ const projects = [
-
-
@@ -149,7 +145,9 @@ const projects = [