Games & Apps

Explore my collection of interactive games and utility applications built with modern web technologies

Interactive Games

Classic games reimagined for the web

Asteroids - Space shooter game
Pitfall - Classic platformer
Ultima - Retro RPG adventure
Autoduel - Car combat game
Play Games

Utility Apps

Practical tools for everyday use

QR Code Generator & Scanner
PDF Converter
Draw Me - Art instruction app
30+ utility applications
Explore Apps

Bible Reading App

A comprehensive Bible reading experience with multiple translations, study tools, personal features, and AI integration capabilities

Multiple Translations

29 Bible translations including KJV, NIV, ESV, AMP, AMPC, and more

Bookmarks & Notes

Save verses, add notes, track reading progress, and export data

Study Tools

Cross-references, concordance, fuzzy search, and verse of the day

AI Integration

MCP server for AI clients like Claude and ChatGPT

Bible Reader

John 3:16NIV

"For God so loved the world that he gave his one and only Son, that whoever believes in him shall not perish but have eternal life."

My Biography

I am a UI/UX senior engineer fluent in the latest Javascript frameworks and over 25 years of Javascript and a variety of front and back end experience from ASP.NET / C# to Java to Node. Have led small and large scale teams in the Fortune 500, family businesses and startups, working with some of the best clients in B2B and B2C applications. I want to continue to focus on building up the best engineers as well as train new developers and engineers. Never afraid of a challenge and always willing to learn. Loving AI and using LLMs to speed up development and improve code quality.

I wrote my first lines of code at 8 years old. Wrote my first application in 1992, in Pascal on a Mac, a grading application for his first mentor, Phil Abalon to help streamline the process. Graduated from Purdue University in 1997, was one of the first student web developers employed by the School of Liberal Arts.

Joined Xerox Corporation in various sales and analyst roles, developing solutions in Postscript, VIPP, and Javascript. Left Xerox to help run Bureau of Engraving, Inc. to launch a digital print division and transform a correspondence school into the digital age. Wrote dozens of applications, from CRMs, to CMSs, variable data applications, email and data cleansing programs and more.

Started NPSRS, LLC to further develop custom solutions around the Control4 and SmartThings platforms. Wrote various drivers, apps and integrations for a variety of clients. Started the Open-Dash project. Joined a tech startup, Hubitat, Inc. to help build a fast, reliable and private home automation platform. Launched in 2017, quickly became a leading home automation hub. Helped build the core hub code UI/UX, key applications like Hubitat Dashboard, Maker API and many other apps and drivers. build great applications and websites from great designs.

Exited my role at Hubitat and joined Avoya Travel as a Senior Front-End Engineer in 2019 and have been there ever since.

Outside work I enjoy playing tennis and golf, spending time with my family, and learning new things. I am a lifelong learner and always looking for new challenges. I volunteer at my church, and am on the board of several non-profit charities.

Famous Quotes

"Nothing great was ever achieved without enthusiasm."

— Ralph Waldo Emerson

"The best way to predict the future is to invent it."

— Alan Kay

"Talk is cheap. Show me the code."

— Linus Torvalds

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."

— Martin Fowler

"The only way to learn a new programming language is by writing programs in it."

— Dennis Ritchie

"Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday's code."

— Dan Salomon

Experience Timeline

  • 2019 - Present

    Avoya Travel

    Senior Frontend Engineer, San Marcos, CA. Senior Frontend Engineer. Responsible for creating and maintaining Nuxt / Vue / Tailwind websites. Developed a web component Vue CLI based drag in model for a legacy Coldfusion platform. Integrated with Firebase a realtime lead claiming system. Integrated realtime messaging via RabbitMQ, STOMP and SMS platform. Created a component library that can be used in all Vue / NUXT / Quasar projects. Built a cross platform, Windows, Mac, iOS and Android app based on Quasar / Vue / Tailwinds using Capacitor, Apple Xcode and Android Studio and deployed via AWS S3 and App Stores. Optimized website to load from over 10 seconds with low SEO and Lighthouse scores to sub 1 second speeds and impressive SEO and Lighthouse scores. Implemented unit testing as well as E2E testing for all applications and websites.

  • 2017 - 2019

    Hubitat, Inc

    VP Product and Development, Scottsdale, AZ. Helped launch a complete Home Automation Platform. Responsible for a variety of roles from marketing to engineering. Converted the entire frontend platform from JQuery to Vue and Tailwinds. Created Hubitat Dashboard and Maker API. Managed the creation and launch of the iOS and Android apps. Integrated Google Cloud Messaging and Geofencing with Hub / Platform and Mobile Apps. Extensive work with Amazon Web Services and Firebase as well as many 3rd party APIs for device integrations.

  • 2016 - 2021

    NPSRS, LLC

    Founder, Minneapolis, MN. A software services company that has development many custom solutions and websites for a variety of customers from Real Estate to Entertainment to Politics. Developed and Engineered Open-Dash an open source project based in Node.JS for creating dashboards in home automation platforms.

  • 2004 - 2015

    Bureau of Engraving, Inc

    COO, Minneapolis, MN. Oversaw daily operations for a 25 million dollar printing operation while converting the business from analog to digital. Engineered a variable data platform and data cleansing solution for the printing business specific to the mailing industry and web to print business lines. Lead a team of designers and engineers to create landing pages, variable data applications and mobile apps using Visual Studio, MSSQL, ASP.NET, C# and more.

  • 1998 - 2004

    Xerox Corporation

    Systems Analyst, Minneapolis, MN. Responsible for engineering solutions and support of Full Color Variable Data printing solutions for the commercial print industry. Developed Javascript based solutions to solve Web to Print problems that output Postscript and PDF customized full color output using VIPP.

