Building a Modern Blog with Svelte 5, shadcn/ui, and Tailwind CSS
Welcome to my blog!
This is my first post using a bunch of new (to me) tech stacks and tools.
To name a few:
Core Philosophy for design choices
There are many tradeoffs when it comes to design and technology choices. The tradeoffs made here are a reflection of my own personal values and preferences. There are many other choices that I would make, but I think this is a good starting point for the end goal I am trying to achieve.
1. Using Svelte instead of Vue / React
I am from a heavy C#, ASP.NET, Blazor background and so am used to compiled and statically typed languages. That thinking used to extend into frontend components as well.
Svelte felt like the closet match to that paradigm of thinking and framework. That and the excellent video from Fireship.io pushed me to try it out.
2. Using Tailwind instead of Bootstrap
Similar to the Svelte choice, I felt that Tailwind CSS was much easier to transition from Blazor CSS implementations to. It is a little more opinionated, but I think it is a good choice overall.
3. Using shadcn/ui
I liked the idea of minimalist and easy to use components that I can own and customize. Over the years, I have learnt that depending on pre-packaged components exposes too much risk to upstream changes. Styling and design consistencies are also a nighmare to predict and maintain.
The core philosophy of shadcn/ui felt just right to me. Again, the excellent video from Fireship.io pushed me to try it out.
4. Using Jetify Devbox
This one is another killer tool that I absolutely live without. It is a full-fledged dev environment that I can use to spin up a new project from scratch. It can reliably and consistently setup a shell session with all the tools necessary to work on the project.
Previously I used Docker, VS Code with Dev Containers
But it felt really resource heavy for simple minimalist projects like a personal blog. Devbox offers a much more lightweight approach with local host shell sessions. This also means that I can access my local files, databases, etc. without having to solve networking or volume mounting issues.
Also, catching this on the DevOps Toolkit channel was an excellent find!
Now I go for Devbox first, and only when I have specific use cases for isolation do I go for Dev Containers.
I hope you like it what you see!
Please feel free to drop a question in the blog’s discussions.