### Programming Portfolio

Outdoorly: a startup that provides a prosales platform for outdoor gear. I built much of the merchant dashboard which gives admin users the ability to manage their products, stores, and brands. I was the sole frontend developer and worked in **React**, **TypeScript**, and **GraphQL**.

### Publications

Basis Reduction in Lattice Cryptography (Source): an undergraduate honors thesis that develops an understanding of lattices and their use in cryptography. It examines how reducing lattice bases with algorithms such as Babai's Closest Vertex Algorithm, Lagrange's Reduction Algorithm, and the LLL algorithm can yield solutions to the Shortest Vector Problem and the Closest Vector Problem.

### Miscellaneous

Bennyfreeland.github.io: a personal website I set up for my friend Ben Freeland to display his drone footage, particularly customizing **Markdown**, **CSS**, and **HTML** on top of an existing **Jekyll** theme.

AES (Source): a **C++** implementation of the cipher and inverse cipher specified in the Advanced Encryption Standard (AES) with ECB, CBC, OFB, and CTR modes of operation.

Secret Santa Generator (Source): a web applet for friend groups to generate Secret Santa assignments. Most other generators are awful, requiring account creation or being otherwise bloated. This generator does only what is necessary and is built with simple **HTML**/**CSS**/**JavaScript**.

LLL (Source): a **Python** implementation of the LLL algorithm used in cryptanalysis for lattice basis reduction and first described by Lenstra, Lenstra, and LovĂˇsz in 1982.

Hdocs (Source): a collaborative rich-text editing desktop application. Users can create, view, edit, and share documents. I built this on **Electron**, **React**, **NodeJS**, **Express**, **Socket.IO**, and **MongoDB**.

Elgamal-elliptic (Source): a **Python** implementation of the Elgamal public-key cryptosystem on an elliptic curve.

*Note: The cryptosystem implementations listed above are learning experiences and should NOT be used in practice.*