← Blog

Notes on Astro + TypeScript

I try not to make decisions based on hype, but I made an exception this time, and am I glad I did.

TypeScript especially seems to have taken over all of software engineering in what feels like no time. I’ll admit I didn’t see what all the fuss was about – frankly it sounded like more work for little benefit. But now, I can’t imagine myself so much as looking at JavaScript again.

I don’t trust myself, and I don’t trust a language that does.

When I was comparing stacks for my portfolio, I knew I wanted something that let me use Markdown and Markdown-adjacent tools, so I’d have a real project to test emerging trends and tools for my job. Astro + TS seemed like the logical option, but I was still skeptical, so I gave myself a week to check it out before writing it off for good and being able to say I “tried it, but it wasn’t for me.”

As you can see, turns out it was for me.

The other options I was weighing and eventually decided against:

  • Docusaurus, which I’m comfortable with, would tie me to React, which I’m not comfortable with. Luckily, MDX is still available with Astro!
  • WordPress is dependable but too far from Markdown for my liking. I’ve also had too much exposure to it, and I’m after something different.
  • Svelte, which I love and use to build most things, but a full framework felt like overkill for this project.
  • Storyblok, my favourite headless CMS, was also too far from Markdown and too complex for something this small.
  • Jekyll works great with GitHub Pages out of the box, but it isn’t as performant and compatibility is too narrow for a tinkerer. Not going with Jekyll meant I had to set up my own GitHub Action for deployment, which I did hate, but that was a one-time annoyance.

If you’ve been eyeing Astro or TypeScript from a safe distance like I was, take that as your sign to give them a week. Worst case, you lose a week. Best case, you end up like me, egg on face.