About

I am a self-employed Software Engineer working on web, mobile and embedded systems. In addition to my professional expertise, I actively dedicate my free time to build development tools that improves the software development workflow. Currently learning VHDL.

I embarked on my programming journey at the age of 12, driven by an early fascination with technology. By the time I turned 18, I had already transitioned into a professional programmer, accumulating seven years of hands-on experience in the field. Today, at 25 years old, I continue to thrive and innovate in the ever-evolving world of programming.

Projects

Z8

Personal

Z8, an 8-bit CPU running on the Altera Cyclone IV FPGA, utilizes the Z8 assembly language for its programming needs. Currently in development, this project is envisioned to become a versatile system tailored for playing custom-made arcade games once completed.

CPU employs 8-bit registers and features a dedicated Arithmetic Logic Unit for essential processing tasks. To support comprehensive instructions, we've integrated 16-bit RAM and an instruction register into the architecture. This 16-bit configuration offers ample space within each instruction, accommodating opcodes, registers, and data seamlessly.

Tehnologies:

  • VHDL
  • Altera Cyclone IV FPGA
  • C
  • TypeScript

Links:

VGA Driver

Personal

Bouncing ball screensaver with VGA output as a prototype before integrating it into the Z8 processor. This approach allows for testing and refining the graphical display driver separately.

Tehnologies:

  • VHDL
  • Altera Cyclone IV FPGA
  • VGA

Fortris

Freelance

To bring my PLC project to life, I began by meticulously crafting the firmware for the STM32 microcontroller. This involved in-depth coding, where I optimized performance, ensured real-time response, and integrated various sensors and actuators seamlessly.

Additionally, I developed specialized software tools for programming to facilitate the PLC project's configuration and maintenance. These software solutions simplified the setup and allowed for easy customization, enabling swift adjustments as the project evolved. These combined efforts ensured a robust and efficient PLC system ready to meet diverse automation requirements.

Tehnologies:

  • C
  • C++
  • STM32
  • Qt Framework

Heating Controller

Freelance

Due to the intricate nature of the system's logic, it is distributed across two microcontrollers. This sophisticated setup employs multiple temperature sensors, weight sensors, pump controls, asynchronous motors, and a dispenser to ensure its seamless operation.

Tehnologies:

  • C
  • AVR
  • UART
  • State Machine

Water Controller

Freelance

I developed a cutting-edge toilet water controller exclusively crafted for hotel chains. This battery-powered marvel is meticulously engineered to maximize energy efficiency, ensuring responsible resource consumption. Moreover, it boasts a sophisticated battery monitoring system that diligently alerts users when replacements are needed. Based on one-time programmable PADAUK microcontroller, offering reliability to meet the unique needs of hotel bathrooms at lowest cost possible.

Tehnologies:

  • C
  • PADAUK
  • PMS171B

Robotic Arm

Personal

This project showcased the fusion of electro-pneumatic technology, PLCs, Embedded Linux, C and C++ programming languages, resulting in a highly capable robotic arm system with advanced control capabilities and a user-friendly web interface. Its potential applications spanned a wide range of industries, emphasizing innovation and versatility.

Tehnologies:

  • C
  • C++
  • Python
  • Java
  • JavaScript
  • Qt Framework
  • RFID
  • PLC

Links:

DBT Search

Freelance

Project involved the creation of a sophisticated internal platform tailored for DBT Search Title Company. This complex web application plays a pivotal role in the company's daily operations, offering distinct functionalities to different user roles including administrators, managers, and employees.

Utilized across all project phases, this platform streamlines and enhances workflow efficiency. One of its standout features is the semi-automated extraction of critical information from deeds, significantly reducing manual data entry efforts.

Behind the scenes, the system employs a microservices-based backend architecture, ensuring scalability, robustness, and adaptability to meet the evolving needs of DBT Search Title Company. This project represents a pivotal step in modernizing and optimizing the company's internal processes, ultimately leading to increased productivity and accuracy.

Tehnologies:

  • TypeScript
  • Node.js
  • Express
  • Reactc
  • PostgreSQL

Glyco CH

Freelance

Project focused on creating a mobile application designed to empower users in managing their health more effectively. This app serves as a powerful tool for calculating carbohydrate and insulin units, simplifying an essential aspect of diabetes management.

To enhance user experience and support ongoing development, premium features have been made available behind a paywall. This ensures that users have access to advanced functionalities while also contributing to the sustainability of the app.

The app is accessible to a wide audience, with availability on both Google Play and the App Store. By offering this valuable resource on two major platforms, we aim to reach and assist as many individuals as possible in their journey toward better health and wellness.

