September 17, 2026

MAUI Day Skopje 2026

INNOFEIT EDIH

MAUI Day Skopje 2026 badge

Collectible Edition

Event Badge

This is more than the digital mark for MAUI Day Skopje 2026. Badge-enabled MAUI Day editions are also produced as physical badges that attendees can wear on clothing, lanyards, bags, or wherever they collect conference memories.

Wearable Collectible Edition-specific

Who Spoke

Speakers

Gerald Versluis

Gerald Versluis

Senior Software Engineer at Microsoft

Mario Naumoski

Mario Naumoski

.Net Maui Engineer

Michał Pobuta

Michał Pobuta

Software Engineer/.NET MAUI Expert

Mihajlo Mladenov

Mihajlo Mladenov

Engineering Lead

Stéphane Delcroix

Stéphane Delcroix

Principal Software Engineer at Microsoft

What Happened

Schedule

Building Your First .NET MAUI App Workshop

Gerald Versluis

Today we will build a .NET MAUI application that will display a list of Monkeys from around the world. We will start by building the business logic backend that pulls down json-encoded data from a RESTful endpoint. We will then leverage .NET MAUI to find the closest monkey to us and also show the monkey on a map. We will also see how to display data in many different ways and then finally fully theme the application.

10:00

240 min

The Secret Life of a MAUI Page

Mihajlo Mladenov

Creating a page in .NET MAUI looks simple, but a lot happens behind the scenes before it appears on the screen and long after it disappears. In this session, we'll follow the complete journey of a page, from construction and XAML loading to handler creation, native controls, navigation, and eventually garbage collection. Along the way, we'll uncover why some pages are released immediately while others stay in memory, how seemingly harmless code can affect performance, and what actually happens under the hood when you navigate through your application. The examples and lessons come from building and maintaining a production .NET MAUI application used by more than 1.8 million users, where understanding the framework internals has often been the difference between guessing and solving the problem.

16:10

45 min

Building Efficient, Offline AI Agents with .NET MAUI, Semantic Kernel and SLM

Mario Naumoski

AI wrapper fatigue is real. Users are tired of basic chat boxes; the future belongs to AI Agents that think and act locally.In this session, we step out of the clouds to look at a "Clear Sky" architecture. You will learn how to build highly resource-efficient, 100% offline AI agents using .NET MAUI, Semantic Kernel, and local SLMs. We will dissect a Two-Tier Optimization pattern that uses lightweight C# filters to dynamically inject plugins. This keeps token payloads microscopic, preventing mobile hardware from overheating or draining the battery.

17:00

30 min

XAML C# Expressions, HotReload, and plenty of other improvements making XAML relevant in 2026

Stéphane Delcroix

net11 is introducing multiple improvements in the XAML language and its processing for MAUI projects, focussing on developers delight, and app performance - global, and implicit, xmlns - sourcegeneration - C# expression in XAML - incremental HotReload - and more

18:00

45 min

Bulletproof .NET MAUI: Building Apps That Don't Crash

Michał Pobuta

Every mobile app crashes at some point. The question isn't "whether" — it's "how often" and "whether you even know about it." In this session, I'll show concrete patterns and tools that make .NET MAUI apps crash significantly less often, and ensure that when they do crash, you know before your users do. * The most common causes of crashes and ANRs in MAUI — unhandled exceptions, blocking the main thread, async/await pitfalls, memory leaks, race conditions during navigation. Each case shown with an example of bad and good code. * A global safety net: how to hook into AppDomain, TaskScheduler, and platform handlers (Android/iOS) so no exception disappears silently. * Production observability — Sentry and Firebase Crashlytics in MAUI, stack trace symbolication, breadcrumbs, device tags. Without this, you're flying blind. * Crash-resistant patterns — a BaseViewModel with a safe execution wrapper, lifecycle cancellation to prevent operations from firing after navigation, all async operations cancellable via CancellationToken. * Trimming and AOT as a silent crash factory — why your app works in Debug but blows up in Release, and how to configure CI to catch it before your users do.

19:20

30 min

Where It Was

Location

INNOFEIT EDIH

Ruger Boskovik 18, Skopje 1000, North Macedonia

Made Possible By

Sponsors

With Help From

Supporters

These organizations provided prizes, platforms, speaker support, and help from the local community.

Relive The Moments

Photos

View Photo Gallery