Josan
Portfolio v22025
An updated portfolio from Portfolio v1 with modernized visuals.
TECH STACK USED: Gatsby, TypeScript, GraphQL
GITHUB
UniSwap2024
A full-stack web application using the MERN tech stack to simulate an online thrift store.
TECH STACK USED: MongoDB, React, Express.js, Node.js
GITHUB
QConnect2024
Gained full experience working on a full-stack application with a team of software engineering engaging in each part of the software development life cycle via the AGILE framework. Using collaboration and iterative development, we ensured effective communication and adaptability throughout each sprint, enabling our team of four to respond dynamically to meet each sprint needs and moditifications. I prototyped visually appealing interfaces using Figma and brought them to life by implementing the designs with React, creating an interactive and user-friendly front-end. On the back-end, I developed a robust Node.js server with RESTful API integration, ensuring seamless functionality across all endpoints. To streamline the development process, I configured a CI/CD pipeline using Render, MongoDB, and GitHub, which allowed for efficient deployment and testing. This hands-on experience in end-to-end application development culminated the creation of a fully functional community web application that demonstrates both scalability and practical efficacy.
TECH STACK USED: MongoDB, React, Express.js, Node.js
GITHUB
Portfolio v12024
A lightweight portfolio to demonstrate some of my projects in more detail and function as an archive.
TECH STACK USED: HTML, CSS, JS
GITHUB
Secure Peer-to-Peer Messaging2024
Utilized primitive cryptographic features from the pyca/cryptography library for python to implement a secure environment where clients are able to authenticate to a server and via this authentication, the clients are able to securely message other authenticated users.
TECH STACK USED: Python, Cryptography, Socket
GITHUB
Canvas Clone2024
Used the MERN tech stack to create a full stack project that created a clone of popular education platform. Learned to use states to keep the application handle importants states throughout the web app through React and Redux. User account creation and session handling was done via ExpressJS.
TECH STACK USED: MongoDB, React, Express.js, Node.js
GITHUB
Chatroom + Packet Sniffer2023
Part I: As it was my first time socket programming, there was a lot of learning to do such as learning what IP addresses, ports, and how data were handled at each node. It was great to see real world application of programming concepts I had learned in class bring to life a chatroom, via a ‘server’ and ‘clients’. I used Java’s interfaces, abstractions, and enums. I was able to easily create an interface with modularity in mind for scalability and rigidity to handle different types of encryptions and their respective operations where appropriate. A flaw introduced in this project was the key that was used to encrypt and decrypt messages among the clients in the network. This meant that with a packet sniffer it would be easy to simply intercept the key and use it to gain unauthorized access to the messages between clients in the network. This is exactly what will be investigated in Part II. Part II: An existing packet capture library called Jpcap was already available in Java. Therefore, I used this library in the chatroom I created in Part I by configuring it through a pom.xml file and Maven. I learned to look through the Jpcap documentation to find relevant functions to intercept messages sent through plain text in the network. After extending the program a bit more, the Initial Vector and Decryption Key could also be intercepted in the network as I knew the implementation of the chatroom system. Further filtering and conversions in the data stream had to be made to make the program run smoothly.
TECH STACK USED: Java
GITHUB
Distributed Key-Value Store2023
A key-value pair data storage that was resilient against network failures that kept logs up-to-date and in order. The underlying protocol to handle this replication was the RAFT protocol by Diego Ongaro and John Ousterhout.
TECH STACK USED: Python
GITHUB
HedgeFollow Sweeper2023
Developed a web scraper for hedgefollow.com using Python, leveraging BeautifulSoup, Selenium, requests, regular expressions, and CSS selectors. The scraper extracted data from the past 24 hours and stored it in JSON format for further analysis. This data was used to identify the greatest stock changes and percentage shifts among insiders. Using the Twitter API and cron jobs, I automated tweets to report the insiders with the largest portfolio movements in terms of magnitude and percentage when compared to all other insiders for the given time period. I also handled various edge cases as the project progressed, such as for instance, modifying the cron job to prevent it from running on weekends and ensuring smooth functionality throughout the project.
TECH STACK USED: Python, Cron
GITHUB
Image Processor2022
Developed a robust Java CLI program with modular classes that was able to process images into various different filters. Such as mosaic filter, and black-and-white. After completing the underlying CLI program, used the JavaFX library to for a GUI that displayed the RGB components along with histograms to for each image that was processed.
TECH STACK USED: Java
GITHUB
Smash Bro Game2021
A 2d platformer that had multiple playable characters in a smash bros-like game. With Unity handled smooth animation and various components of the game details: such as healthbars, the graphics attached to each object. How projectiles would animate out from the characters, melee attacks, and the networking part of Unity with Photon Networking.
TECH STACK USED: Unity, C#
GITHUB