Projects

Projects


My GitHub contributions
pngpeg
Summer 2023

Developed a command line tool to convert PNG images into JPEG/JFIF images using Rust. Implemented a DEFLATE decompressor, discrete cosine transform, and multiple types of Huffman coding schemes from scratch. Worked extensively with bitstreams and bytestreams.

puffpastry
Summer 2023

puffpastry is a machine learning framework that I wrote from scratch in pure rust using as few crates as I could. It mimics the style of the popular python library keras. My motivation for creating this project was simply to explore the Rust trait system and make my knowledge about machine learning more concrete.

By doing so, I encountered many issues that I otherwise would never have thought about: preventing values from exploding by using effective weight initialization, handling N-dimensional structures in a static langauge, writing a backpropogation algorithm that works with multiple types of layers, and more like these.

Example code to create a model that can learn the XOR gate:

Example Code

twitch chat clone
Summer 2023

I was interested in Rust and wanted to learn how to work without the backend library, Axum. At the same time, I also wanted to learn about frontend development, specifically SvelteKit. I combined both these interests into a single project, a copy of the Twitch chat.

I learned about WebSockets and other forms of client-server communication methods like SSE (Server Side Events). I also learned about multithreaded data handling by exploring structures like Mutex(es?) and tokio.