diff --git a/src/pages/projects.tsx b/src/pages/projects.tsx
index f4e4aa0..78d27f9 100644
--- a/src/pages/projects.tsx
+++ b/src/pages/projects.tsx
@@ -1,11 +1,71 @@
import {type NextPage} from "next";
import AppWrapper from "../components/AppWrapper";
-import WorkInProgress from "../components/WorkInProgress";
+import {RiMagicLine} from "react-icons/ri";
+import {BiHash, BiNetworkChart} from "react-icons/bi";
+import Link from "next/link";
+import {IconType} from "react-icons";
+import {HiOutlineRss} from "react-icons/hi";
+import {GiPathDistance} from "react-icons/gi";
+import {MdOutlineGrain} from "react-icons/md";
const ProjectsPage: NextPage = () => {
+ const projects: { name: string, description: string, url?: string, icon: IconType }[] = [
+ {
+ name: "Portal",
+ description: "ACM Membership & Event System",
+ url: "https://portal.acmutsa.org",
+ icon: RiMagicLine
+ },
+ {
+ name: "v6 Place",
+ description: "Paint Images with IPv6 Addresses",
+ url: "https://github.com/Xevion/v6-place",
+ icon: BiNetworkChart
+ },
+ {
+ name: "Phototag",
+ description: "Effortlessly Tag Photos",
+ url: "/phototag",
+ icon: BiHash
+ },
+ {
+ name: "Paths",
+ description: "Graph Traversal Algorithms",
+ url: "/paths",
+ icon: GiPathDistance
+ },
+ {
+ name: "v2.xevion.dev",
+ description: "Jekyll-based Blog",
+ url: "https://v2.xevion.dev",
+ icon: HiOutlineRss
+ },
+ {
+ name: "Grain",
+ description: "Pretty SVG-based Noise",
+ url: "https://grain.xevion.dev",
+ icon: MdOutlineGrain
+ }
+ ]
return