Projects
Project will grow as I complete more leetcode problems.
DSA Practice
A website that has all the leetcode problems I've completed. As well as finding alternatives to the problem for more practice.

- Uses @monaco-editor that executes javascript code using the vm2 dependency
- Can run against 3 test cases leetcode gave for the given problem
- Can run against 50 tests total. 3 are from leetcode, 47 are chatgpt generated based on the problem, code, and the 3 tests given.
- Answers to leetcode questions I have done
- Some problem have more than one answer as I have looked more into alternatives to the same problem to further study how it's done and why it's more/less efficient.
- Tests will be read from either a JSON file or redis; Tests will be read from file if nothing was pulled from Redis, which will return with Redis being populated from file.
Invoice Generator
Invoice Fly clone, fully functional
Invoice Fly website
- Login/Register
- JWT Authentication
- Invoice and Estimate creation (option to edit after created)
- Client creation (option to edit after created)
- Service Items creation (option to edit after created)
- Pdf generation using QuestPDF in backend and stored in cloud with azure blob storage (option to edit after created)
- Email service - When the quote is sent to the clients email, attached is the PDF as well as a link to a react website to view the quote. Only estimate require clients to "Approve" or "Decline" the quote.
Multiplayer Chess Game
Play random players by entering room name or against a bot using socket.io
Shown in the video demo.

- Create/Join rooms with an alias
- Chat with the opponent via chat box
- Play against a bot that picks valid moves at random
- See what moves were made in the Chess Moves section
Social Networking
Can Register with random user info.
Shown in the video demo.

- Create Posts
- Comment on a post
- Reply to a comment/reply
- Like any post/comment/reply
- Upload Images
- Add/Delete Friends
- Personal Profile Page
- Login/Register
Sorting Algorithm Visualizer

- Sort a data set of 150 numbers ranging from 5-300
- Select different sorting algorithm types
- Change sorting speed
- Watch the data set sort in real time
Chess Game

- Select your chess set before the game starts
- Chess piece moves are validated
- Watch out for the sound with each move and when taking another chess piece
- Game will reset when the King is taken
About Me
This sounds cliché, but my journey started when I first printed "Hello, World!" to a screen. I'm someone
who is obsessed with anything that is endlessly progressive. Whether in video games, sports, or real life,
if there is a way to progress without limit, I'm game. When I watched "Hello World!" print on my screen, I imagined a
virtually limitless world, that was when I knew this profession is for me.
My hobbies include coding, gaming, working out, and thinking about project ideas that never start.
I tinker with robotics, Arduino in particular, as I also see a limitless journey in the world of robotics.
Social Networking
Why this project?
To prepare myself for the upcoming school term.
Why the tech stack?
In my upcoming school term, we were going to use this stack.
Challenge:
Since every language was new to me, it was learning all of them individually and also how they work together. After playing with each language, they all became one of my favourite for its use (React:Front-end, Node.js:Backend)
What I would add:
Socket.io, so the users can message/chat with other users.