Skip to content

My Experience

Languages

CSS

With over 15 years of experience in writing CSS, I have honed my skills in crafting responsive and visually appealing web designs. My expertise includes utilizing various CSS frameworks and methodologies to create efficient, maintainable, and scalable stylesheets.

Bootstrap

Throughout my career, I have extensively used Bootstrap to accelerate frontend development. At UW-Milwaukee, Kohler, Starkmedia, QM Quality Matters, and Bader Rutter, Bootstrap enabled me to build responsive layouts and standardized components efficiently, enhancing user experience and speeding up development cycles.

Bulma

At UW-Milwaukee and Bader Rutter, I leveraged Bulma to create modern and flexible interfaces. Its simplicity and modularity allowed for rapid prototyping and customization, ensuring that designs met both aesthetic and functional requirements.

Vuetify

During my tenure at Bader Rutter, I utilized Vuetify to develop rich, Material Design-compliant user interfaces within Vue.js applications. This enhanced the visual consistency and usability of the projects I worked on.

PrimeVue

I crafted JWS Pictures using PrimeVue, taking advantage of its comprehensive suite of UI components to build an interactive and user-friendly photo blog.

Shoelace / Web Awesome

I recently discovered Shoelace / Web Awesome. The focus on web components and cross-browser compatibility offers promising avenues for future projects. I plan on trying it out once the pro version is available.

HTML

My 15+ years of experience with HTML have equipped me with a deep understanding of semantic markup and web standards. I consistently apply best practices to ensure accessibility and search engine optimization across all my web projects.

SQL

I have over 15 years of experience writing SQL for various relational databases. My expertise includes designing database schemas, optimizing queries, and ensuring data integrity, which is critical for building reliable and efficient data-driven applications.

JavaScript

My JavaScript journey spans several frameworks and libraries, including AngularJS, Rivets.js, Vue.js, and React. Additionally, I have substantial experience with Node.js in various contexts, enabling me to easily develop full-stack applications.

Web Components

I have worked with web components both with and without Lit. Lit, in particular, has streamlined the process of building reusable components, allowing for more efficient and maintainable codebases.

AngularJS

In 2013, I introduced AngularJS to my team, recognizing its potential to revolutionize our development process. I educated my colleagues on its benefits and successfully integrated it into production applications. My passion for AngularJS led me to write several articles between 2014 and 2015, sharing insights and best practices with the developer community.

Rivets.js

Upon joining Quality Matters in 2015, I discovered Rivets.js as a lightweight alternative for binding and templating needs. Its minimal footprint made it an ideal choice for our projects. I published several articles on Rivets.js and presented my findings at MilwaukeeJS, contributing to the broader discourse on efficient JavaScript frameworks.

Vue.js

At UW-Milwaukee in 2016, I began working with Vue.js and quickly recognized its elegance and simplicity. Since 2020, I have published dozens of articles on Vue.js and developed numerous side projects and professional applications using the framework. My enthusiasm for Vue.js stems from its flexibility and the vibrant community supporting it.

React

I have explored React and published several articles documenting my experiences. Exploring React has broadened my perspective on front-end development and enriched my skill set.

Node.js

Since 2014, I have developed Node.js applications for various organizations, deploying them on platforms like Heroku, Azure, and Google Cloud. I have also utilized Firebase Functions for serverless computing. Node.js remains a favorite due to its scalability and efficiency in server-side development.

PHP

I have written extensive PHP code at Starkmedia, UW-Milwaukee, and Bader Rutter. My contributions to the PHP community include dozens of articles on my website and on Dev, where I share knowledge and engage with fellow developers.

Laravel

My experience with Laravel began at UW-Milwaukee, where I appreciated its elegant syntax and robust features. I started writing about Laravel to advocate for its adoption at Bader Rutter, highlighting its potential to enhance our development workflow.

WordPress

I have built and maintained WordPress sites at Starkmedia, UW-Milwaukee, and Bader Rutter. My personal website, JWS News, has been powered by WordPress for over a decade, reflecting my long-standing commitment to the platform.

Python

I have published code related to Machine Learning (ML) and Artificial Intelligence (AI) on my blog. Python is my preferred language for AI and ML projects due to its extensive libraries and supportive community, making it ideal for complex AI and ML tasks.

.NET

As the .NET expert at Bader Rutter, I worked with both .NET Framework and .NET Core. My responsibilities included developing and maintaining robust applications, ensuring they met the highest performance and reliability standards.

CFML

Adobe ColdFusion

My extensive experience with CFML spans roles at UW-Milwaukee, Kohler, Starkmedia, and QM Quality Matters. While I haven't written extensively about ColdFusion, my practical knowledge has been instrumental in delivering efficient solutions in various projects.

