This is a Javascript implementation of a RRT, or a Rapidly-Exploring Random Tree. The rocket ship uses a search tree to decide how to move around in space and get as close as possible to the orbiting planet.
Determining a simple and decent search methodology was tricky. I created a node queue to determine which nodes to expand, and prioritized them based on Euclidean distance to the planet. The Euclidean distance metric causes problems where the closest node can point away from the planet, and thus that path would require more effort to get to the planet than others.
I've never written code for a website, so this was a fun opportunity to write javascript and understand how it plugs into html and no-code sites like WebFlow.
A last name generation powered by a SLM (small language model). The inspiration was from my adopted partner's desire for a different surname.
As I was working on this project, my partner wanted more control over the types of names generated by requesting first and final characters. First characters are easy, because I could initialize the prompt with them. Final characters are harder.
I modified the dataset to give "hints" of what the final characters would before the regular model input. The input was always big enough that the transformer model would see the final character hint and the current word status. This worked remarkably well! The model started giving the correct final characters (most of the time).
I got my hands dirty coding a transformer from scratch, something I'd only used libraries for or read papers on before this point.
Special thanks to Andrej Karpathy for inspiring this project with his Zero-to-Hero series.
I used the latest image generation technique, DreamBooth, to fine-tune a model of my cat and make TONS of awesome images.
Can you tell which is the real picture of my cat Azriel?
Determining training hyper-parameters turned out to be a huge undertaking. I wrote a Medium article outlining some of the final configurations that really worked well!
Getting hands on experience with diffusion models was great! I got a reminder of the importance of experiment tracking. Some models were not tracked as well in terms of number of training images, number of training steps and learning rate. Notating how the model was trained helped me produce better versions with more consistency.
The HuggingFace diffusers class provided a great foundation of knowledge for this project. The model of my cat Azriel won 2nd place in their DreamBooth competition!
Zoom in on productivity with automated meetings! For AssemblyAI's Winter Hackathon, I submitted Scribe. Scribe is an automated note-taking application that helps users focus on calls and enables them to quickly catch up on anything they may have missed.
This project was a huge time crunch! The hackathon was only two days long and it took the entire time to go from idea to MVP. One of the core challenges was getting real-time data out of web conferencing software. Zoom, Meet, and others don't provide good APIs to access this data.
I ended up using a plug-in that essentially read the sub-titles off a Google Meet web page as the meeting occurred. Getting access to the raw audio would've provided a much better product.
The amusing part of this project was that all the AI-related parts felt trivial. The hardest aspects were creating a website and piping information around. Never underestimate boiler-plate code!