TypeScript is great at preventing bad things from happening, but it can prevent us from having some good things, too. When writing the types for functionality is onerously more difficult than writing the functionality itself, we might miss out on the good things that could have been.
Welcome!
Hi, I'm Kyle Shevlin, a software engineer and online instructor. This is where I share all the content I create. I mostly write articles and create courses, focusing on breaking concepts down to their fundamentals.
Peruse my blog posts, check out one of my courses (or all of them), and sign up for my newsletter if you like what you read.
If you need to reach out to me, email is the best way to do so.
Enjoy your time here and thank you.
Unsure Where to Start?
Try a post in one of these tagged collections.
Recent Posts
- 0 strokes bestowed
- 0 strokes bestowed
A couple years back, I came up with what I hope is a clever name to a common problem I see in React components, but I never took the time to write about it. I call it YAP (Yet Another Prop) Syndrome, and once you recognize it, you'll see it every where.
- 0 strokes bestowed
Compound components are nothing new in React, but it's an advanced pattern that not everyone takes the time to learn. I want to break down how I build compound components, and make it easy for you to do the same.
- 0 strokes bestowed
Let's learn how to use React Context and composition to get out of a sticky situation our designers put us in.
- 0 strokes bestowed
Let's improve upon our bubble sort algorithm with insertion sort and learn how to reduce unnecessary comparisons.
- 0 strokes bestowed
Sorting algorithms can be a lot of fun to learn, so let's learn and visualize the bubble sort algorithm in JavaScript.
- 0 strokes bestowed
JSX makes writing UIs feel really familiar for frontend devs, but it can obfuscate a key detail of which we should remain aware.
- 0 strokes bestowed
Did you know you can declaratively handle events in the capture phase in React? I sure didn't until recently. Let's learn how.
- 0 strokes bestowed
Do you know why you might use
useReducer
instead ofuseState
? There are a few key questions you can ask yourself to make that decision. - 0 strokes bestowed
Let's explore two common function patterns for managing the complexity of conditional code.
- 0 strokes bestowed
Have you ever wanted to create a component like
Head
fromnext/head
orHelmet
fromreact-helmet
that would update some state by using thechildren
of a component? It's simpler than you might think. - 0 strokes bestowed
Learn how to build Conway's Game of Life with JavaScript, React and the simulation pattern.
- 0 strokes bestowed
The “simulation pattern” is a useful tool for anyone's programming repertoire. Let's learn how to use it on almost any state problem that advances by discrete increments.
- 0 strokes bestowed
Sometimes we want to add functionality that happens with every call of a state setter. Learn how to wrap that state setter to add it.
- 0 strokes bestowed
Parametric design is the process of using adjustable parameters to modify and influence a design. Add it to your box of tools.