About
I build for the web.
I began building for the web in 1994 building little websites on Geocities and then building websites for clients, then hosting them.
I love love working in web technology. I started with Perl and PHP (back when PHP was named "Personal Home Page" interpreter) and was drawn to JavaScript shortly after it was released.
I've always been the "JavaScript" guy at my employers and administered Linux servers to learn the ins and outs of managing a web hosting provider as a side business.
Fast forward through the years and I've worked professionally with many companies and startups using Perl, PHP, Ruby but always coming back to JavaScript and Node.js. Managing servers with Bash scripts, gave way to Ansible scripts and then to the Serverless era when AWS Lambda was released.
After suffering through the days of MooTools, jQuery, Backbone and Angular, React finally solved the need better than any solution and it's his tool of choice using Next.js
I've dabbled in React Native, but found building mobile apps different from what I experienced building for the web. I was a panelist on a few episodes of React Native Radio in the early days of React Native, but found the struggles with RN projects to suck the joy out of building them, so my attention turned back to the web.
Testing has become a huge part of any project I work on using Jest or Mocha for unit tests and Cypress for end-to-end testing.
Functional programming style suits me best and I've found that the work I produce is most accurate since I can test every piece of the pipelines. I'm grateful to Professor Frisby's Most Adequate Guide to Functional Programming for helping the concepts stick in a familiar language.
I've standardized on a Serverless mindset with AWS as my provider of choice leveraging tools such as the Serverless Framework and AWS Amplify for full-stack projects.
Community
In 2015 I founded the NashReact Meetup Group and ran it until 2020.
In 2018 I founded Faith Leads Tech which aims to spread the Gospel of Jesus Christ through a faith-based tech conference.
Organizer Nash.rb User Group (April 2013-October 2015) Organizer Nodevember Conference 2014, 2015 Organizer Code For The Kingdom Nashville Hackathon 2016
Technical Speaking
- A look into Tanstack and Frontend Caching - AWS Amplify Frontend and Mobile Dev Hour - Twitch
- Cypress Patterns and Practices - YouTube
- Alexa Conference 2018 - The Art of Serverless Deployment
- O'Reilly Live Training - Building Simple Serverless Applications with AWS Lambda
- Chain React Conf 2017 - Building Serverless Backends with AWS Lambda for React Native Apps
- FluentConf 2017 - Building and deploying microservices with the Serverless Framework
- RevolutionConf 2017 - Workshop - Building and Deploying Microservices with AWS Workshop Code
- JazzCon 2017 - Real-world Redux Patterns and Best Practices
- Alexa Conference 2017 - Building Services with AWS Lambda for Amazon Alexa
- Connect.Tech 2016 - Deploying GraphQL in a Serverless Context
- React Rally 2016 - Deploying GraphQL is a Serverless Context
- NashJS June 2014 - Hapi.js, Jan 2015 - React and Flux, May 2015 - Immutable.js
- NashReact Oct & Nov 2015 - React and Redux, Jan 2016 - React Native
- Serverless Framework chat with Kent C. Dodd's
- JSConf US Last Call (December 2015) - Debugging Impostor Syndrome
- Early episodes of React Native Radio
Technical Writing
- Accessing resources in a Amazon Virtual Private Cloud (Amazon VPC) from Next.js API Routes | Front-End Web & Mobile Blog
- Client-side Caching Strategies for a Next.js app with AWS Amplify | AWS Front-End Web & Mobile Blog
- Share code between Next.js apps with Nx on AWS Amplify Hosting | AWS Front-End Web & Mobile Blog
- 5 Next.js features that are better with AWS Amplify | Front-End Web & Mobile Blog
- Next.js API Routes with AWS Amplify | Front-End Web & Mobile Blog
- Add storage to a Next.js 13 app with AWS Amplify | Front-End Web & Mobile Blog
- Build a Product Roadmap with Next.js and Amplify | Front-End Web & Mobile Blog
- Deploy a Next.js 13 app with authentication to AWS Amplify | Front-End Web & Mobile Blog
- Cypress Learn including Cypress Learn Real World Examples and cypress-io/cypress-realworld-app: A payment application to demonstrate real-world usage of Cypress testing methods, patterns, and workflows.
- Running Cypress on the Apple M1 ARM Architecture using Rosetta 2
- AWS CodeBuild | Cypress Documentation
- GitHub Actions | Cypress Documentation