Stefan
Cvetkovic

Senior Software Developer

Belgrade, Serbia

Developer with 10+ years overseeing the full software development lifecycle — from analysis through maintenance. Specializes in creating quality, cost-effective solutions using .NET, React, and Azure. Currently building AI-augmented systems and multi-agent workflows powered by Anthropic's Claude.

Backend

C# .NET Core ASP.NET MVC MediatR Entity Framework

Frontend

React Redux KnockoutJS JavaScript

Cloud & Messaging

Azure Functions Azure Service Bus Azure Storage RabbitMQ

Mobile

Xamarin.Forms MVVM

Databases

SQL Server SQLite PostgreSQL

AI & Agents

Anthropic Claude API Claude Code Agent Orchestration Prompt Engineering n8n Workflows Vision AI
Paycor Oct 2022 — Present

Senior Software Developer

  • ReactJS frontend development with Redux state management
  • Azure cloud services integration (Functions, Service Bus, Storage)
  • Calendar synchronization feature end-to-end delivery
Finiti Solutions Nov 2019 — Oct 2022

Senior Software Developer

  • UN Women Serbia portal — awareness campaign tracking under UN patronage
  • E-invoice SEF integration processing thousands of invoices monthly for a Big4 client
  • COVID digital certificate verification system for Serbia's national rollout
  • Xamarin mobile asset management application (MVVM) for field teams
SRC System Integration Dec 2016 — Nov 2019

Software Developer

  • Banking backend development with ASP.NET MVC
  • Addiko Bank production deployment with zero critical bugs
Adecco May 2015 — Dec 2016

Junior Software Developer

  • Excel VBA automation tooling for internal processes
  • Sales application development and maintenance

E-Invoice SEF Integration

Shipped

Thousands of invoices per month — Big4 client, Serbian e-invoicing mandate

When Serbia introduced mandatory electronic invoicing through the state platform SEF (Sistem e-Faktura), every company in the country had to adapt overnight. For a Big4 accounting firm managing invoicing on behalf of hundreds of corporate clients, doing this manually was never an option. We built the integration that made it seamless — a fully automated pipeline that generates, validates, signs, and submits eFaktura-compliant XML documents to SEF, then reconciles responses back into the client's internal systems.

Key challenge SEF is an evolving government platform — the specification changed multiple times during development, error responses were inconsistently documented, and the platform itself had reliability issues at peak submission windows (month-end, quarter-end). Building a resilient system meant designing robust retry logic with RabbitMQ-backed queuing, exhaustive error classification, and an alerting layer that surfaced rejected invoices to human operators before regulatory deadlines hit. At thousands of documents per month, a silent failure is a compliance incident.

The solution runs as a .NET Core service with an async messaging backbone via RabbitMQ, giving it the throughput to handle month-end spikes without degradation. Every submission is fully auditable, with structured logs capturing the full lifecycle from generation through SEF acknowledgement.

ASP.NET Core RabbitMQ SEF / eFaktura XML Clean Architecture Big4 Client

UN Women Serbia Portal

Shipped

Outreach tracking platform — under United Nations patronage

UN Women needed a purpose-built platform to coordinate, track, and report on their awareness and empowerment programs across Serbia. The portal serves program coordinators, field workers, and UN reporting stakeholders — each with distinct data access needs, workflows, and reporting requirements. We built it end-to-end: from requirements gathering with UN representatives through to production deployment.

Key challenge The hardest aspect was not technical — it was designing a system that handles sensitive data about vulnerable populations with the appropriate rigor. Role-based access control had to be granular enough that field workers could only see participants in their own programs, while national coordinators had full cross-program visibility for UN reporting. Beyond access control, the data model had to support multi-dimensional program tracking (reach, engagement, outcomes) flexible enough to accommodate how UN Women's programs evolve year-on-year without requiring schema migrations.

Built on Clean Architecture with .NET Core, the system separates program management, participant tracking, and reporting into well-defined bounded contexts. Aggregate reporting feeds directly into the format required by UN Women's international reporting obligations, removing a previously manual export and consolidation step.

ASP.NET Core Clean Architecture RBAC Entity Framework United Nations

Replona

Active

AI-powered review response SaaS — multi-agent architecture on Anthropic Claude

