From 28eea2d035ff978e9a8a55815d54d0ff16473f39 Mon Sep 17 00:00:00 2001 From: BOTAlex Date: Thu, 2 Oct 2025 06:16:50 +0200 Subject: [PATCH] deprecated some old things --- .../zhen/Comps/AboutMe.svelte | 0 .../zhen/Comps/TopNameTextPlate.svelte | 0 .../zhen/Comps/ZhenInformatikTimeline.svelte | 0 .../zhen/Utils/Vector2.ts | 0 .../zhen/cv/CompsRev3/AlexWatermark.svelte | 0 .../zhen/cv/CompsRev3/BiggestFlex.svelte | 0 .../zhen/cv/CompsRev3/BottomRightDecor.svelte | 0 .../zhen/cv/CompsRev3/CombinedContacts.svelte | 0 .../zhen/cv/CompsRev3/Contact.svelte | 0 .../zhen/cv/CompsRev3/Education.svelte | 0 .../zhen/cv/CompsRev3/Experience.svelte | 0 .../zhen/cv/CompsRev3/IconAndText.svelte | 0 .../zhen/cv/CompsRev3/IconAndText2.svelte | 0 .../zhen/cv/CompsRev3/LeftTopDecor.svelte | 0 .../zhen/cv/CompsRev3/LinkToSource.svelte | 0 .../zhen/cv/CompsRev3/LinkedInQR.svelte | 0 .../zhen/cv/CompsRev3/NameAndImage.svelte | 0 .../zhen/cv/CompsRev3/NamePlate.svelte | 0 .../zhen/cv/CompsRev3/OtherContact.svelte | 0 .../zhen/cv/CompsRev3/Profile.svelte | 0 .../zhen/cv/CompsRev3/RepeatedSkills.svelte | 0 .../zhen/cv/CompsRev3/ShortProfile.svelte | 0 .../zhen/cv/CompsRev3/TableOfProjects.svelte | 0 {src/routes => deprecated}/zhen/cv/cv.zip | Bin .../zhen/cv/rev3/+page.svelte | 0 .../zhen/notes/physics/sharedComps/A4.svelte | 0 src/routes/cv/+page.svelte | 322 ++++++++++++++++++ src/routes/cv/comps/AlexWatermark.svelte | 23 ++ src/routes/cv/comps/BiggestFlex.svelte | 25 ++ src/routes/cv/comps/BottomRightDecor.svelte | 53 +++ src/routes/cv/comps/CombinedContacts.svelte | 7 + src/routes/cv/comps/Contact.svelte | 75 ++++ src/routes/cv/comps/Education.svelte | 47 +++ src/routes/cv/comps/Experience.svelte | 78 +++++ src/routes/cv/comps/IconAndText.svelte | 43 +++ src/routes/cv/comps/IconAndText2.svelte | 31 ++ src/routes/cv/comps/LeftTopDecor.svelte | 75 ++++ src/routes/cv/comps/LinkToSource.svelte | 76 +++++ src/routes/cv/comps/LinkedInQR.svelte | 58 ++++ src/routes/cv/comps/NameAndImage.svelte | 26 ++ src/routes/cv/comps/NamePlate.svelte | 21 ++ src/routes/cv/comps/OtherContact.svelte | 70 ++++ src/routes/cv/comps/Profile.svelte | 34 ++ src/routes/cv/comps/RepeatedSkills.svelte | 62 ++++ src/routes/cv/comps/ShortProfile.svelte | 29 ++ src/routes/cv/comps/TableOfProjects.svelte | 88 +++++ 46 files changed, 1243 insertions(+) rename {src/routes => deprecated}/zhen/Comps/AboutMe.svelte (100%) rename {src/routes => deprecated}/zhen/Comps/TopNameTextPlate.svelte (100%) rename {src/routes => deprecated}/zhen/Comps/ZhenInformatikTimeline.svelte (100%) rename {src/routes => deprecated}/zhen/Utils/Vector2.ts (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/AlexWatermark.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/BiggestFlex.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/BottomRightDecor.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/CombinedContacts.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/Contact.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/Education.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/Experience.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/IconAndText.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/IconAndText2.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/LeftTopDecor.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/LinkToSource.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/LinkedInQR.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/NameAndImage.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/NamePlate.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/OtherContact.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/Profile.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/RepeatedSkills.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/ShortProfile.svelte (100%) rename {src/routes => deprecated}/zhen/cv/CompsRev3/TableOfProjects.svelte (100%) rename {src/routes => deprecated}/zhen/cv/cv.zip (100%) rename {src/routes => deprecated}/zhen/cv/rev3/+page.svelte (100%) rename {src/routes => deprecated}/zhen/notes/physics/sharedComps/A4.svelte (100%) create mode 100644 src/routes/cv/+page.svelte create mode 100644 src/routes/cv/comps/AlexWatermark.svelte create mode 100644 src/routes/cv/comps/BiggestFlex.svelte create mode 100644 src/routes/cv/comps/BottomRightDecor.svelte create mode 100644 src/routes/cv/comps/CombinedContacts.svelte create mode 100644 src/routes/cv/comps/Contact.svelte create mode 100644 src/routes/cv/comps/Education.svelte create mode 100644 src/routes/cv/comps/Experience.svelte create mode 100644 src/routes/cv/comps/IconAndText.svelte create mode 100644 src/routes/cv/comps/IconAndText2.svelte create mode 100644 src/routes/cv/comps/LeftTopDecor.svelte create mode 100644 src/routes/cv/comps/LinkToSource.svelte create mode 100644 src/routes/cv/comps/LinkedInQR.svelte create mode 100644 src/routes/cv/comps/NameAndImage.svelte create mode 100644 src/routes/cv/comps/NamePlate.svelte create mode 100644 src/routes/cv/comps/OtherContact.svelte create mode 100644 src/routes/cv/comps/Profile.svelte create mode 100644 src/routes/cv/comps/RepeatedSkills.svelte create mode 100644 src/routes/cv/comps/ShortProfile.svelte create mode 100644 src/routes/cv/comps/TableOfProjects.svelte diff --git a/src/routes/zhen/Comps/AboutMe.svelte b/deprecated/zhen/Comps/AboutMe.svelte similarity index 100% rename from src/routes/zhen/Comps/AboutMe.svelte rename to deprecated/zhen/Comps/AboutMe.svelte diff --git a/src/routes/zhen/Comps/TopNameTextPlate.svelte b/deprecated/zhen/Comps/TopNameTextPlate.svelte similarity index 100% rename from src/routes/zhen/Comps/TopNameTextPlate.svelte rename to deprecated/zhen/Comps/TopNameTextPlate.svelte diff --git a/src/routes/zhen/Comps/ZhenInformatikTimeline.svelte b/deprecated/zhen/Comps/ZhenInformatikTimeline.svelte similarity index 100% rename from src/routes/zhen/Comps/ZhenInformatikTimeline.svelte rename to deprecated/zhen/Comps/ZhenInformatikTimeline.svelte diff --git a/src/routes/zhen/Utils/Vector2.ts b/deprecated/zhen/Utils/Vector2.ts similarity index 100% rename from src/routes/zhen/Utils/Vector2.ts rename to deprecated/zhen/Utils/Vector2.ts diff --git a/src/routes/zhen/cv/CompsRev3/AlexWatermark.svelte b/deprecated/zhen/cv/CompsRev3/AlexWatermark.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/AlexWatermark.svelte rename to deprecated/zhen/cv/CompsRev3/AlexWatermark.svelte diff --git a/src/routes/zhen/cv/CompsRev3/BiggestFlex.svelte b/deprecated/zhen/cv/CompsRev3/BiggestFlex.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/BiggestFlex.svelte rename to deprecated/zhen/cv/CompsRev3/BiggestFlex.svelte diff --git a/src/routes/zhen/cv/CompsRev3/BottomRightDecor.svelte b/deprecated/zhen/cv/CompsRev3/BottomRightDecor.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/BottomRightDecor.svelte rename to deprecated/zhen/cv/CompsRev3/BottomRightDecor.svelte diff --git a/src/routes/zhen/cv/CompsRev3/CombinedContacts.svelte b/deprecated/zhen/cv/CompsRev3/CombinedContacts.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/CombinedContacts.svelte rename to deprecated/zhen/cv/CompsRev3/CombinedContacts.svelte diff --git a/src/routes/zhen/cv/CompsRev3/Contact.svelte b/deprecated/zhen/cv/CompsRev3/Contact.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/Contact.svelte rename to deprecated/zhen/cv/CompsRev3/Contact.svelte diff --git a/src/routes/zhen/cv/CompsRev3/Education.svelte b/deprecated/zhen/cv/CompsRev3/Education.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/Education.svelte rename to deprecated/zhen/cv/CompsRev3/Education.svelte diff --git a/src/routes/zhen/cv/CompsRev3/Experience.svelte b/deprecated/zhen/cv/CompsRev3/Experience.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/Experience.svelte rename to deprecated/zhen/cv/CompsRev3/Experience.svelte diff --git a/src/routes/zhen/cv/CompsRev3/IconAndText.svelte b/deprecated/zhen/cv/CompsRev3/IconAndText.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/IconAndText.svelte rename to deprecated/zhen/cv/CompsRev3/IconAndText.svelte diff --git a/src/routes/zhen/cv/CompsRev3/IconAndText2.svelte b/deprecated/zhen/cv/CompsRev3/IconAndText2.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/IconAndText2.svelte rename to deprecated/zhen/cv/CompsRev3/IconAndText2.svelte diff --git a/src/routes/zhen/cv/CompsRev3/LeftTopDecor.svelte b/deprecated/zhen/cv/CompsRev3/LeftTopDecor.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/LeftTopDecor.svelte rename to deprecated/zhen/cv/CompsRev3/LeftTopDecor.svelte diff --git a/src/routes/zhen/cv/CompsRev3/LinkToSource.svelte b/deprecated/zhen/cv/CompsRev3/LinkToSource.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/LinkToSource.svelte rename to deprecated/zhen/cv/CompsRev3/LinkToSource.svelte diff --git a/src/routes/zhen/cv/CompsRev3/LinkedInQR.svelte b/deprecated/zhen/cv/CompsRev3/LinkedInQR.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/LinkedInQR.svelte rename to deprecated/zhen/cv/CompsRev3/LinkedInQR.svelte diff --git a/src/routes/zhen/cv/CompsRev3/NameAndImage.svelte b/deprecated/zhen/cv/CompsRev3/NameAndImage.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/NameAndImage.svelte rename to deprecated/zhen/cv/CompsRev3/NameAndImage.svelte diff --git a/src/routes/zhen/cv/CompsRev3/NamePlate.svelte b/deprecated/zhen/cv/CompsRev3/NamePlate.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/NamePlate.svelte rename to deprecated/zhen/cv/CompsRev3/NamePlate.svelte diff --git a/src/routes/zhen/cv/CompsRev3/OtherContact.svelte b/deprecated/zhen/cv/CompsRev3/OtherContact.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/OtherContact.svelte rename to deprecated/zhen/cv/CompsRev3/OtherContact.svelte diff --git a/src/routes/zhen/cv/CompsRev3/Profile.svelte b/deprecated/zhen/cv/CompsRev3/Profile.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/Profile.svelte rename to deprecated/zhen/cv/CompsRev3/Profile.svelte diff --git a/src/routes/zhen/cv/CompsRev3/RepeatedSkills.svelte b/deprecated/zhen/cv/CompsRev3/RepeatedSkills.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/RepeatedSkills.svelte rename to deprecated/zhen/cv/CompsRev3/RepeatedSkills.svelte diff --git a/src/routes/zhen/cv/CompsRev3/ShortProfile.svelte b/deprecated/zhen/cv/CompsRev3/ShortProfile.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/ShortProfile.svelte rename to deprecated/zhen/cv/CompsRev3/ShortProfile.svelte diff --git a/src/routes/zhen/cv/CompsRev3/TableOfProjects.svelte b/deprecated/zhen/cv/CompsRev3/TableOfProjects.svelte similarity index 100% rename from src/routes/zhen/cv/CompsRev3/TableOfProjects.svelte rename to deprecated/zhen/cv/CompsRev3/TableOfProjects.svelte diff --git a/src/routes/zhen/cv/cv.zip b/deprecated/zhen/cv/cv.zip similarity index 100% rename from src/routes/zhen/cv/cv.zip rename to deprecated/zhen/cv/cv.zip diff --git a/src/routes/zhen/cv/rev3/+page.svelte b/deprecated/zhen/cv/rev3/+page.svelte similarity index 100% rename from src/routes/zhen/cv/rev3/+page.svelte rename to deprecated/zhen/cv/rev3/+page.svelte diff --git a/src/routes/zhen/notes/physics/sharedComps/A4.svelte b/deprecated/zhen/notes/physics/sharedComps/A4.svelte similarity index 100% rename from src/routes/zhen/notes/physics/sharedComps/A4.svelte rename to deprecated/zhen/notes/physics/sharedComps/A4.svelte diff --git a/src/routes/cv/+page.svelte b/src/routes/cv/+page.svelte new file mode 100644 index 0000000..e1d2289 --- /dev/null +++ b/src/routes/cv/+page.svelte @@ -0,0 +1,322 @@ + + +Zhentao Wei's CV {getFormattedDate()} + + + + + +
+
+ Under here is my CV rev1 for an application made entirely in HTML and CSS. + The page is designed to be saved as PDF. This can be done by pressing
+ P +
+ + +
CTRL
+ , then set scaling to 100% and no margins. Lastly, select save to PDF or print. +
+
+ I have to sadly recommend chrome for this process. Firefox somehow messes with + the quality of the PDF :( +
+
+ +
+
+
+ + +
+
+
+ +
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+
+ + + + + +
+
+
+
+ + diff --git a/src/routes/cv/comps/AlexWatermark.svelte b/src/routes/cv/comps/AlexWatermark.svelte new file mode 100644 index 0000000..1f040f3 --- /dev/null +++ b/src/routes/cv/comps/AlexWatermark.svelte @@ -0,0 +1,23 @@ + + +
+ ALEX +
+ + diff --git a/src/routes/cv/comps/BiggestFlex.svelte b/src/routes/cv/comps/BiggestFlex.svelte new file mode 100644 index 0000000..0fa5cc4 --- /dev/null +++ b/src/routes/cv/comps/BiggestFlex.svelte @@ -0,0 +1,25 @@ +
+
+ + Biggest flex + +

*Gamejams that had competitions.

+
+
+ The deprived devs has won every gamejam, we've participated.
+
+ +
+ + diff --git a/src/routes/cv/comps/BottomRightDecor.svelte b/src/routes/cv/comps/BottomRightDecor.svelte new file mode 100644 index 0000000..d777cf8 --- /dev/null +++ b/src/routes/cv/comps/BottomRightDecor.svelte @@ -0,0 +1,53 @@ + + +
+
+
+
+
+ + + diff --git a/src/routes/cv/comps/CombinedContacts.svelte b/src/routes/cv/comps/CombinedContacts.svelte new file mode 100644 index 0000000..5c1dba2 --- /dev/null +++ b/src/routes/cv/comps/CombinedContacts.svelte @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/src/routes/cv/comps/Contact.svelte b/src/routes/cv/comps/Contact.svelte new file mode 100644 index 0000000..ac17410 --- /dev/null +++ b/src/routes/cv/comps/Contact.svelte @@ -0,0 +1,75 @@ +
+
+ + Contact + +
+
+
+
Email
+
Zhen@deprived.dev
+
+
+
Phone
+
+45 42535723
+
+
+
LinkedIn
+ Zhentao-Wei +
+
+
+ + diff --git a/src/routes/cv/comps/Education.svelte b/src/routes/cv/comps/Education.svelte new file mode 100644 index 0000000..d4d14e0 --- /dev/null +++ b/src/routes/cv/comps/Education.svelte @@ -0,0 +1,47 @@ + + +
+
+ Education +
+
+ + DTU
+

AI and data

+
+ + Next
+

Computer science

+
+ + Master class
+

SAS Programming

+
+ + Emphasys center
+

VR development

+
+
+
+ + + diff --git a/src/routes/cv/comps/Experience.svelte b/src/routes/cv/comps/Experience.svelte new file mode 100644 index 0000000..6dcaf8e --- /dev/null +++ b/src/routes/cv/comps/Experience.svelte @@ -0,0 +1,78 @@ + + +
+
+ Experience +
+
+
+ + Full-stack
+ Yaaumma
+ Feb 2025 - Now +
+
+
+ + Data annotator
+ GrazperAI
+ Jul 2024 - Now +
+
+
+ + 3D printer manager - Volunteer
+ Makerspace - kildevæld Kulturcenter
+ Nov 2023 - Now +
+
+
+ + Machine Learning Engineer - Short term intern
+ Product design department - Epos
+ Apr 2024 - Apr 2024 +
+
+
+ + Assistant - Short term intern
+ Khora Virtual Reality
+ Oct 2020 - Oct 2020 +
+
+
+
+ + diff --git a/src/routes/cv/comps/IconAndText.svelte b/src/routes/cv/comps/IconAndText.svelte new file mode 100644 index 0000000..a8eee3c --- /dev/null +++ b/src/routes/cv/comps/IconAndText.svelte @@ -0,0 +1,43 @@ + + +
+ {imageCaption} +
+ + + +
+
+ + + diff --git a/src/routes/cv/comps/IconAndText2.svelte b/src/routes/cv/comps/IconAndText2.svelte new file mode 100644 index 0000000..1ec697c --- /dev/null +++ b/src/routes/cv/comps/IconAndText2.svelte @@ -0,0 +1,31 @@ + + +
+
+ {imageCaption} +
+
+ + + +
+
+ + + diff --git a/src/routes/cv/comps/LeftTopDecor.svelte b/src/routes/cv/comps/LeftTopDecor.svelte new file mode 100644 index 0000000..72f5d36 --- /dev/null +++ b/src/routes/cv/comps/LeftTopDecor.svelte @@ -0,0 +1,75 @@ + + +
+
+ +
+
+
+
+ +
+
+
+ + diff --git a/src/routes/cv/comps/LinkToSource.svelte b/src/routes/cv/comps/LinkToSource.svelte new file mode 100644 index 0000000..0a29a79 --- /dev/null +++ b/src/routes/cv/comps/LinkToSource.svelte @@ -0,0 +1,76 @@ + + +
+
+
+
+ This CV was made using html, css and SvelteKit logo +
+ Sources: + CV source code + and + My Website +
+
+
+ + diff --git a/src/routes/cv/comps/LinkedInQR.svelte b/src/routes/cv/comps/LinkedInQR.svelte new file mode 100644 index 0000000..0e9d2f8 --- /dev/null +++ b/src/routes/cv/comps/LinkedInQR.svelte @@ -0,0 +1,58 @@ + + +
+
LinkedIn
+
{@html QRCode}
+
+ + diff --git a/src/routes/cv/comps/NameAndImage.svelte b/src/routes/cv/comps/NameAndImage.svelte new file mode 100644 index 0000000..2d4ec7a --- /dev/null +++ b/src/routes/cv/comps/NameAndImage.svelte @@ -0,0 +1,26 @@ + + +
+ +
+ Zhentao Wei + +
+
+ + diff --git a/src/routes/cv/comps/NamePlate.svelte b/src/routes/cv/comps/NamePlate.svelte new file mode 100644 index 0000000..b752996 --- /dev/null +++ b/src/routes/cv/comps/NamePlate.svelte @@ -0,0 +1,21 @@ +
+ + + Zhentao Wei +
+ (He/Him) + +
+ +
+ + diff --git a/src/routes/cv/comps/OtherContact.svelte b/src/routes/cv/comps/OtherContact.svelte new file mode 100644 index 0000000..96bb5d5 --- /dev/null +++ b/src/routes/cv/comps/OtherContact.svelte @@ -0,0 +1,70 @@ +
+
+ + Other + +
+
+
+
Itch.io
+ botalex.itch.io +
+
+
Github
+ @MagicBOTAlex +
+
+
+ + diff --git a/src/routes/cv/comps/Profile.svelte b/src/routes/cv/comps/Profile.svelte new file mode 100644 index 0000000..5677009 --- /dev/null +++ b/src/routes/cv/comps/Profile.svelte @@ -0,0 +1,34 @@ +
+
+ + About me + +
+ I know the languages listed above in the decor! +
+
+ + I love learning on my own. I've placed my education at the bottom of my CV. + This is because everything I've learnt is on my own, and I refuse to give too much credit to my education. + I encurage you to checkout which Open-source projects I've worked on, on my github. +
+
+ Other than my github, I've listed some projectss highlighted below. :) +
+ +
+ + diff --git a/src/routes/cv/comps/RepeatedSkills.svelte b/src/routes/cv/comps/RepeatedSkills.svelte new file mode 100644 index 0000000..acc7e7e --- /dev/null +++ b/src/routes/cv/comps/RepeatedSkills.svelte @@ -0,0 +1,62 @@ + + +
+ {#each { length: targetTextHeight } as _, i} + + {GrabRandomString()} + + {/each} +
+ + \ No newline at end of file diff --git a/src/routes/cv/comps/ShortProfile.svelte b/src/routes/cv/comps/ShortProfile.svelte new file mode 100644 index 0000000..6773bd2 --- /dev/null +++ b/src/routes/cv/comps/ShortProfile.svelte @@ -0,0 +1,29 @@ +
+
+ + Short profile + +
+
+ ◾ Full-stack at Yaaumma
+ ◾ "AI and data" at DTU.
+ ◾ Working at GrazperAI
+ ◾ Volunteer at Kildevæld Makerspace. +
+ +
+ + diff --git a/src/routes/cv/comps/TableOfProjects.svelte b/src/routes/cv/comps/TableOfProjects.svelte new file mode 100644 index 0000000..b2f470d --- /dev/null +++ b/src/routes/cv/comps/TableOfProjects.svelte @@ -0,0 +1,88 @@ +
+
+ + List of big projects + +
+ It is likely I'm working on something new, as you're reading this. +
+ Contact me if you're curious! :D +
+
+
+
+
Computer vision
+
Implimented YoloV1 from scratch. (object detection)
+
+
+
Arduino
+
Built my own claw machine from scratch.
+
+
+
App dev
+
Made an Doulingo'ish app for learning chinese.
+
+
+
Open-source
+
I contribute often to Open-source
+
+
+
PCB designing
+
I am currently designing my own circuit board
+
+
+
+ +