We built a pipeline to predict the microscopic and macroscopic pK a s of a molecule starting from any molecular representation, such as a SMILES string. Our model directly predicts microscopic pK a s and then calculates macroscopic pK a s. First, we identify all ionizable groups in a molecule and iterate through them to identify all transitions between microstates. In the next step, we convert each microscopic transition into a list of quantitative features. These features are used as input into our Gaussian process regression model which predicts a pK a for each micro-transition. The output from these steps is a list of all microscopic pK a s for each molecule. Lastly, macroscopic pK a s are analytically calculated from a thermodynamic cycle involving all microscopic transitions. Below, each of these steps is described in detail including an overview of how we trained, validated, and tested our model before the SAMPL6 challenge.