I live in Knoxville, Tennessee with my wonderful wife Leila and a couple of kiddos. We avidly garden—saving seeds and seeking out new varieties—and our family's best time is spent together cooking. I also serve as an elder at our church.
I have been working on the web for over a decade, with experience in every discipline relevant to putting ideas on the internet. From design briefs, wireframes, and mockups to content management, project management, server administration, shipping, and maintaining websites. I’ve worked with restaurants, the wine industry, churches, hotels, farms, large-scale commodity boards, and e-commerce shops. Most recently, I focused on a single product, leading feature development informed by user needs and feedback.
While my core strength lies in full-stack development, my background in agencies and a strong understanding of design allow me to collaborate effectively with designers and address gaps that arise during development. I also value clear communication and attention to detail, which extends to writing—whether it’s crafting clean code or ensuring the content published on the web is impactful and precise.
Full Stack Engineer Oct 2020 - Aug 2024
MxU’s core product is a Rails app used to train worship and tech teams in video, audio, lighting, and leadership. We built and maintained a product that helped folks in charge of making the weekend happen train volunteers in local churches across the world. In my 4 years there MRR more than tripled, I saw ARR hit major milestones, and worked within a team that grew from 2 to 12.
I came on as the first employee and was solely responsible for product for a short period, later working with two other engineers in varying capacities.
In my time at MxU, I wore many hats. I worked extensively in our product (Ruby on Rails), built a numerous marketing sites (WordPress Jekyll, etc), developed numerous marketing pages for business partnerships (HubSpot Landing Pages with a Static-site generator backend), tightly integrated business logic and marketing functions between HubSpot and our application, spun up merch on Shopify, and annually built an event site that tied into eventbrite.
Though we had a dedicated designer for branding and asset creation—such as video thumbnails and social media content—as a development team we worked on our own, sketching and designing in the browser as we went.
Senior Developer Feb 2016 - Oct 2020
As the sole developer, I built custom client websites from scratch, often managing 2–3 projects simultaneously while collaborating closely with the design team to transform creative concepts into functional websites. I actively participated in client discovery sessions, contributed to design briefs, and presented technical solutions, completed websites, and training documentation to stakeholders. Beyond leading development, I oversaw ongoing maintenance contracts to ensure long-term functionality and performance. Many of the websites I developed remain heavily used with minimal changes years later—an accomplishment I take great pride in.
Web Developer Jan 2012 – Jan 2016
At Bamboo, I built websites from the ground up, managing the entire process from sketching and wireframing to deployment and ongoing maintenance. I set up and configured LAMP stacks, managed Git-based deployments, and developed custom WordPress themes for multisite networks. In addition to building new sites, I maintained a portfolio of 20+ client websites, ensuring updates, security, and reliable performance.
Owner Jun 2010 – Jan, 2013
During high school, I launched and ran several Etsy shops, designing and handcrafting ties, belts, and wallets from raw materials. In just a few years, I shipped products to customers across the USA, Germany, Australia, and Japan. I managed budgets and expenses, gaining experience in leveraging bulk purchases and optimizing product timing. This venture provided valuable lessons in entrepreneurship, operations, and customer service.
I’ve worked with countless languages, web frameworks, and CMS platforms; enough that picking up a new RESTful architecture is pretty simple and a fun endeavor.
In my agency time, I built websites that worked for our clients. Not GPU-hungry webpage builders, but custom-tailored CMS dashboards that had the flexibility to adapt and grow with their business, while being rigid enough to not overload someone less technically savvy. The goal was to build something that wouldn’t later require an engineer to make something look good and remain accessible.
Working in a product company, the focus was constantly providing value for those who used the product and solving the problems of people who hadn’t used it yet. We ran a mostly test-driven Rails monolith that let us iterate fast and respond to feedback from users. Time was spent ensuring we didn’t introduce future technical debt by optimizing queries and taking the time to sketch and design systems before we started to build them. It was rewarding work.
When a project allows for it, I love working with in-browser animation. If I didn’t get motion sickness building it, the project suffered. From butter-smooth transitions between pages and states to the more detailed implementation working with After Effects exports for SVG animation, it’s all a treat.
I have spent a lot of time focusing a ton on performance. The internet gods reward speed and lightness, and every MB counts in the LCP, FCP, CLS wars. Additionally, the web just feels better when the bottleneck isn’t a 4 MB VSCO jpeg in the background of the footer. In a product, this ends up being pretty simple, but with high-touch client work it takes a lot to strike a balance when the brand has 3 fonts and the client just paid 5k for a photo shoot of their products. Working with responsive images, lazy- & pre- loading, caching, and utilizing CDNs and edge networks, I found ways to meet in the middle.
I strive to hit good accessibility standards. It all should work for everyone, and the work to make that possible really isn’t all that hard. Accessibility ends up creating benefits for folks that don’t need any assistive technology in the first place, and usually, it just looks like building things with valid syntax. Additionally, we experienced numerous hotels that would get drive-by ADA lawsuits because of a failed lighthouse test, or government contracts that had an high standards based on what WCAG was at the time.
While I wouldn’t claim expertise at something like brand development, I’m very comfortable designing interfaces and webpages. 10 years of needing to develop an eye for typography and color, as well as the early days of “pixel-perfect” project scopes, taught me how to build according to a design and interpret the designer’s intent. I’ve collaborated extensively with designers to realize their vision within a project’s scope—whether expanding it or refining the design to hit a deadline.
“Other people’s tools that need to work with ours.” I’ve integrated a handful of CRMs into various products, built multiple Shopify sites, been tasked with implementing arcane winery-specific e-commerce integrations with little-to-no-documentation—in short, I’m used to working with tools that don’t always make the integration process simple and require problem-solving and “discovery” to make them work.
This one feels strange to single out, but special beasts live in special places. I spent a ton of time building out custom emails for various clients on various systems (MailChimp, HubSpot, Constant Contact, Intercom, SendGrid etc.) with all of their various syntactic sugar. Love it or hate it: email makes money, and making HTML emails is somehow still like building webpages in 2006.
Everywhere I’ve worked, I’ve enjoyed writing. Either in lieu of Lorem Ipsum, or simply being a professional that needed to communicate clearly with clients. I’ll concede: sometimes I could use an editor.
Similarly, I enjoy working with and communicating with clients; I always presented my own work and would train clients directly—whatever their skill set—on how to use the things we built. I’ve worked in teams where extreme detail was beloved as well as teams where minimal communication was extolled, I thrive in each. I’ve worked for years at a time in-person and for years at a time remote, I believe both have their advantages. It feels odd to note but, yes: Word, Google Sheets, Notion, Pages, Basecamp, Jira, Slack etc.
Built with the design team at Honey (employer from 2016 to 2020)