diff --git a/src/src/components/404/glitched-text.tsx b/src/src/components/404/glitched-text.tsx
index bd0ef07..4c6933b 100644
--- a/src/src/components/404/glitched-text.tsx
+++ b/src/src/components/404/glitched-text.tsx
@@ -1,4 +1,4 @@
-import React, { useState, useEffect } from "react";
+import { useState, useEffect } from "react";
const GlitchText = () => {
const originalText = 'Error 404';
diff --git a/src/src/components/about/intro.tsx b/src/src/components/about/intro.tsx
index 3eaff7f..9f373dc 100644
--- a/src/src/components/about/intro.tsx
+++ b/src/src/components/about/intro.tsx
@@ -1,5 +1,5 @@
-import React, { useEffect, useRef, useState } from "react";
-import { ChevronDownIcon } from "@/components/icons";
+import { useEffect, useRef, useState } from "react";
+import { ChevronDown } from "lucide-react";
export default function Intro() {
const [visible, setVisible] = useState(false);
@@ -97,7 +97,7 @@ export default function Intro() {
className="text-foreground/50 hover:text-yellow-bright transition-colors duration-300"
aria-label="Scroll to next section"
>
-
+
diff --git a/src/src/components/about/stats-activity.tsx b/src/src/components/about/stats-activity.tsx
index 01f265b..165a3a1 100644
--- a/src/src/components/about/stats-activity.tsx
+++ b/src/src/components/about/stats-activity.tsx
@@ -1,4 +1,3 @@
-import React from "react";
interface ActivityDay {
grand_total: { total_seconds: number };
diff --git a/src/src/components/animate-in.tsx b/src/src/components/animate-in.tsx
index b2208da..3e9f01f 100644
--- a/src/src/components/animate-in.tsx
+++ b/src/src/components/animate-in.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useRef, useState } from "react";
+import { useEffect, useRef, useState } from "react";
interface AnimateInProps {
children: React.ReactNode;
diff --git a/src/src/components/background/engines/shuffle.ts b/src/src/components/background/engines/shuffle.ts
index aff60a0..fcae949 100644
--- a/src/src/components/background/engines/shuffle.ts
+++ b/src/src/components/background/engines/shuffle.ts
@@ -1,9 +1,9 @@
import type { AnimationEngine } from "@/lib/animations/types";
-import { GameOfLifeEngine } from "./game-of-life";
-import { LavaLampEngine } from "./lava-lamp";
-import { ConfettiEngine } from "./confetti";
-import { AsciiquariumEngine } from "./asciiquarium";
-import { PipesEngine } from "./pipes";
+import { GameOfLifeEngine } from "@/components/background/engines/game-of-life";
+import { LavaLampEngine } from "@/components/background/engines/lava-lamp";
+import { ConfettiEngine } from "@/components/background/engines/confetti";
+import { AsciiquariumEngine } from "@/components/background/engines/asciiquarium";
+import { PipesEngine } from "@/components/background/engines/pipes";
type ChildId = "game-of-life" | "lava-lamp" | "confetti" | "asciiquarium" | "pipes";
diff --git a/src/src/components/background/index.tsx b/src/src/components/background/index.tsx
index c3f8287..b250ff1 100644
--- a/src/src/components/background/index.tsx
+++ b/src/src/components/background/index.tsx
@@ -1,10 +1,10 @@
import { useEffect, useRef } from "react";
-import { GameOfLifeEngine } from "./engines/game-of-life";
-import { LavaLampEngine } from "./engines/lava-lamp";
-import { ConfettiEngine } from "./engines/confetti";
-import { AsciiquariumEngine } from "./engines/asciiquarium";
-import { PipesEngine } from "./engines/pipes";
-import { ShuffleEngine } from "./engines/shuffle";
+import { GameOfLifeEngine } from "@/components/background/engines/game-of-life";
+import { LavaLampEngine } from "@/components/background/engines/lava-lamp";
+import { ConfettiEngine } from "@/components/background/engines/confetti";
+import { AsciiquariumEngine } from "@/components/background/engines/asciiquarium";
+import { PipesEngine } from "@/components/background/engines/pipes";
+import { ShuffleEngine } from "@/components/background/engines/shuffle";
import { getStoredAnimationId } from "@/lib/animations/engine";
import type { AnimationEngine } from "@/lib/animations/types";
import type { AnimationId } from "@/lib/animations";
diff --git a/src/src/components/blog/header.tsx b/src/src/components/blog/header.tsx
index f0af492..7a342b7 100644
--- a/src/src/components/blog/header.tsx
+++ b/src/src/components/blog/header.tsx
@@ -1,4 +1,3 @@
-import React from "react";
import { RssIcon, TagIcon, TrendingUpIcon } from "lucide-react";
import { AnimateIn } from "@/components/animate-in";
diff --git a/src/src/components/blog/post-list.tsx b/src/src/components/blog/post-list.tsx
index 8c6e5f1..5adfcba 100644
--- a/src/src/components/blog/post-list.tsx
+++ b/src/src/components/blog/post-list.tsx
@@ -1,4 +1,3 @@
-import React from "react";
import { AnimateIn } from "@/components/animate-in";
type BlogPost = {
diff --git a/src/src/components/footer/index.tsx b/src/src/components/footer/index.tsx
index a57d068..59da59c 100644
--- a/src/src/components/footer/index.tsx
+++ b/src/src/components/footer/index.tsx
@@ -1,4 +1,3 @@
-import React from "react";
import { Links } from "@/components/footer/links";
export default function Footer({ fixed = false }) {
diff --git a/src/src/components/header/index.tsx b/src/src/components/header/index.tsx
index 32dde6b..7851da9 100644
--- a/src/src/components/header/index.tsx
+++ b/src/src/components/header/index.tsx
@@ -1,4 +1,4 @@
-import React, { useState, useEffect } from "react";
+import { useState, useEffect, useRef } from "react";
import { Links } from "@/components/header/links";
export default function Header({ transparent = false }: { transparent?: boolean }) {
diff --git a/src/src/components/hero/index.tsx b/src/src/components/hero/index.tsx
index bb6ad69..cbce879 100644
--- a/src/src/components/hero/index.tsx
+++ b/src/src/components/hero/index.tsx
@@ -1,4 +1,3 @@
-import React from "react";
import Typewriter from "typewriter-effect";
const html = (strings: TemplateStringsArray, ...values: any[]) => {
diff --git a/src/src/components/icons/chevron-down.tsx b/src/src/components/icons/chevron-down.tsx
deleted file mode 100644
index b00c0d5..0000000
--- a/src/src/components/icons/chevron-down.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import React from "react";
-
-import { ChevronDown } from "lucide-react";
-
-export const ChevronDownIcon = (props: React.ComponentProps) => {
- return ;
-};
diff --git a/src/src/components/icons/index.ts b/src/src/components/icons/index.ts
deleted file mode 100644
index df3870e..0000000
--- a/src/src/components/icons/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { ChevronDownIcon } from "@/components/icons/chevron-down";
diff --git a/src/src/components/projects/project-list.tsx b/src/src/components/projects/project-list.tsx
index e6c02fe..caf0717 100644
--- a/src/src/components/projects/project-list.tsx
+++ b/src/src/components/projects/project-list.tsx
@@ -1,4 +1,3 @@
-import React from "react";
import type { CollectionEntry } from "astro:content";
import { AnimateIn } from "@/components/animate-in";
diff --git a/src/src/layouts/index.astro b/src/src/layouts/index.astro
index ccadd62..42e1b8e 100644
--- a/src/src/layouts/index.astro
+++ b/src/src/layouts/index.astro
@@ -1,6 +1,4 @@
---
-const { content } = Astro.props;
-
import "@/style/globals.css";
import { ClientRouter } from "astro:transitions";
diff --git a/src/src/lib/animations/engine.ts b/src/src/lib/animations/engine.ts
index 918f432..0dd0ca8 100644
--- a/src/src/lib/animations/engine.ts
+++ b/src/src/lib/animations/engine.ts
@@ -1,5 +1,5 @@
-import { ANIMATION_IDS, DEFAULT_ANIMATION_ID } from "./index";
-import type { AnimationId } from "./index";
+import { ANIMATION_IDS, DEFAULT_ANIMATION_ID } from "@/lib/animations";
+import type { AnimationId } from "@/lib/animations";
export function getStoredAnimationId(): AnimationId {
if (typeof window === "undefined") return DEFAULT_ANIMATION_ID;
diff --git a/src/src/lib/animations/loader.ts b/src/src/lib/animations/loader.ts
index 38fcfdc..f2378f2 100644
--- a/src/src/lib/animations/loader.ts
+++ b/src/src/lib/animations/loader.ts
@@ -1,4 +1,4 @@
-import { ANIMATION_IDS, DEFAULT_ANIMATION_ID } from "./index";
+import { ANIMATION_IDS, DEFAULT_ANIMATION_ID } from "@/lib/animations";
const VALID_IDS = JSON.stringify(ANIMATION_IDS);
diff --git a/src/src/lib/getPostData.ts b/src/src/lib/getPostData.ts
deleted file mode 100644
index af13a1e..0000000
--- a/src/src/lib/getPostData.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import readingTime from "reading-time";
-
-type Post = {
- title: string
- file: string
- rawContent: () => string
-}
-
-export default function getPostData(post: Post) {
- return {
- slug: post.file.split('/').pop().split('.').shift(),
- readingTime: readingTime(post.rawContent()).text,
- }
-}
diff --git a/src/src/lib/themes/engine.ts b/src/src/lib/themes/engine.ts
index 6cf5fb2..deaadb3 100644
--- a/src/src/lib/themes/engine.ts
+++ b/src/src/lib/themes/engine.ts
@@ -1,6 +1,6 @@
-import { THEMES, DEFAULT_THEME_ID } from "./index";
-import { CSS_PROPS } from "./props";
-import type { Theme } from "./types";
+import { THEMES, DEFAULT_THEME_ID } from "@/lib/themes";
+import { CSS_PROPS } from "@/lib/themes/props";
+import type { Theme } from "@/lib/themes/types";
export function getStoredThemeId(): string {
if (typeof window === "undefined") return DEFAULT_THEME_ID;
diff --git a/src/src/lib/themes/loader.ts b/src/src/lib/themes/loader.ts
index 9b02159..d039059 100644
--- a/src/src/lib/themes/loader.ts
+++ b/src/src/lib/themes/loader.ts
@@ -3,8 +3,8 @@
* Called at build time in Astro frontmatter.
* The script reads "theme" from localStorage, looks up colors, injects a