Hi, I'm Kyle Shevlin, founder and lead software engineer of Agathist, a software consultancy that specializes in web applications built with React , 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 check the Contact page to find ways to do so.
Enjoy your time here and thank you.
Unsure where to start?
I've written a lot of posts! I've chosen a few tagged collections that would be good places to start reading.
Recent Posts
- The Consciousness LotteryFor years now, I've been using the phrase “the consciousness lottery” in conversation and I wanted to put it into writing finally. Come learn what it is and why you should add it to your vernacular.
- How I Built “Test Your Focus”In my previous post, I used a "Test Your Focus" mini-game as a metaphor for describing my ADHD. Let's learn how to build it using React.
- What ADHD Feels Like to MeWhile we have made great progress in understanding ADHD, it can still be difficult for some to grasp the impact it has on those who struggle with it. Let me show you what having ADHD sometimes feels like to me with a simple interactive game.
- 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.