Lucee

For projects without the budget for Adobe ColdFusion licenses, I have turned to Lucee as a cost-effective and powerful alternative. It has enabled me to experiment with CFML outside of work, expanding my skill set without financial constraints.

Databases

Relational Databases

Oracle RDBMS

At UW-Milwaukee and Kohler, I worked extensively with Oracle RDBMS. My tasks included designing database schemas, writing complex queries, and optimizing performance to handle large datasets efficiently.

MySQL / MariaDB

My experience with MySQL and MariaDB spans several organizations, including UW-Milwaukee, Starkmedia, QM Quality Matters, and Bader Rutter. I have leveraged these databases for various applications, ensuring data integrity and optimal performance.

SQL Server

While at Starkmedia, QM Quality Matters, and Bader Rutter, I utilized SQL Server for enterprise-level applications, focusing on scalability and security.

PostgreSQL

I have used PostgreSQL for several side projects, appreciating its advanced features and the robustness it brings to database management.

NoSQL Databases

CouchDB

In 2014, I explored CouchDB to understand its document-oriented approach and how it could benefit certain types of applications, particularly those requiring offline capabilities and synchronization.

MongoDB

In 2021, I delved into MongoDB, documenting my findings. At Bader Rutter, we implemented MongoDB for a project that benefited from its performance and scalability.

Firebase

My initial exploration of Firebase occurred while at Starkmedia, where I recognized its potential for real-time data synchronization and rapid application development.

Firebase Cloud Firestore

At Bader Rutter, we extensively used Firebase Cloud Firestore for client projects and internal tools. Its real-time capabilities and seamless integration with other Firebase services enhanced our development process. During the October 2023 Hack and Tell, I developed "Job Tracker", utilizing Cloud Firestore and Firebase Authentication. I also created an app that leverages Vue, Pinia, the Composition API, Firebase Authentication, and Cloud Firestore, intended as a boilerplate for future projects.

Vector Databases

Chroma DB

I have written about Chroma DB on my website and discussed its applications in webinars. I am interested in its capabilities for machine learning and AI, particularly in handling vectorized data efficiently.

Code Version Control

Git

I am proficient in Git and have used it extensively at UW-Milwaukee, Starkmedia, and Bader Rutter. Git has been integral to managing codebases, facilitating team collaboration, and maintaining project integrity.

CI/CD Pipelines

I implemented continuous integration and deployment workflows using GitHub Actions for JWS Pictures. By automating processes to generate multiple image sizes and extract EXIF data, I streamlined content updates and enhanced efficiency.

Subversion

At Kohler and QM Quality Matters, I utilized Subversion for version control, ensuring consistent project documentation and collaboration before transitioning to more modern systems.

Artificial Intelligence

Ollama

I introduced Ollama to my teams and have written articles on how to integrate it into Node.js and Python systems. My work with Ollama focuses on developing embedding solutions and enhancing AI capabilities within applications while not introducing external dependencies.

Fediverse

Mastodon

As an advocate for decentralized social media, I run the Mastodon instance Toot Works, fostering a community-focused platform that prioritizes user privacy and open communication.

GoToSocial

I also operate the GoToSocial instance JWS Social, contributing to the growth of federated social networks and supporting open-source initiatives.

Hosting

Linode

At one point, I hosted JWS News on Linode, utilizing their robust infrastructure for reliable web hosting and server management.

DigitalOcean

I have also used DigitalOcean to host JWS News, taking advantage of their scalable solutions and straightforward deployment processes.

Google Cloud

Google Cloud served as another hosting platform for JWS News, where I leveraged their suite of cloud services for enhanced performance and scalability.

GitHub Pages

Currently, JWS Pictures is hosted on GitHub Pages. This platform seamlessly integrates with my GitHub repository, enabling efficient updates and version control for my static site.

Render

JWS Dev is hosted on Render, where I benefit from their cloud hosting services to deploy applications with ease and reliability.

Microsoft Azure

At Bader Rutter, client websites were hosted on Azure. I managed deployments, optimized performance, and ensured security within the Azure ecosystem.

WP Engine

I have hosted client websites on WP Engine, which specializes in managed WordPress hosting with optimized performance and robust security features.

WordPress.com

Currently, JWS News is hosted on WordPress.com. Their platform provides reliable hosting with seamless WordPress integration, allowing me to focus on content creation and site improvement.

Firebase Hosting

At Bader Rutter, we utilized Firebase Hosting for client websites. Its global CDN and seamless integration with other Firebase services enhanced site performance and scalability.

Heroku

I have deployed client applications on Heroku, leveraging its platform-as-a-service model for rapid deployment and ease of scaling without the overhead of managing server infrastructure.