Skip to content

Commit 44de373

Browse files
committed
feat: update website
1 parent a44f1aa commit 44de373

File tree

7 files changed

+2414
-30
lines changed

7 files changed

+2414
-30
lines changed

src/assets/merge-rot.png

1020 KB
Loading

src/react/Contact.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { Button, Center, Heading, Link, VStack, Text, Box, HStack } from "@chakra-ui/react";
1+
import { Box, Button, Center, Heading, HStack, Link, Text, VStack } from "@chakra-ui/react";
2+
import { FiGithub, FiLinkedin, FiMail } from "react-icons/fi";
23
import { useMobile } from "../utils/hooks";
3-
import { FiGithub, FiInstagram, FiLinkedin, FiMail } from "react-icons/fi";
44
import SocialIcon from "./components/SocialIcon";
55

66
const Contact: React.FC = () => {
@@ -35,7 +35,7 @@ const Contact: React.FC = () => {
3535
<HStack gap="1.5em">
3636
<SocialIcon icon={<FiGithub size="1.3em" />} link="https://github.com/victoryqwei" />
3737
<SocialIcon icon={<FiLinkedin size="1.3em" />} link="https://www.linkedin.com/in/victoryqwei/" />
38-
<SocialIcon icon={<FiInstagram size="1.3em" />} link="https://www.instagram.com/victoryqwei/" />
38+
{/* <SocialIcon icon={<FiInstagram size="1.3em" />} link="https://www.instagram.com/victoryqwei/" /> */}
3939
<SocialIcon icon={<FiMail size="1.3em" />} link="mailto:[email protected]" />
4040
</HStack>
4141
)}
@@ -45,7 +45,7 @@ const Contact: React.FC = () => {
4545
brittany
4646
</Link>{" "}
4747
| */}
48-
© 2024 Victor Wei
48+
© 2025 Victor Wei
4949
</Text>
5050
</VStack>
5151
</>

