I discovered a love for tech and computers at an early age, quickly becoming the family's go-to IT guy. This passion has lead into in a career as a software engineer, where I've had the opportunity to work on a variety of projects ranging from legal software to data privacy tools to fitness apps.
Currently I'm focused on Osano's SDKs, where I'm leading iOS development of our consent management products. My entire career has been spent in consulting and startups on small teams so I'm experienced with managing tradeoffs in security, privacy, and maintainability all while moving quickly.
When I'm not working or behind the computer you can find me outside cycling or practicing photography. 99% of these photos end up being of the family pets:
Osano
Build and maintain cutting-edge data privacy tools that empower individuals and businesses to navigate the complex landscape of data protection regulations. Started off on the integrations team, writing 50+ high quality API connectors for our data mapping product before transitioning to our platform's flagship cookie consent product. Currently leading development of our iOS SDKs.
Forward
Built internal tooling with a focus on API integration and automation.
Atrium
Developed and maintained legal software for the Atrium LTS platform, which served as the foundation for the company's legal services. Worked on a variety of projects including a document automation tool and Office 365 JavaScript extension.
Linde Group
Provided Mac, Windows, and Linux desktop technical support for a variety of Bay Area clients. Maintained the open source AutoPkgr project.
Projects
Tangey
Aesthetic home screen widgets powered by Strava and a custom polyline rendering engine built on top of MapKit.
Avarts
Open-source and self-hostable fitness platform that enables cyclists to track and analyze their workouts. Includes a companion iOS app which served as the foundation for the Tangey project.
Slackmojis-dl
CLI tool for downloading emojis from www.slackmojis.com with optimized async/await supporting up to 300 images per second. Created while working at Atrium so we could populate our Slack instance with a bunch of emoji categories like sports, brands, and mostly importantly, party parrot.
2016
Top 5 Best "Powered by Strava" AppsDesigned by hand, built with Next.js and Tailwind CSS. Deployed to Vercel. Making the supernova light mode animation was by far my favorite part.