Hi, I'm Kyle Shevlin, founder and lead software engineer of Agathist, a software development firm that specializes in web & mobile applications built with React, React Native , Astro and TypeScript .
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
- Prefer Explicit MapsSometimes we write unnecessary complexity without realizing it. Let's see how we often do this with ternaries and learn how using a map will remove complexity and improve maintainability.
- My
git
Workflow for RefactoringRefactoring is a key part of my development process. Let me show you thegit
workflow I use to make refactoring just another step in building features or other code changes. - Never Call
new Date()
Inside Your ComponentsCalling impure functions with side effects likenew Date()
orMath.random()
is a disaster waiting to happen. Learn what to do instead. - Composable FlourishesLearn how we can use composition to create subtle, pleasant animations that can be used on any component in our applications.
- Prefer Alphabetized Object KeysSmall efforts can add up to big gains, given enough time. That's how I feel about alphabetizing my object keys. By always sorting them, I increase the speed at which I can read, and even write, code.
- Responsive Design and CompositionResponsive UI can be very challenging to write well and can often lead to some of the nastiest code you have ever encountered. Learn how to use multiple compositions to make responsive design a whole lot cleaner and easier.
- Design System RetrospectiveWhat I learned and what I would do differentlyI built a cross platform (React & React Native) design system at my last company. I'm in the middle of building another one for a client. Let me tell you what I learned, decisions I regret, and what I'm doing differently this time.
- Prefer Noun-Adjective NamingEnglish grammar puts the adjective before the noun, but when it comes to file or function naming, I think you should do the opposite.
- Prefer Multiple Compositionsaka Prefer Understandability and Maintainability Over Absolute DRYnessThe flexibility of JavaScript and React means there are lots of ways to achieve the same result. Let's consider why we might choose one way over another when it comes to React. Specifically, when to choose a more verbose solution with composition over the DRYest code possible.
-
align-items: center
vs.text-align: center
aka Understandingflex
columns betterLet me show you one of the most common things I see people get confused about when working the Flex columns.