I build websites and applications using modern tools and technologies.
Whether it's a static website or a full-blown iOS application, I’m all about taking ideas and turning them into something tangible. I pride myself on keeping my code simple, practical, and easy to maintain, resorting to complexity only when absolutely necessary.
If you need a website, I can get you going with any of these technologies:
- Alpine.js
- Astro.js
- Craft CMS
- Next.js
- Statamic
- Tailwind CSS
If you need an iOS application, I can get you published to the App Store with:
- React Native
- Swift
If I am not working, you will probably catch me doing one of these things:
- Taking care of Klaus, my son (french bulldog)
- Getting worse at tennis
- Lifting weights and feeling very sore
- Botching recipes in the kitchen
- Losing games of Marvel Snap
- Listening to pop-punk music (mainly MGK)
- Watching Edgar Wright films
My most recent projects:
- Repeaters: Track Recurring Tasks
Repeaters is a recurring task tracker. You can create repeating items, custom groups, and get completion history and push notifications when things are due.
Built with Swift, Swift UI, Swift Data
- Kings Court Landscaping
A fully static marketing website for a local landscaping company that provides lots of different services.
Built with Astro, Tailwind, Alpine
My most recent ramblings:
- Simplicity in Agency Development
By keeping things simple, isolated to single files, and scoped, pieces from projects can be easily shared across clients and speed up development time significantly.
07/23/2025, Agency, Alpine, Tailwind
- Lazy Loading Blurred Images in Astro
How to create a lazy blur-up image effect on your images in an Astro project.
06/30/2025, Astro, Alpine, Tailwind