Welcome

My name is Joshua. I am a User Experience Engineer working on awesome things at Kepler + Co.

Bust

Hello

I am a Front-end Developer with a specific passion and interest in user experience and optimized UI development. I am officially called a UX Engineer which means that I work closely with designers to ensure that the components and pages we build are user-friendly and technically feasible. I am also responsible for promoting the adoption of design systems amongst both designers and developers.

My Writings

Articles that I have written about various topics that I enjoy
Header Image
A Quick Guide to State Management in React

Page state management is a tricky business. Naturally, most developers either opt for using some sort of global state management or they use React’s built-in useState hook. Both of these have their place, but they are not always the ideal for managing page state. Things can get complicated very quickly. When it comes to page state, we might …

  • Published September 7, 2022
  • Workflow
  • React
  • State Management
  • UI/UX
  • Web Dev
Header Image
Create a Material Style Ripple Effect With JavaScript and CSS

Possibly one of the most iconic designs patterns to come out of Google’s material design is the ripple effect. It is such a simple interaction, but feels so satisfying to use. It gives a user really good context of what action they have taken in your application and, let face it, it just looks really cool. Now, if you are using a framework …

  • Published August 20, 2021
  • JavaScript
  • CSS
  • Web Dev
  • UX/UI
Header Image
The Best Way to Learn... Teach

If you can’t explain it simply, you don’t understand it well enough. - Albert Einstein Hopefully all of us want to get better at the things we do. Most of us, if we enjoy something, want to get better at that thing. There are many different ways to learn something new; each style has its merits and benefits. Yet, in my experience, …

  • Published March 18, 2021
  • Development
  • Learning
  • Process
  • Education
Header Image
Creating a Useful Component Library

One of the great benefits of the many SPA frameworks that we use nowadays (such as Angular and React) is that it is super easy to make reusable UI components that are clean and self-contained. Components that are built in these frameworks are easier to debug and far more reliable than the traditional sort of component. We can create a project with …

  • Published August 5, 2020
  • UX/UI
  • Components
  • Web Dev
Header Image
An Opinion on Progressive Enhancement in CSS

Although support for the “plague browsers” is dropping by the year, developers across the world are faced with the challenge of having to support older web browsers like Internet Explorer. Such browsers have very limited support for new web technologies like grid, flexbox, or custom properties. Because of browsers like this, the CSS …

  • Published March 8, 2020
  • CSS
  • Web Dev
  • Opinion
Header Image
The Sexiness of Headless UI Components

Something I enjoy doing most on the web is creating things that help other developers to be more productive. I especially love creating component libraries and core development kits that can be used to make project bootstrapping and deveopment easier. As a result I have spent a substantial amount of time trying to find newer and better ways of …

  • Published December 2, 2019
  • React
  • TypeScript
  • Web Dev
  • CSS
  • UI/UX
Header Image
Why It's So Hard to Check Object Equality in JavaScript

The other day I was working on a bit of code where I found myself having to check if two JavaScript objects were equal, namely, do two objects have the same keys and values. The first thing I tried was putting them into a simple equality check (using ===) and thought that my problem was solved. However, it turns out that comparing JavaScripts …

  • Published November 19, 2019
  • JavaScript
  • Web Dev
  • Utilities
Header Image
6 Principles to Make Your Projects More "Team Friendly"

The other day I was reflecting on the team that I am currently working with on a massive project at our company. We have recently gone through a huge overhaul in our process and structures, so I wanted to see how those changes had reflected in projects. Namely, I wanted to try and see what we did well, what maybe needed some work, and what we …

  • Published November 7, 2019
  • Workflow
  • Team
Header Image
Create a Keybinding Service in Angular

A common frustration I come across when working with Angular (or any other framework for that matter), is running functions based on key bindings. The typical method of doing this is unreadable and messy. For example, if you wanted to run a function when a user hit CTRL+ALT+D, your code would look something like this. …

  • Published November 6, 2019
  • Angular
  • TypeScript
  • Utilities