Businesses live and die by their online reputation, yet responding to hundreds of customer reviews consistently and on-brand is a full-time job. Replona automates this entirely — it ingests reviews from Google, TripAdvisor, and other platforms, and generates contextually relevant, brand-voice-aware responses using Anthropic's Claude, ready to post with a single click.

Key challenge The hardest part wasn't the AI — it was multi-tenancy at the response quality level. Each client has a distinct tone, sensitive topics to avoid, and preferred phrasing. A single monolithic prompt couldn't handle this reliably at scale. The solution was a multi-agent pipeline built with Claude Code: dedicated agents for sentiment classification, brand voice validation, escalation detection, and final response synthesis — each a focused skill rather than an all-in-one prompt. Agents compose their outputs in a structured handoff chain, making each stage independently testable and improvable without breaking the rest of the pipeline.

The orchestration layer runs on n8n, connecting review ingestion, agent invocations, and platform posting into a visual workflow that non-technical team members can adjust without touching code. The entire development workflow — from designing agent skills to iterating on prompt chains — is itself AI-assisted, using Claude Code to accelerate implementation and catch edge cases before they reach production.

Anthropic Claude API Claude Code Multi-agent Pipeline n8n Firebase React

CalendarSynchronizer

Shipped

Enterprise bidirectional calendar sync — .NET + Microsoft Graph

Large organizations often run parallel scheduling systems that drift out of sync — internal CRM calendars, Microsoft 365, and field team schedules accumulate conflicts that cost real time. CalendarSynchronizer is a robust .NET background service that keeps these systems continuously aligned through Microsoft Graph API delta sync, with full support for multi-tenant Azure Entra ID authentication.

Key challenge Bidirectional sync sounds simple until two calendars change the same event simultaneously. Designing a deterministic conflict resolution strategy — with audit trail, rollback capability, and zero data loss — required careful modeling of event ownership, change timestamps, and idempotent write operations. Add multi-tenant OAuth2 token lifecycle management on top, and the reliability surface becomes significant.

Runs as a .NET 8 hosted background worker, processes delta change feeds from Graph API to avoid polling, and uses structured logging with full correlation IDs to make production debugging tractable across tenant boundaries.

C# / .NET 8 Microsoft Graph API Azure Entra ID OAuth2 Background Services

Scaffold Counter

Shipped

AI-assisted mobile app for construction site inventory

Scaffold inventory on active construction sites is counted manually — a tedious, error-prone process that slows down logistics and billing. Scaffold Counter is a cross-platform Flutter app that lets site managers photograph a scaffold assembly and receive a structured, exportable count in seconds, powered by Claude Vision API.

Key challenge Getting reliable counts from real construction photos is genuinely hard: variable lighting, partial occlusion, and components overlapping at depth all degrade naive approaches. The solution involved careful prompt engineering to guide the model's spatial reasoning, combined with a confirmation UI that keeps humans in the loop for uncertain counts without breaking the core workflow.

Fully offline-capable with SQLite-backed local storage — works reliably on sites with poor connectivity. Completed counts export directly to PDF or Excel, integrating cleanly with existing site reporting without requiring any back-end infrastructure.

Flutter Claude Vision API SQLite PDF / Excel export iOS & Android

RevisorIO

Active

Web audit platform for agencies and consultants

Consultants and digital agencies spend significant time manually auditing client websites across dozens of dimensions — performance, SEO health, accessibility, broken links, security headers, and more. RevisorIO consolidates this into a single platform: run an audit, get a prioritized report, track remediation over time, and manage multiple clients from one dashboard.

Key challenge A report that surfaces 200 findings of equal weight is useless in practice. The hardest design problem was building a scoring and prioritization model that highlights what actually moves the needle for a given site type — requiring both technical depth in each audit category and product judgment about what consultants actually need to deliver value to clients.

Built on Clean Architecture .NET backend with a React frontend. Supports multi-client workspaces, scheduled re-audits, and delta comparison between runs to track remediation progress over time.

ASP.NET Core Clean Architecture React Multi-client SaaS

Bachelor of Science

Faculty of Organizational Sciences (FON), University of Belgrade

2008 — 2014
English Fluent
Serbian Native
Russian Beginner

Available for new opportunities. Feel free to reach out.

stefan.cv5@gmail.com