Skip to main content
Dejan Demonjić brand logoDejan Demonjić
Decision log
Work
About
Contact

About

Dejan Demonjić, principal software engineer in Belgrade, building secure, multi-tenant .NET platforms.

The work is .NET platforms where the hard parts are identity, tenant isolation, and the edge where software meets hardware, and the engineering systems around them: tests that cannot pass by accident, quality gates that measure what they claim to measure, and reviews that look for the class of a bug rather than one instance of it.

Seventeen years, one thread

It started with business informatics at the University of East Sarajevo in Bijeljina, and in 2009 with the first software written there for a living: programs for the PIC microcontrollers and PLCs inside digital measuring devices, and the desktop applications that ran commercial and truck scales.

For most of the next decade, the software had to agree with something physical. In Bijeljina it was fingerprint, iris and face recognition, next to bookkeeping software for wholesale and retail. In Düsseldorf it was firmware and signal processing for inertial and GPS sensors, with C# on the other side of the wire. In Šabac it was TCP/IP services reading live data from the GPS trackers in vehicle fleets, and drivers for fiscal devices. Vienna was the one stretch away from devices: data-flow architecture and integration services for enterprise business intelligence.

In 2019 the work moved to Belgrade, to leading engineering on access-control and time-attendance systems: legacy Windows services became .NET workers, an access-control and ticketing system got a REST API and a Blazor interface across several locations, and the code base moved from .NET Framework 4.5 to .NET 5 in phases, without stopping the systems that ran on it.

Since October 2021 that has meant leading engineering at Tridesetri, mostly on Hexavera, which brings the threads together: identity and tenant isolation in the cloud, and a gateway to physical door controllers at the edge. The same years include a citizen-services platform for a German state health authority, where paper entitlement requests became online cases, people sign in with BundID at eIDAS level high, and every case keeps an audit log for legal accountability.

Current work

  • Hexavera, a workforce and access-control platform for enterprises of more than 1,000 employees: its identity server, built on OpenIddict for both cloud and on-premises deployments, its multi-tenant cloud with a PostgreSQL schema for every tenant, and the gateway that connects the cloud to physical door controllers. It also runs trained models in-process through ONNX Runtime and serves its assistant's tools over the Model Context Protocol.
  • Osirion.Blazor, an open source component library and Markdown CMS for Blazor, published on NuGet. This site runs on it.
  • Sunbird, a one-tap flying game on Google Play in which everyone flies the same course each day, with deterministic replays and a .NET backend.
  • polovnjak.net, a calculator for the cost of importing a used car into Serbia and Bosnia and Herzegovina, in five languages, served as static pages from the Cloudflare edge.

Working principles

  • Decisions come from primary sources: the standard, the specification, the code. Each is written down with what was rejected and the clause or the measurement that settled it.
  • Before a first release, a design is fixed instead of carried along with compatibility code.
  • Done means verified: a clean build, tests that fail without the change, and the flow driven in a real browser.

Tools

C# and .NET, from Framework 3.5 to .NET 10; ASP.NET Core, Blazor and SignalR; EF Core, PostgreSQL and SQL Server; OpenIddict; .NET Aspire, Azure and Cloudflare; ONNX Runtime and ML.NET; xUnit, Testcontainers, Playwright and k6. Before all of it, C and C++ on microcontrollers.

Contact

Email dejan@demonjic.com, or find the same name on LinkedIn and GitHub.

Dejan Demonjić

Designing and building secure, multi-tenant .NET platforms, and writing down the decisions behind them.

Read

  • Decision log
  • Work
  • RSS feed

Contact

  • dejan@demonjic.com
  • Write to me
  • About

Elsewhere

© Dejan Demonjić. Written in Belgrade.