Tehnologies:

  • TypeScript
  • React Native
  • SQLite
  • Node.js
  • MobX
  • MongoDB

Links:

Pedagogical Notebook

Personal

Mobile application tailored to the unique needs of educational institutions in Serbia. This app serves as a comprehensive tool for effortlessly maintaining student development records, as mandated by Serbian law.

By making this app available on Google Play, we have made it easily accessible to educational organizations, teachers, and administrators across the country. Our goal is to simplify the process of record-keeping, ensuring that educational institutions can remain in compliance with the relevant regulations while streamlining their administrative tasks.

Tehnologies:

  • TypeScript
  • React Native
  • SQLite
  • MobX
  • Supabase

Links:

Drink Inventory

Freelance

Desktop application engineered to optimize drink inventory management and calculations. This software solution is meticulously designed to meet the specific needs of businesses in the beverage industry.

One of its standout features is seamless integration with digital scales via RS232 and USB connections, as well as barcode scanners through USB connectivity. These integrations empower users to efficiently and accurately track drink inventory, facilitating precision in stock management and minimizing wastage.

This project represents a significant step towards enhancing operational efficiency for businesses in the beverage sector, ensuring they can effectively manage their inventory with ease and precision.

Tehnologies:

  • C++
  • Qt Framework
  • RS232
  • USB

FACOM

Personal

Development of a specialized library for the Fatek communication protocol, an extended version of Modbus. This custom library is designed to facilitate seamless communication with Programmable Logic Controllers (PLCs), enabling precise reading from and writing to PLC memory.

Tehnologies:

  • C
  • FACOM
  • MODBUS

Links:

SIM800js

Personal

Node.js library tailored for the SIM800 module, a widely-used component for communication in IoT and mobile applications. This library provides comprehensive functionality for seamless integration with the SIM800 module, including the ability to send and receive SMS messages.

Tehnologies:

  • TypeScript
  • Node.js
  • RS232

Links:

Node Serbian ID Card Reader

Personal

Node.js library designed specifically for reading Serbian ID cards. While the project offers a crucial feature, it's essential to note that this library operates exclusively on Windows OS due to official government driver limitations.

The project's key innovation involved the seamless integration of an existing C library into the Node.js ecosystem. This integration ensures that developers using Node.js can easily access and utilize the functionality of reading Serbian ID cards, making it a valuable resource for various applications, including identity verification and data retrieval.

Tehnologies:

  • C
  • TypeScript
  • Node.js
  • celikAPI

Links:

Gophoria

Personal

Gophoria, introduces a powerful framework tailored for the development of web applications. It provides developers with a robust set of tools and features aimed at simplifying the web application development process.

One of the standout features of SonataJS is its command-line tools, which enable developers to generate code efficiently. This feature enhances productivity by automating repetitive tasks and facilitating rapid development.

Additionally, Gophoria offers a domain specific language for easy project project setup and configuration.

Tehnologies:

  • Go
  • CLI
  • DSL

Links:

Work Experiance

Software Engineer

Self-Employed
2018 -

Freelance work mostly on web and mobile applications

Tehnologies:

  • Go
  • JavaScript/TypeScript
  • Node.js
  • Express
  • NestJS
  • React and React Native

Embedded Software Engineer

Fiscal Solutions
2017 - 2018
  • Development of drivers for fiscal devices in ANSI C
  • Maintain core system for fiscal service
  • Design and develop framework for Lua integration for easier driver development
  • Implement core functionality for HTTP requests

Skills

Programming languages

  • C/C++
  • TypeScript/JavaScript
  • Lua Script
  • Python
  • PHP
  • ASM
  • VHDL
  • Java
  • Delphi
  • C#
  • Go
  • Rust
  • Pascal
  • Clipper

Embedded Systems

  • Atmel AVR
  • Microchip PIC
  • ESP32
  • STM32
  • Altera Cyclone

Dev Tools

  • Linux
  • Docker
  • Vim/NeoVim
  • git
  • svn

Data Access

  • SQLite
  • PostgreSQL
  • MySQL
  • MongoDB
  • Supabase

Frameworks and Libraries

  • Express
  • NestJS
  • Laravel Framework
  • ReactJS
  • SolidJS
  • React Native
  • HTMX
  • Prisma
  • Sequilize
  • Mongoose

Education

  • Economics
    Novi Sad School of Business
    2018 -
  • Mechatronics
    ETS Mihajlo Pupin
    2013 - 2017

Certificates

Languages

  • Serbian - Native
  • English - Intermediate