diff --git a/data/skills.json b/data/skills.json
new file mode 100644
index 0000000..743e207
--- /dev/null
+++ b/data/skills.json
@@ -0,0 +1,14 @@
+{
+ "cards": [
+ {
+ "title": "Web Technologies",
+ "skillBars": [
+ {
+ "name": "JavaScript/TypeScript",
+ "icons": ["FileJs", "FileTs"],
+ "pct": 100
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pages/me.tsx b/pages/me.tsx
index 22482ac..2be242f 100644
--- a/pages/me.tsx
+++ b/pages/me.tsx
@@ -1,10 +1,53 @@
import type { NextPage } from "next";
import Layout from "../components/Blog/Layout";
+import * as phosphorIcons from "phosphor-react";
import styles from "../styles/Blog/AboutMe.module.scss";
+import skills from "../data/skills.json";
-const SkillBar: NextPage<{ skill: string, color: string, pct: number }> = ({skill, color, pct}) => {
- return <>>;
+interface Skill {
+ name: string;
+ icons: string[];
+ pct: number;
+}
+
+interface AdditionalSkills {
+ name: string;
+ icon: string;
+}
+
+interface SkillCard {
+ title: string;
+ skillBars: Skill[];
+ additional?: AdditionalSkills[];
+}
+
+
+interface SkillSet {
+ cards: SkillCard[];
+ additional: AdditionalSkills[];
+}
+
+const getIcon = (iconName: string, key?: number) => {
+ const Icon = phosphorIcons[iconName as keyof typeof phosphorIcons] as any;
+ if (!Icon) return null;
+ else return