Hi, I'm Kyle Shevlin, founder and lead software engineer of Agathist, a software development firm that specializes in React and TypeScript projects.
I am also a writer, speaker and coding instructor. This is my personal site where I share all the content I create.
I primarily write articles and create courses, focusing on breaking software concepts down to their fundamentals. Check out one of my posts or courses (or all of them). If you like what you read, then sign up for my newsletter, too.
If you're looking to hire me and my team, send an email to kyle@agath.ist. If you need to reach me regarding something else, then my personal 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
- Agathist VSCode ThemesI created a VSCode theme inspired by Agathist's brand colors and released it as a VSCode Extension.
- Two Types of CompositionNot only is "composition" a confusing word, but there is more than one way to do it. Let's break those ways down into two types and learn about "nesting composition" versus "merging composition".
- Agathist Q&AYou might have noticed a few new "ads" around here recently for something called Agathist. Let me tell you what that is all about in a (hopefully) fun self-directed Q&A.
- No Outer
margin
It is an anti-pattern to add margin to the outermost element of a component. It breaks encapsulation and makes components difficult to reuse. Let's learn what to do instead. - Type
TODO
In TypeScript, sometimesany
is our best option, but we can go a step further and give ourselves a little more signal than that.Tags - Wrangling Tuple TypesTypeScript doesn't know whether you're returning an array or a tuple from a function, so let's learn a couple ways we can fix that problem.Tags
- UI CompositionAKA taking a step back to take a step forwardOften we run into tricky UI situations as a result of overloading an element with styling responsibilities. We can solve this problem by separating the responsibilities and re-composing the individual components.
- Typescript Prevents Bad Things... and Good ThingsTypeScript 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.
- Quit Your YAP-ingA 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.
- Compound ComponentsKeep it flexible, keep it workingCompound 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.