Projects
Work I can write about in full, with the architecture and the results rather than a screenshot. Each one gets a page of its own.
Comparative object detection system
The same image through two machine learning ecosystems, answered in one format.
My master’s thesis. The same image runs through a YOLOv8m model in Python and an ML.NET model in .NET, both behind one gateway that answers in a single format, so one React frontend draws either result. Reannotating the dataset took YOLOv8m to 0.916 mAP@0.5 against 0.748 for ML.NET.
0.916mAP@0.5 for YOLOv8m, against 0.748 for ML.NET
Read the write-upFrontendGatewayPython service.NET service
Encryptix
Three ciphers behind one service, and a hash at both ends to prove the file came back intact.
My bachelor’s thesis. A desktop client hands a whole folder to a WCF service, which encrypts every file with AES, RC6 or XXTEA. I wrote RC6 and XXTEA from their specifications instead of taking them from a library. The service records a SHA-512 hash before and after each pass, so the round trip can be proved rather than assumed. Processing the files in parallel took a 150-file pass from 68.91 to 44.16 seconds.
44.16 s150 files in parallel, down from 68.91 s
Read the write-upSource
Network Traffic Analyzer
A packet capture read once, then asked twelve questions about every packet in it.
A seminar paper on traffic analysis, with a desktop application to demonstrate it. It opens a .pcapng capture through Pyshark, walks every packet layer by layer, and pulls out what each protocol carries - HTTP headers, DNS queries, TCP flags, FTP credentials - into an expandable tree, alongside a chart of how the traffic divides up by protocol.
Read the write-upSource
Easy Breathe
Serbia’s public pollen readings, narrowed to the ones a single person needs to know about.
A mobile app on top of open government data. Serbia’s environmental agency publishes pollen measurements from stations across the country, and the app mirrors them into its own database on a schedule, then narrows them to the allergens one person has selected, within a radius they choose. It shows the result on a map, by concentration level, and as a push notification when a level climbs.
Read the write-upMobile appAPI