src/react/Featured.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Box, HStack, Heading, Image, Text, VStack } from "@chakra-ui/react";
22
import airflip from "../assets/airflip.png";
3+
import mergeRot from "../assets/merge-rot.png";
34
import miniblox from "../assets/miniblox.png";
45
import quickmark from "../assets/quickmark.png";
56
import { useMobile } from "../utils/hooks";
@@ -12,7 +13,7 @@ interface ProjectData {
1213
description: string;
1314
tools: string[];
1415
links: {
15-
github: string;
16+
github?: string;
1617
devpost?: string;
1718
website: string;
1819
};
@@ -49,6 +50,15 @@ const data: ProjectData = {
4950
website: "https://miniblox.io",
5051
},
5152
},
53+
"Merge Rot": {
54+
image: mergeRot,
55+
description:
56+
"A fun twist on the classic watermelon merge game where players combine quirky items into bizarre, oversized versions. Features multiple themes including italian brainrot, cats, and capybaras.",
57+
tools: ["Typescript", "HTML5 Canvas"],
58+
links: {
59+
website: "https://mergerot.gg",
60+
},
61+
},
5262
AirFlip: {
5363
image: airflip,
5464
description:

src/react/Projects.tsx

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const data: ProjectData = {
3030
image: interplanetarium,
3131
description:
3232
"A multiplayer survival game where a player attempts to survive in space within a little rocket. Shoot down turrets to gain xp and advance to the next stage!",
33-
tools: ["Javascript", "Node.js", "Socket.io"],
33+
tools: ["JS", "Node.js", "Socket.io"],
3434
links: {
3535
github: "https://github.com/victoryqwei/Interplanetarium",
3636
website: "https://space.victorwei.com/server1",
@@ -39,7 +39,7 @@ const data: ProjectData = {
3939
GymLens: {
4040
image: gymlens,
4141
description: "A virtual gym trainer that uses pose detection to track repetitions and provide feedback on proper form.",
42-
tools: ["Javascript", "Angular", "Tensorflow.js"],
42+
tools: ["JS", "Angular", "Tensorflow.js"],
4343
links: {
4444
github: "https://github.com/victoryqwei/GymLens",
4545
devpost: "https://devpost.com/software/gymlens-4qkl8y",
@@ -50,10 +50,10 @@ const data: ProjectData = {
5050
image: core,
5151
description:
5252
"A multiplayer game where the main focus is to protect a Core and fight other players. Collect power to upgrade your base to get stronger.",
53-
tools: ["Javascript", "Node.js", "Socket.io"],
53+
tools: ["JS", "Node.js", "Socket.io"],
5454
links: {
5555
github: "https://github.com/victoryqwei/Core",
56-
website: "https://core.victorwei.com",
56+
// website: "https://core.victorwei.com",
5757
},
5858
},
5959
Knoggin: {
@@ -68,7 +68,7 @@ const data: ProjectData = {
6868
"3D Car Sim": {
6969
image: car3d,
7070
description: "A 3D car simulator that emulates engine, tire, and suspension physics.",
71-
tools: ["Javascript", "Three.js"],
71+
tools: ["JS", "Three.js"],
7272
links: {
7373
github: "https://github.com/victoryqwei/car-3d",
7474
website: "https://old.victorwei.com/featured/car-3d",
@@ -77,7 +77,7 @@ const data: ProjectData = {
7777
"Drift Sim": {
7878
image: driftsim,
7979
description: "A 2D car drifting simulator which features a basic collision resolution system.",
80-
tools: ["Javascript", "HTML5 Canvas"],
80+
tools: ["JS", "HTML5 Canvas"],
8181
links: {
8282
github: "https://github.com/victoryqwei/car-sim",
8383
website: "https://old.victorwei.com/projects/car-sim",
@@ -86,7 +86,7 @@ const data: ProjectData = {
8686
"Cloth Sim": {
8787
description:
8888
"A cloth simulator using verlet integration to simulate cloth physics. Includes adjustable features such as gravity, wind, and cloth stiffness.",
89-
tools: ["Javascript", "HTML5 Canvas"],
89+
tools: ["JS", "HTML5 Canvas"],
9090
links: {
9191
github: "https://github.com/victoryqwei/cloth",
9292
website: "https://old.victorwei.com/projects/cloth",
@@ -101,53 +101,53 @@ const data: ProjectData = {
101101
},
102102
"FlappyBird AI": {
103103
description: "A self-learning neural network that learns to play Flappy Bird using a genetic algorithm.",
104-
tools: ["Javascript", "HTML5 Canvas"],
104+
tools: ["JS", "HTML5 Canvas"],
105105
links: {
106106
github: "https://github.com/victoryqwei/flappybird",
107107
website: "https://old.victorwei.com/projects/flappybird",
108108
},
109109
},
110110
"Snake AI": {
111111
description: "A self-learning neural network that learns to play Snake using a genetic algorithm.",
112-
tools: ["Javascript", "HTML5 Canvas"],
112+
tools: ["JS", "HTML5 Canvas"],
113113
links: {
114114
website: "https://old.victorwei.com/projects/snake",
115115
},
116116
},
117117
"Car AI": {
118118
description: "A neural evolution of augmenting topologies (NEAT) algorithm that trains a car to drive itself through a track.",
119-
tools: ["Javascript", "HTML5 Canvas"],
119+
tools: ["JS", "HTML5 Canvas"],
120120
links: {
121121
github: "https://github.com/victoryqwei/car",
122122
website: "https://old.victorwei.com/projects/car",
123123
},
124124
},
125125
"Metro Game": {
126126
description: "A transit game that simulates the movement of buses and passengers.",
127-
tools: ["Javascript", "HTML5 Canvas"],
127+
tools: ["JS", "HTML5 Canvas"],
128128
links: {
129129
github: "https://github.com/victoryqwei/metro",
130130
website: "https://old.victorwei.com/projects/metro",
131131
},
132132
},
133133
Pool: {
134134
description: "A 2D pool game with basic physics and collision detection.",
135-
tools: ["Javascript", "HTML5 Canvas"],
135+
tools: ["JS", "HTML5 Canvas"],
136136
links: {
137137
github: "https://github.com/victoryqwei/pool",
138138
website: "https://old.victorwei.com/projects/pool",
139139
},
140140
},
141141
"2.5D Shooter": {
142142
description: "A basic shooter game with Wolfenstein 3D style graphics.",
143-
tools: ["Javascript", "HTML5 Canvas"],
143+
tools: ["JS", "HTML5 Canvas"],
144144
links: {
145145
website: "https://old.victorwei.com/projects/ray",
146146
},
147147
},
148148
"2048 Solver": {
149149
description: "Solves 2028 using a look-ahead heuristic algorithm.",
150-
tools: ["Javascript", "HTML5 Canvas"],
150+
tools: ["JS", "HTML5 Canvas"],
151151
links: {
152152
github: "https://github.com/victoryqwei/2048",
153153
website: "https://old.victorwei.com/projects/2048",
@@ -156,14 +156,14 @@ const data: ProjectData = {
156156
"Maze Runner": {
157157
description:
158158
"A game where a player tries to escapes a procedurally generated maze while chased by an enemy. Uses the A* algorithm to track the player.",
159-
tools: ["Javascript", "HTML5 Canvas"],
159+
tools: ["JS", "HTML5 Canvas"],
160160
links: {
161161
github: "https://github.com/victoryqwei/Maze-Runner",
162162
},
163163
},
164164
"Old Website": {
165165
description: "My previous iteration of victorwei.com",
166-
tools: ["Javascript", "Angular", "Node.js"],
166+
tools: ["JS", "Angular", "Node.js"],
167167
links: {
168168
github: "https://github.com/victoryqwei/personal",
169169
website: "https://old.victorwei.com",
@@ -199,13 +199,13 @@ const Projects: React.FC = () => {
199199
cursor: "pointer",
200200
}}
201201
transition="0.3s"
202-
// onClick={(e) => {
203-
// if (data[name].links.website) {
204-
// window.open(data[name].links.website, "_blank");
205-
// } else if (data[name].links.github) {
206-
// window.open(data[name].links.github, "_blank");
207-
// }
208-
// }}
202+
onClick={() => {
203+
if (data[name].links.website) {
204+
window.open(data[name].links.website, "_blank");
205+
} else if (data[name].links.github) {
206+
window.open(data[name].links.github, "_blank");
207+
}
208+
}}
209209
role={!data[name].image || isMobile ? undefined : "group"}>
210210
{data[name].image && (
211211
<Image

src/react/Socials.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Box, VStack } from "@chakra-ui/react";
2-
import { FiGithub, FiInstagram, FiLinkedin, FiMail } from "react-icons/fi";
2+
import { FiGithub, FiLinkedin, FiMail } from "react-icons/fi";
33
import { useMobile } from "../utils/hooks";
44
import SocialIcon from "./components/SocialIcon";
55

@@ -13,7 +13,7 @@ const Socials: React.FC = () => {
1313
<VStack gap="1.5em">
1414
<SocialIcon icon={<FiGithub size="1.3em" />} link="https://github.com/victoryqwei" />
1515
<SocialIcon icon={<FiLinkedin size="1.3em" />} link="https://www.linkedin.com/in/victoryqwei/" />
16-
<SocialIcon icon={<FiInstagram size="1.3em" />} link="https://www.instagram.com/victoryqwei/" />
16+
{/* <SocialIcon icon={<FiInstagram size="1.3em" />} link="https://www.instagram.com/victoryqwei/" /> */}
1717
<SocialIcon icon={<FiMail size="1.3em" />} link="mailto:[email protected]" />
1818
</VStack>
1919
</Box>

src/react/Work.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,21 @@ interface WorkExperienceData {
1212
}
1313

1414
const data: WorkExperienceData = {
15+
Datadog: {
16+
title: "Software Engineering Intern",
17+
date: "May 2025 - Aug 2025",
18+
description: ["Currently working on the DataViz team"],
19+
},
20+
X: {
21+
title: "Software Engineering Intern",
22+
date: "Jan 2025 - Apr 2025",
23+
description: [
24+
"Transitioned serving engine for home recommendations from CPU to GPU inference, reducing request latency by 30%.",
25+
"Improved dashboard query performance by 80% and streamlined automated deployments using Python scripts.",
26+
"Optimized fleet deployment strategies by conducting daily workflow-based load tests and squeeze tests.",
27+
"Converted internal serving engines from Slurm to Kubernetes to enable autoscaling and minimize manual tasks.",
28+
],
29+
},
1530
Fleet: {
1631
title: "Software Engineering Intern",
1732
date: "May 2024 - Aug 2024",

0 commit comments

Comments
 (0)