Ingénieur logiciel
Niš, Serbie
VukCvetković
Je travaille sur l’ensemble du produit, du modèle de données jusqu’à la mise en production. J’écris le backend en Node.js (NestJS, Express) et en .NET. Sur AWS, je m’occupe du déploiement et de la communication événementielle entre les services, et tout ce que voit l’utilisateur, je le construis en React.

- NestJS
- Node.js
- Express
- .NET
- Python
- React
- Astro
- SQL
- MongoDB
- AWS
- Docker
À propos
Je travaille sur des projets clients, du premier modèle de données jusqu’au déploiement sur AWS. Je pars toujours du domaine : quelles sont les données, qui peut y accéder et avec quels systèmes elles doivent communiquer. L’API, les services et l’interface React en découlent.
Formation
Je suis titulaire d’un master en génie logiciel. Mon mémoire comparait deux écosystèmes d’apprentissage automatique sur une même tâche : un modèle YOLOv8m en Python et un modèle ML.NET en .NET, derrière une seule passerelle NestJS et un seul frontend React.
Le meilleur exemple de mon travail frontend, c’est ce site : quatre langues et sept jeux écrits sans canvas ni bibliothèque de jeu. Chaque jeu est accompagné d’un texte qui explique comment il a été construit.
Compétences
Backend
- NestJS
- Node.js
- Express
- .NET
- Python
Frontend
- React
- Astro
Données
- SQL
- MongoDB
Cloud et DevOps
- AWS
- Docker
Expérience
Ncoded Solutions
Développeur backend
2024 -
- Des services backend en Node.js (NestJS, Express) : API REST, authentification JWT, contrôle d’accès par rôles et intégrations tierces, sur des bases SQL comme documentaires.
- Le même travail en .NET, structuré en Clean Architecture pour que la logique métier reste découplée du framework.
- Côté AWS : S3, ECS, EC2, Lambda, Route 53 et EventBridge, pour les déploiements et la communication événementielle entre les services.
Novateq Global
Développeur full-stack
2023 - 2024
- Des services backend en .NET Web API et le site de l’entreprise en ASP.NET MVC, adaptés aux besoins de chaque client.
- J’ai assuré la stabilité de la plateforme Sportsbook en traitant les incidents remontés, et j’ai étudié des projets de jeux de casino pour comprendre comment ce type de produit se construit.
Formation
Mémoire de masterSystème comparatif de détection d’objetsUne même image soumise à deux écosystèmes d’apprentissage automatique, avec une réponse au même format.
Master, génie logiciel
Faculté de génie électronique, Université de Niš
2023 - 2026
- Mémoire de licenceEncryptixTrois chiffrements derrière un seul service, et une empreinte aux deux bouts pour prouver que le fichier est revenu intact.

Licence, informatique
Faculté de génie électronique, Université de Niš
2019 - 2023
Projets
Tous les projetsSystème comparatif de détection d’objets
Une même image soumise à deux écosystèmes d’apprentissage automatique, avec une réponse au même format.
Mon mémoire de master. Une même image passe par un modèle YOLOv8m en Python et par un modèle ML.NET en .NET, tous deux derrière une passerelle qui répond dans un format unique, si bien qu’un seul frontend React affiche l’un ou l’autre résultat. La reprise des annotations a porté YOLOv8m à un mAP@0.5 de 0,916, contre 0,748 pour ML.NET.
0,916mAP@0.5 pour YOLOv8m, contre 0,748 pour ML.NET
Voir le détailFrontendPasserelleService PythonService .NET
Encryptix
Trois chiffrements derrière un seul service, et une empreinte aux deux bouts pour prouver que le fichier est revenu intact.
Mon mémoire de licence. Une application de bureau confie un dossier entier à un service WCF, qui chiffre chaque fichier avec AES, RC6 ou XXTEA - les deux derniers implémentés d’après leur spécification plutôt que tirés d’une bibliothèque - et enregistre une empreinte SHA-512 avant et après chaque passage, ce qui permet de prouver l’aller-retour au lieu de le supposer. Le traitement en parallèle a fait passer un lot de 150 fichiers de 68,91 à 44,16 secondes.
44,16 s150 fichiers en parallèle, contre 68,91 s avant
Voir le détailCode source
Network Traffic Analyzer
Une capture lue une seule fois, puis douze questions posées à chacun de ses paquets.
Un mémoire de séminaire sur l’analyse du trafic, avec une application de bureau qui la met en pratique. L’application ouvre une capture .pcapng via Pyshark, parcourt chaque paquet couche par couche et présente ce que transporte chaque protocole - en-têtes HTTP, requêtes DNS, drapeaux TCP, identifiants FTP - dans une arborescence dépliable, avec un graphique de la répartition des protocoles.
Voir le détailCode source
Easy Breathe
Les relevés publics de pollen en Serbie, filtrés pour ne garder que ceux qui concernent une personne.
Une application mobile construite sur des données publiques ouvertes. L’agence serbe de l’environnement publie les relevés de pollen des stations de tout le pays, et l’application les copie à intervalles réguliers dans sa propre base, puis ne garde que les allergènes choisis par l’utilisateur, dans le rayon qu’il a fixé. Elle affiche le résultat sur une carte, par niveau de concentration, et par une notification push quand un niveau augmente.
Voir le détailApplication mobileAPI
Comment je peux vous aider
Développement backend et API
En pratiqueSystème comparatif de détection d’objetsDes API REST et des services en Node.js (NestJS, Express) ou en .NET, avec la modélisation des données, l’authentification, le contrôle d’accès par rôles et les intégrations tierces.
Développement produit full-stack
En pratiqueEasy BreatheUne fonctionnalité entière, confiée à une seule personne : le schéma de la base de données, l’API et les écrans React qui s’en servent.
Architecture et déploiement AWS
En pratiqueNcoded SolutionsMettre en place une infrastructure cloud ou consolider celle qui tourne déjà : environnements, pipelines CI/CD, et une revue des coûts et de la fiabilité.
Revue technique et conseil
En pratiqueNovateq GlobalL’audit d’une base de code ou d’une architecture existante : ce qu’il faut corriger en premier, un plan de refactorisation, et si une réécriture se justifie.
Contact
L’e-mail est le moyen le plus rapide de me joindre. Si vous avez un projet en tête, une description sommaire du problème suffit pour commencer.
Me contacter