HomeMachine LearningSoftware EngineeringAttorney ProfileMLE/SDE/DS ProjectsFreelancingResumeCreative EndeavorsPersonal InterestsContact
Machine Learning and Software Projects
        I have worked on numerous machine learning engineering ("MLE"), software engineering("SWE"), and data science ("DS") projects over the past two years. As a preliminary matter, I want to elucidate my terminology regarding the demarcations between these three disciplines. I use SWE to refer to traditional, user-facing applications that store and retrieve data, typically running it through an intermediate logical layer to enforce any business requirements. In contrast, both MLE and DS applications are less visible to the end user; models are trained on prodigious datasets, optimized, and then typically deployed without the end users' direct involvement. While both MLE and DS applications require the construction of complex models, they are differentiated by their end product: DS delivers reports and visualizations, but MLE supplies the machine learning models themselves. While I have crafted applications for each of these categories, the last year has seen a "narrowing of the funnel" as I specialize more on MLE, especially natural language processing ("NLP"). I now spend all my non-freelance time working on Isaeus.
Isaeus: Generative Legal Intelligence
        Isaeus dwarfs all my other endeavors in ambition, scope, and difficulty: I strive to found a legal intelligence company that builds domain-specific large language models ("LLMs") to facilitate lawyers' work. My unique background endows me with both a lawyer's skill set and preferences as well as a MLE's deep knowledge of NLP, algorithm optimization, multivariable calculus, linear algebra, and mathematical statistics and probability. Few individuals possess both skillsets, and I have long aspired to combine them to create something extraordinary.
        Isaeus's hallmark is its focus on epistemological reduction: anyone who even cursorily follows the news has likely heard of LLM's propensity to hallucinate "facts" that are either false, unproven, or unrelated to the querier's topic. I hypothesize that, by extracting knowledge from non-legal disciplines, I can build a robust epistemological foundation that precipitates specialized agents less prone to hallucinations. While my models can already flag obvious errors such as entering different dollar figures for the same transaction, I have years worth of work left and do not anticipate offering models to potential clients before 2026 at the earliest. Isaeus is not a virtual lawyer: it merely assists human lawyers.

Isaeus's website can be found here

PianoPlaybook: An iOS Piano App
        PianoPlaybook stemmed from my lamentations as a pianist creating my own music: I would often "freestyle" a 10-30 second sequence that sounded great, but I would forget exactly what I played when I subsequently tried to recreate the notes as sheet music. Frustrated with my inability to leave an indelible mark on our shared canvas of reality, I created PianoPlaybook to shield my nascent acoustic creations from time's cold, inexorable march. The iOS app displays a virtual piano keyboard to users and tracks the pitch and duration of any notes; if users enjoy what they play, they can store a virtual record. Users can later load these saved record to listen to the song again or send it to their friends. However, the app's hallmark feature empowers users to edit the notes within these records. For example, if I play a 3 minute song perfectly except for one wrong note, I can load the song and set that note to the desired pitch. I completed all these "basic" features and have spent the last 9 months adding signal processing and NLP models to translate between audio signals and sheet music. While my models accurately translate easy piano songs, they cannot yet translate difficult pieces. I also began remaking the app in Flutter so I can deploy to web, iOS and Android from a single codebase. I have stopped all work on PianoPlaybook as I focus on Isaeus; however, I hope to work on the app more in the future.
A Voting Analytics and Visualization Web App
        I planned to launch a machine learning-powered web application that displays a map of Pennsylvania and lets users click on counties to obtain detailed voting analytics and predictions for each county. I developed a non-parametric, Gaussian Process Regression ("GPR") model that employs Bayesian learning to predict voting outcomes. I utilized GPR instead of normal, linear regression because my training data sets were relatively small and I wanted a confidence measure in addition to a prediction: GPR excels in both cases. While I finished creating the GPR models—they predicted past elections with great accuracy—I have abandoned work on the frontend UI as I transition my efforts to Isaeus.
Smaller Projects
        In addition to Isaeus and my other two larger projects mentioned above, I have also worked on smaller projects not large enough to warrant their own section. I viewed these projects as learning experiences and used them to acquaint myself with disparate areas of machine learning, especially fields outside of my NLP specialty. Typically not requiring more than 20 hours of total work, they lacked UIs and focused solely on implementing various machine learning models. Because I did not create UIs or fully optimize these projects, I completed them all, giving me experience in many of machine learning's most prominent fields. I implemented all projects in Python, using R for exploratory data analysis.
• Designed and implemented a convolutional neural network ("CNN") that classifies images of clothing: e.g., "This is a pair of pants, this is    a shirt, etc." I chose clothing because of the free Fashion-MNIST dataset that contains tens of thousands of labeled grayscale images.
• Created a support vector machine-based text classifier. The classifier can accurately predict a book's genre based on several sentences of     text. I also extended an external captioning library to train a model to caption simple images.
• Built an unsupervised k-means clustering model that could group songs by genre. The training data lacked labels so the model did not label the genre, but testing showed that the model grouped songs of the same genre together.
• Constructed a recurrent neural network—specifically a Long Short-Term Memory model— to power a rudimentary chatbot. Currently working on improving this to use for Isaeus's website.
• Developed a simple facial recognition app powered by a convolutional neural network. After training on a large test set, the app was able to identify my face in various lighting conditions.