I work on the team that integrates financial institutions into the Dwolla ecosystem. This role involves Scala, TypeScript, Serverless, and various AWS technologies, with Lambdas, Dynamo, and API Gateway among them.
I was the main developer working on Fantastical for the Apple Watch, and maintained Fantastical's Shortcuts since implementing them for macOS. I implemented a lot of the new features Apple introduced in 2021: Quick Note, Shortcuts on macOS, time-sensitive notifications, and privacy-sensitive widgets.
Some examples of my work on the UI side are fixing the bugs introduced by watchOS8 and iOS 15, adding support for item creation and list refresh on the Watch, and implementing context menus for item templates.
On the business logic side, I implemented new API integrations for Microsoft Graph and Google People, debugged and resolved complex sync bugs between iOS and watchOS, extended Fantastical's parser, dealt with bugs regarding event ordering on the Watch, added new AppleScript functionality, and implemented custom week numbering.
Residence:
Citizenships:
Languages spoken:
I'm most familiar with Clojure(Script), Python, and Bash.
I'm comfortable with SQL, TypeScript, C, and Swift.
I have significant exposure to C++, Objective-C, and Scala, but they aren't my favorites.
I can hack around in HTML and CSS, but not professionally. I also have a good bit of LaTeX experience due to my stint in academia.
I spent a good bit of time in school working with CUDA and MPI, but it's been a while.
CMake
docker
emacs
(using my custom configuration for Doom Emacs)gdb
and lldb
git
vim
I'm highly proficient in the usage and configuration of Arch Linux, the Debian-based Linux distributions, and macOS. I used to be pretty good with Windows, too, but it's been years since I used it. Recently I've been hacking around with GNU Guix System for my home server.
You're looking at it!
reljr
is a relational algebra evaluator written in Clojure and Clojurescript. This was a group project for the advanced databases elective at USF. I contributed a large portion of the parser and its grammar, portions of the interpreter, the frontend interface, and the majority of the documentation.
dj2ll
is an extension of the =dj2dism compiler. It reuses the front-end components (lexer, parser, and typechecker) but implements an entirely new backend using the LLVM C++ API.
dj2dism
is a non-optimizing compiler for a Java-like object-oriented language, diminished Java
(DJ). The compiler generates a RISC-like instruction set for a provided virtual machine. This semester-long project involved interpreting the language specification into the five main components of a compiler: lexer (using flex
), parser (using bison
), AST generation (using bison
semantic actions), type-checker, and code generator. The type-checker and code generator are implemented in C89. Due to the course's honor code, I can not publicly display the source code.
I completed eighteen credit hours in the Ph.D. Chemistry program at USF between August 2018 and May 2019, focusing on research in computational chemistry. I decided to transfer into the Computer Science program sometime during the spring of 2019, and began taking classes for that degree that summer.
I worked at the Genius Bar, doing assessment and resolution of software issues that occurred with Apple's mobile offerings -- iPhone, iPad, and Apple Watch. In February of 2020 I was promoted to "Technical Expert", which also involved doing physical repairs of iPhones, mostly battery and display repairs. I was consistently in the top five employees for sessions completed per hour and lowest average session duration. I also assisted the most customers out of anyone on the team in the fourth quarter of 2019.
I worked as a Lab TA for the General Chemistry I lab, where I was responsible for teaching students semester basic and intermediate experimental chemistry techniques, as well as the chemical theory behind the experiments performed. Taught students the basics of data analysis and reporting.Responsible for teaching students proper laboratory safety techniques and ensuring their safety at all times in the lab. This position required the communication of ideas using distinct methods, handling multiple tasks at once, and managing groups of people to reach a common goal.
I worked in Dr. Brian Space's lab, where I was responsible for conducting independent computational chemistry research, mentoring undergraduates, and contributing to the lab’s code base, a program called mpmc
. Designed and implemented a parallel end-to-end testing suite for the lab’s code base that supports serial and parallel testing. I improved the lab's code base by refactoring important sections, adjusting the build system to achieve cross-platform compilation, increasing output functionality, and constructing and adding a new set of simulation parameters.
I worked as an undergraduate researcher in Dr. James Leahy's lab, under the direction of Zach Shultz. I was performing basic labwork in organic chemistry, including titrations, spectroscopic analysis, and purification of novel compounds. Eventually I transitioned to also doing more advanced reactions, more difficult separations chemistry, and natural products exctraction.
I worked as a (very green) undergraduate in the lab of Dr. Eckhard Podack. I started with doing basic cell culture, mostly on agar plates, and eventually transitioned to more advanced cultures and working with animal models (particularly mice), where I studied the effects of a novel anticancer drug intended to treat lung cancer.
I received full funding from the International Conference for High Performance Computing, Networking, Storage, and Analysis to travel to the SC 17 Conference in Denver, Colorado for a week, where I attended talks on subjects such as the C++ language standard and efficient usage of HPC systems.
Undergraduate Poster Presentation, Comparison of Many-Body Polarizable Potentials With Lennard-Jones and Stockmayer Potentials in Grand Canonical Monte Carlo Simulation
Four-year scholarship awarded to me by USF for pre-university academic achievement.