Frontend
My frontend is built with the modern Svelte Kit framework,
Svelte 5, Tailwind CSS and written in
TypeScript.
This part covers my decision-making behind each of the technologies.
Svelte & Svelte Kit are frameworks that my entire frontend application builds upon. It is important to understand the fundamentals on how they work to fully understand my project!
I created individual posts for Svelte basics
and Svelte Kit basics that follow this one.
In case you are already familiar with both of them, you can jump right ahead to
the Project Structure :)
Why TypeScript?
I'm a fanatic for building type-safe applications. This is in huge part thanks to working
with Rust and Kotlin over the years. They try to be as null-, and
type-safe as possible!
Therefore, JavaScript was already a no-go for me.
Although I like the idea of cross-platform applications, I wanted to keep this website native. Meaning no use of Flutter either.
WebAssembly would've been an interesting option as well. Especially with my love
to Rust and its awesome Leptos framework.
But that is usually for compute-heavy websites - so the opposite of my simple portfolio website :D
I will definitely build something with it in the future tho!!
Leaving us with TypeScript for a type-safe-ish & native development environment. Enhanced by the true-myth dependency, which adds a couple extra types:
Maybeto get rid ofnullandundefinedin the code base.Resultto enforce error-handling.Taskto enforce error-handling in async context. It's pretty much likePromise<Result>.
Why Svelte?
With TypeScript chosen as the programming language, my next step was choosing a framework.
I dabbled with React and Angular in the past. They were alright to work with, but I wanted to try something different for my website.
It became quite clear that Svelte has been one of the most admired frameworks
in the past years. This is based on Stack Overlow Surveys and some additional
research through Blogs and YouTube videos.
Although it is less desired, I decided that I'd rather have fun building my website and slightly fewer job
opportunities, than the other way around.
Spoiler-alert: I've been having a blast working with it!
Its Runes and Template syntax were super
easy to get started with (more details in
the Svelte basics
post), and the component-based structure felt very familiar. Most likely because I've been building native Android
applications with Jetpack Compose since it was in Beta.
Why Tailwind CSS?
Tailwind was a straightforward decision: it's the go-to CSS framework for Svelte applications and pretty easy to work with.
Bun Runtime
I switched to the Bun Runtime for better performance. It's designed as a drop-in replacement for Node.js projects and works well with all the dependencies that I am using.
My frontend is built with the modern Svelte Kit framework,
Svelte 5, Tailwind CSS and written in
TypeScript.
This part covers my decision-making behind each of the technologies.
Svelte & Svelte Kit are frameworks that my entire frontend application builds upon. It is important to understand the fundamentals on how they work to fully understand my project!
I created individual posts for Svelte basics
and Svelte Kit basics that follow this one.
In case you are already familiar with both of them, you can jump right ahead to
the Project Structure :)
Why TypeScript?
I'm a fanatic for building type-safe applications. This is in huge part thanks to working
with Rust and Kotlin over the years. They try to be as null-, and
type-safe as possible!
Therefore, JavaScript was already a no-go for me.
Although I like the idea of cross-platform applications, I wanted to keep this website native. Meaning no use of Flutter either.
WebAssembly would've been an interesting option as well. Especially with my love
to Rust and its awesome Leptos framework.
But that is usually for compute-heavy websites - so the opposite of my simple portfolio website :D
I will definitely build something with it in the future tho!!
Leaving us with TypeScript for a type-safe-ish & native development environment. Enhanced by the true-myth dependency, which adds a couple extra types:
Maybeto get rid ofnullandundefinedin the code base.Resultto enforce error-handling.Taskto enforce error-handling in async context. It's pretty much likePromise<Result>.
Why Svelte?
With TypeScript chosen as the programming language, my next step was choosing a framework.
I dabbled with React and Angular in the past. They were alright to work with, but I wanted to try something different for my website.
It became quite clear that Svelte has been one of the most admired frameworks
in the past years. This is based on Stack Overlow Surveys and some additional
research through Blogs and YouTube videos.
Although it is less desired, I decided that I'd rather have fun building my website and slightly fewer job
opportunities, than the other way around.
Spoiler-alert: I've been having a blast working with it!
Its Runes and Template syntax were super
easy to get started with (more details in
the Svelte basics
post), and the component-based structure felt very familiar. Most likely because I've been building native Android
applications with Jetpack Compose since it was in Beta.
Why Tailwind CSS?
Tailwind was a straightforward decision: it's the go-to CSS framework for Svelte applications and pretty easy to work with.
Bun Runtime
I switched to the Bun Runtime for better performance. It's designed as a drop-in replacement for Node.js projects and works well with all the dependencies that I am using.
Frontend
My frontend is built with the modern Svelte Kit framework,
Svelte 5, Tailwind CSS and written in
TypeScript.
This part covers my decision-making behind each of the technologies.
Svelte & Svelte Kit are frameworks that my entire frontend application builds upon. It is important to understand the fundamentals on how they work to fully understand my project!
I created individual posts for Svelte basics
and Svelte Kit basics that follow this one.
In case you are already familiar with both of them, you can jump right ahead to
the Project Structure :)
Why TypeScript?
I'm a fanatic for building type-safe applications. This is in huge part thanks to working
with Rust and Kotlin over the years. They try to be as null-, and
type-safe as possible!
Therefore, JavaScript was already a no-go for me.
Although I like the idea of cross-platform applications, I wanted to keep this website native. Meaning no use of Flutter either.
WebAssembly would've been an interesting option as well. Especially with my love
to Rust and its awesome Leptos framework.
But that is usually for compute-heavy websites - so the opposite of my simple portfolio website :D
I will definitely build something with it in the future tho!!
Leaving us with TypeScript for a type-safe-ish & native development environment. Enhanced by the true-myth dependency, which adds a couple extra types:
Maybeto get rid ofnullandundefinedin the code base.Resultto enforce error-handling.Taskto enforce error-handling in async context. It's pretty much likePromise<Result>.
Why Svelte?
With TypeScript chosen as the programming language, my next step was choosing a framework.
I dabbled with React and Angular in the past. They were alright to work with, but I wanted to try something different for my website.
It became quite clear that Svelte has been one of the most admired frameworks
in the past years. This is based on Stack Overlow Surveys and some additional
research through Blogs and YouTube videos.
Although it is less desired, I decided that I'd rather have fun building my website and slightly fewer job
opportunities, than the other way around.
Spoiler-alert: I've been having a blast working with it!
Its Runes and Template syntax were super
easy to get started with (more details in
the Svelte basics
post), and the component-based structure felt very familiar. Most likely because I've been building native Android
applications with Jetpack Compose since it was in Beta.
Why Tailwind CSS?
Tailwind was a straightforward decision: it's the go-to CSS framework for Svelte applications and pretty easy to work with.
Bun Runtime
I switched to the Bun Runtime for better performance. It's designed as a drop-in replacement for Node.js projects and works well with all the dependencies that I am using.
My frontend is built with the modern Svelte Kit framework,
Svelte 5, Tailwind CSS and written in
TypeScript.
This part covers my decision-making behind each of the technologies.
Svelte & Svelte Kit are frameworks that my entire frontend application builds upon. It is important to understand the fundamentals on how they work to fully understand my project!
I created individual posts for Svelte basics
and Svelte Kit basics that follow this one.
In case you are already familiar with both of them, you can jump right ahead to
the Project Structure :)
Why TypeScript?
I'm a fanatic for building type-safe applications. This is in huge part thanks to working
with Rust and Kotlin over the years. They try to be as null-, and
type-safe as possible!
Therefore, JavaScript was already a no-go for me.
Although I like the idea of cross-platform applications, I wanted to keep this website native. Meaning no use of Flutter either.
WebAssembly would've been an interesting option as well. Especially with my love
to Rust and its awesome Leptos framework.
But that is usually for compute-heavy websites - so the opposite of my simple portfolio website :D
I will definitely build something with it in the future tho!!
Leaving us with TypeScript for a type-safe-ish & native development environment. Enhanced by the true-myth dependency, which adds a couple extra types:
Maybeto get rid ofnullandundefinedin the code base.Resultto enforce error-handling.Taskto enforce error-handling in async context. It's pretty much likePromise<Result>.
Why Svelte?
With TypeScript chosen as the programming language, my next step was choosing a framework.
I dabbled with React and Angular in the past. They were alright to work with, but I wanted to try something different for my website.
It became quite clear that Svelte has been one of the most admired frameworks
in the past years. This is based on Stack Overlow Surveys and some additional
research through Blogs and YouTube videos.
Although it is less desired, I decided that I'd rather have fun building my website and slightly fewer job
opportunities, than the other way around.
Spoiler-alert: I've been having a blast working with it!
Its Runes and Template syntax were super
easy to get started with (more details in
the Svelte basics
post), and the component-based structure felt very familiar. Most likely because I've been building native Android
applications with Jetpack Compose since it was in Beta.
Why Tailwind CSS?
Tailwind was a straightforward decision: it's the go-to CSS framework for Svelte applications and pretty easy to work with.
Bun Runtime
I switched to the Bun Runtime for better performance. It's designed as a drop-in replacement for Node.js projects and works well with all the dependencies that I am using.
Frontend
My frontend is built with the modern Svelte Kit framework,
Svelte 5, Tailwind CSS and written in
TypeScript.
This part covers my decision-making behind each of the technologies.
Svelte & Svelte Kit are frameworks that my entire frontend application builds upon. It is important to understand the fundamentals on how they work to fully understand my project!
I created individual posts for Svelte basics
and Svelte Kit basics that follow this one.
In case you are already familiar with both of them, you can jump right ahead to
the Project Structure :)
Why TypeScript?
I'm a fanatic for building type-safe applications. This is in huge part thanks to working
with Rust and Kotlin over the years. They try to be as null-, and
type-safe as possible!
Therefore, JavaScript was already a no-go for me.
Although I like the idea of cross-platform applications, I wanted to keep this website native. Meaning no use of Flutter either.
WebAssembly would've been an interesting option as well. Especially with my love
to Rust and its awesome Leptos framework.
But that is usually for compute-heavy websites - so the opposite of my simple portfolio website :D
I will definitely build something with it in the future tho!!
Leaving us with TypeScript for a type-safe-ish & native development environment. Enhanced by the true-myth dependency, which adds a couple extra types:
Maybeto get rid ofnullandundefinedin the code base.Resultto enforce error-handling.Taskto enforce error-handling in async context. It's pretty much likePromise<Result>.
Why Svelte?
With TypeScript chosen as the programming language, my next step was choosing a framework.
I dabbled with React and Angular in the past. They were alright to work with, but I wanted to try something different for my website.
It became quite clear that Svelte has been one of the most admired frameworks
in the past years. This is based on Stack Overlow Surveys and some additional
research through Blogs and YouTube videos.
Although it is less desired, I decided that I'd rather have fun building my website and slightly fewer job
opportunities, than the other way around.
Spoiler-alert: I've been having a blast working with it!
Its Runes and Template syntax were super
easy to get started with (more details in
the Svelte basics
post), and the component-based structure felt very familiar. Most likely because I've been building native Android
applications with Jetpack Compose since it was in Beta.
Why Tailwind CSS?
Tailwind was a straightforward decision: it's the go-to CSS framework for Svelte applications and pretty easy to work with.
Bun Runtime
I switched to the Bun Runtime for better performance. It's designed as a drop-in replacement for Node.js projects and works well with all the dependencies that I am using.
My frontend is built with the modern Svelte Kit framework,
Svelte 5, Tailwind CSS and written in
TypeScript.
This part covers my decision-making behind each of the technologies.
Svelte & Svelte Kit are frameworks that my entire frontend application builds upon. It is important to understand the fundamentals on how they work to fully understand my project!
I created individual posts for Svelte basics
and Svelte Kit basics that follow this one.
In case you are already familiar with both of them, you can jump right ahead to
the Project Structure :)
Why TypeScript?
I'm a fanatic for building type-safe applications. This is in huge part thanks to working
with Rust and Kotlin over the years. They try to be as null-, and
type-safe as possible!
Therefore, JavaScript was already a no-go for me.
Although I like the idea of cross-platform applications, I wanted to keep this website native. Meaning no use of Flutter either.
WebAssembly would've been an interesting option as well. Especially with my love
to Rust and its awesome Leptos framework.
But that is usually for compute-heavy websites - so the opposite of my simple portfolio website :D
I will definitely build something with it in the future tho!!
Leaving us with TypeScript for a type-safe-ish & native development environment. Enhanced by the true-myth dependency, which adds a couple extra types:
Maybeto get rid ofnullandundefinedin the code base.Resultto enforce error-handling.Taskto enforce error-handling in async context. It's pretty much likePromise<Result>.
Why Svelte?
With TypeScript chosen as the programming language, my next step was choosing a framework.
I dabbled with React and Angular in the past. They were alright to work with, but I wanted to try something different for my website.
It became quite clear that Svelte has been one of the most admired frameworks
in the past years. This is based on Stack Overlow Surveys and some additional
research through Blogs and YouTube videos.
Although it is less desired, I decided that I'd rather have fun building my website and slightly fewer job
opportunities, than the other way around.
Spoiler-alert: I've been having a blast working with it!
Its Runes and Template syntax were super
easy to get started with (more details in
the Svelte basics
post), and the component-based structure felt very familiar. Most likely because I've been building native Android
applications with Jetpack Compose since it was in Beta.
Why Tailwind CSS?
Tailwind was a straightforward decision: it's the go-to CSS framework for Svelte applications and pretty easy to work with.
Bun Runtime
I switched to the Bun Runtime for better performance. It's designed as a drop-in replacement for Node.js projects and works well with all the dependencies that I am using.