Latest Blog Posts

Featured image for blog post: AI-Assisted Debugging in Front-End Development Workflows
3 days ago

AI-Assisted Debugging in Front-End Development Workflows

Debugging has always been one of the most time-consuming aspects of front-end development. Hours can disappear into tracking down a single elusive bug—a misplaced semicolon, an asynchronous timing issue, or a CSS specificity conflict that defies logic. But we’re witnessing a fundamental shift in how developers approach debugging. AI-powered tools are transforming the debugging process […]

Read full article: AI-Assisted Debugging in Front-End Development Workflows
Featured image for blog post: Securing Nuxt Applications with JavaScript Best Practices
Sep 29, 2025

Securing Nuxt Applications with JavaScript Best Practices

Security isn’t just a checkbox on your development roadmap—it’s a fundamental aspect of building trustworthy web applications. As Nuxt.js continues to gain traction for building powerful Vue-based applications, understanding how to properly secure these applications becomes increasingly critical. Whether you’re building a small personal project or an enterprise-scale application, the security principles remain the same: […]

Read full article: Securing Nuxt Applications with JavaScript Best Practices
Featured image for blog post: Leveraging AI for Automated Code Reviews in Nuxt and Vue Development
Sep 19, 2025

Leveraging AI for Automated Code Reviews in Nuxt and Vue Development

The Vue and Nuxt ecosystem has evolved tremendously, and with it comes the challenge of maintaining code quality across increasingly complex applications. AI-powered code review tools are revolutionizing how we ensure consistency, catch bugs, and enforce best practices in Vue and Nuxt projects. This comprehensive guide explores how to integrate AI into your code review […]

Read full article: Leveraging AI for Automated Code Reviews in Nuxt and Vue Development
Featured image for blog post: Unit Testing Vue Components with Vitest: Tips and Tricks
Sep 16, 2025

Unit Testing Vue Components with Vitest: Tips and Tricks

Testing Vue components has become significantly more streamlined with the introduction of Vitest, a blazing-fast unit testing framework powered by Vite. As Vue applications grow in complexity, having a robust testing strategy becomes crucial for maintaining code quality and preventing regressions. This comprehensive guide will walk you through the essential techniques, patterns, and best practices […]

Read full article: Unit Testing Vue Components with Vitest: Tips and Tricks
Featured image for blog post: Scaling Front-End Teams: Strategies for Engineer Management
Sep 12, 2025

Scaling Front-End Teams: Strategies for Engineer Management

The transition from managing a small, nimble front-end team to orchestrating multiple squads across complex product surfaces represents one of the most challenging inflection points in engineering leadership. Having guided teams through various stages of growth—from scrappy startups to enterprise-scale operations—I’ve learned that scaling front-end teams requires a fundamentally different approach than scaling backend or […]

Read full article: Scaling Front-End Teams: Strategies for Engineer Management
Featured image for blog post: Leading Cross-Functional Teams on Vue and Tailwind Projects
Sep 9, 2025

Leading Cross-Functional Teams on Vue and Tailwind Projects

In today’s rapidly evolving digital landscape, consumer-facing companies increasingly rely on Vue.js and Tailwind CSS to build responsive, performant, and visually appealing web applications. However, the technical stack is only part of the equation. Success hinges on effectively leading cross-functional teams that bring together diverse expertise from design, development, product management, marketing, and beyond. This […]

Read full article: Leading Cross-Functional Teams on Vue and Tailwind Projects
Featured image for blog post: Collaborative Coding: Tools for Managing Engineers in AI Projects
Sep 6, 2025

Collaborative Coding: Tools for Managing Engineers in AI Projects

The landscape of AI development has fundamentally transformed how engineering teams collaborate. Unlike traditional software projects, AI initiatives demand unique workflows that accommodate experimentation, model versioning, data pipeline management, and cross-functional collaboration between data scientists, ML engineers, and software developers. This comprehensive guide explores the essential tools and strategies for managing engineering teams in AI […]

Read full article: Collaborative Coding: Tools for Managing Engineers in AI Projects
Featured image for blog post: Migrating Legacy Front-End Code to Modern Nuxt 4 and Vue Stacks: A Comprehensive Guide
Sep 3, 2025

Migrating Legacy Front-End Code to Modern Nuxt 4 and Vue Stacks: A Comprehensive Guide

Introduction The JavaScript ecosystem moves at breakneck speed. What was cutting-edge five years ago might now be considered legacy code. Whether you’re dealing with jQuery spaghetti, an aging Angular.js application, or even an older Vue 2 or Nuxt 2 codebase, migrating to modern frameworks like Vue 3 with Nuxt 4 can breathe new life into […]

Read full article: Migrating Legacy Front-End Code to Modern Nuxt 4 and Vue Stacks: A Comprehensive Guide
Featured image for blog post: Optimizing Server-Side Rendering in Nuxt.js Using Nitro
Aug 23, 2025

Optimizing Server-Side Rendering in Nuxt.js Using Nitro

In 2025, Nuxt.js leverages Nitro for powerful SSR, enabling fast, dynamic apps. Nitro handles server logic, caching, and deployment. This post explores optimizations for performance. Understanding SSR in Nuxt with Nitro SSR renders pages on the server, sending HTML to clients for quick loads. Nitro, Nuxt’s engine, supports universal rendering, hybrid modes, and edge deployment. […]

Read full article: Optimizing Server-Side Rendering in Nuxt.js Using Nitro