You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/about.md
+28-6Lines changed: 28 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,15 +3,37 @@ eleventyNavigation:
3
3
key: "About"
4
4
order: 5
5
5
showAside: true
6
+
showTOC: false
6
7
---
7
-
# About me
8
+
# About me and this Blog
8
9
9
-
Hi, I'm Joonatan Uusväli, a software engineer and architect from Tallinn, Estonia. I've spent over a decade designing and building systems that are practical, efficient, and easy to use. My work primarily focuses on backend development, where I use technologies like .NET Core, C#, Blazor, ASP.NET, and PostgreSQL to tackle challenges and create solutions tailored to real-world needs.
10
+
I'm Joonatan Uusväli, a software engineer and architect based in **Tallinn, Estonia**. My passion lies in designing and building backend systems that solve real‑world problems with elegance and efficiency. I typically write services in **.NET Core** using **C#**, craft interactive UIs with **Blazor**, and expose **HTTP APIs (REST [or not](blog/2025/20250311_hyper-action-api/index.md))** via **ASP.NET**. When it comes to data storage, I choose the right tool for the task: **PostgreSQL** for its advanced feature set and extensibility, **Microsoft SQL Server** for seamless integration in enterprise Windows environments, and **MariaDB** when I need a drop‑in **MySQL** alternative with modern enhancements. I've also worked with **Oracle DB**and value the insights I gained from that experience.
10
11
11
-
Over the years, I've worked with a variety of tools and platforms, including cloud-native technologies like Azure and databases such as Microsoft SQL Server, MariaDB, and Oracle DB. I've also explored architectural patterns like Vertical Slice Architecture and implemented CI/CD pipelines to streamline development processes.
12
+
## Crafting Modern Architectures
12
13
13
-
I enjoy contributing to open-source projects and have created libraries such as [C# ULID Implementation](https://github.com/ByteAether/Ulid), a performant library for generating unique identifiers, and [QueryLink](https://github.com/ByteAether/QueryLink), which simplifies how UI components interact with backend data. These projects reflect my focus on building tools that improve efficiency and address everyday developer challenges.
14
+
Every project begins with a careful understanding of its domain and the challenges it poses. I frequently turn to **Vertical Slice Architecture** as a way to decompose complex systems into focused, end‑to‑end feature slices—each slice encapsulates its own API, data access, business logic, and UI contract, making development, testing, and deployment more manageable. Yet VSA is just one tool in my architectural toolbox. I also draw on **Domain‑Driven Design** to model rich business domains, **CQRS** when separation of reads and writes brings clarity and scale, and **Ports & Adapters (Hexagonal Architecture)** to isolate core logic from external dependencies. In fact, VSA can be applied within these broader architectures, helping to keep even the largest systems comprehensible and adaptable. To ensure safe, fast delivery, I build CI/CD pipelines (using **GitHub Actions** or **Azure DevOps**) that run builds, tests, and infrastructure changes on every commit. In cloud‑native scenarios, I leverage **Azure**'s managed services, container orchestration, and built‑in observability to deliver resilient, scalable applications.
14
15
15
-
Beyond backend development, I have a strong interest in embedded systems. I enjoy working with microcontrollers like ESP32, STM32, and AVR, using languages like C and C++ alongside tools like FreeRTOS. This hands-on work with hardware complements my software expertise and brings a fresh perspective to problem-solving.
16
+
## Open‑Source Libraries
16
17
17
-
When I'm not writing code, I enjoy tinkering with new ideas, exploring emerging technologies, and finding ways to simplify complex systems. If you're curious about my work or want to connect, feel free to check out my [GitHub](https://github.com/ByteAether) or [LinkedIn](https://www.linkedin.com/in/joonatan-uusvali).
18
+
My three flagship libraries emerged from many years of hands‑on experience with complex projects, where the same challenges kept popping up. I decided to solve these common problems once and for all by packaging robust, reusable solutions:
A high‑performance C# implementation of [ULID—Universally Unique Lexicographically Sortable Identifiers](https://github.com/ulid/spec). Designed for scenarios where sortable, timestamp‑encoded IDs improve indexing, logging, and sharding, this library delivers collision‑resistant IDs with minimal overhead.
Bridges UI components and backend data through type‑safe, `IQueryable`‑driven queries. QueryLink turns your LINQ expressions into HTTP‑friendly endpoints and stubs, eliminating boilerplate and ensuring compile‑time safety across the full stack.
Addresses the [.NET event subscription problem](https://learn.microsoft.com/en-us/dotnet/desktop/wpf/events/weak-event-patterns) by holding only weak references to handlers. Subscribers can be garbage‑collected naturally, preventing subtle memory leaks and “zombie” objects in long‑running applications.
28
+
29
+
## Embedded Systems and Beyond
30
+
31
+
While much of my work resides in the cloud, I thrive on low‑level tinkering. I've built firmware in **C** and **C++** for microcontrollers such as the **ESP32**, **STM32**, and classic **AVR** chips, often running **FreeRTOS**. Prototyping sensor networks or real‑time control loops reminds me of the constrained‑environment lessons that shape every robust server‑side solution I create.
32
+
33
+
## Philosophy and Outlook
34
+
35
+
At the heart of my approach is **elegance in code**—an equilibrium of performance, observability, maintainability, and ease of onboarding. Chasing raw performance at the expense of clarity leads to brittle, unmanageable systems; optimizing only for one metric can bloat or fragment your codebase. True elegance emerges when those qualities harmonize into a codebase that is efficient, transparent, and a joy for teams to grow with. I bring deep familiarity with architectural principles like Domain‑Driven Design, CQRS, and Ports & Adapters, and I remain eager to embrace whatever new paradigms and innovations the future holds—from the next wave of .NET features to emerging patterns in distributed systems.
36
+
37
+
## Let's Connect
38
+
39
+
All my public projects live on [GitHub](https://github.com/ByteAether). If you'd like to discuss architecture, open source, embedded systems, or simply swap ideas, reach out on [LinkedIn](https://www.linkedin.com/in/joonatan-uusvali/). I'm always excited to collaborate and learn together.
Copy file name to clipboardExpand all lines: content/index.njk
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ canonical: /
26
26
<h1>Welcome to ByteAether!</h1>
27
27
<p>Welcome to ByteAether, a space where technology meets curiosity. Whether you're here to explore the latest in .NET and C# development, deep-dive into the technical nuances of software engineering, or keep up with the newest releases from our open-source projects, you've come to the right place. ByteAether is more than just a blog - it's a gateway to tools, insights, and discussions for developers of all levels.</p>
28
28
29
-
<p>Here, you'll find a mix of release announcements for our NuGet packages, technical explorations of problem-solving strategies, and practical tips to enhance your coding workflow. If you're curious about the person behind ByteAether, feel free to visit the <ahref="/about">About Me</a> section, where I share more about my journey, passions, and the work I do. Thanks for stopping by - happy reading and coding!</p>
29
+
<p>Here, you'll find a mix of release announcements for our NuGet packages, technical explorations of problem-solving strategies, and practical tips to enhance your coding workflow. If you're curious about the person behind ByteAether, feel free to visit the <ahref="/about">About</a> section, where I share more about my journey, passions, and the work I do. Thanks for stopping by - happy reading and coding!</p>
0 commit comments