experience

Full-stack engineer on an enterprise Web GIS platform

I'm a full-stack software engineer at GDi Solutions, working across the frontend, backend, database and GIS layers of GDi's configurable Web GIS platform, used by enterprise clients across many industries, including energy, utilities, telecommunications and the oil industry. I joined as a Junior Software Engineer in April 2024 and was promoted to Software Engineer I after two years. Since then I've helped shape the platform's architecture: its Node.js backend, its authentication model and the foundations of its new codebase.

April 2026 – Present
GDi Solutions logo

Software Engineer I — GDi Solutions

Vue.jsVuetifyNode.jsJavaPostgreSQLPython / ArcPyDocker
  • Helped migrate the platform's backend from Java to Node.js alongside a frontend redesign, while maintaining the Java/Vuetify version and building custom components for customers still on it.
  • Designed and implemented the platform's authentication and authorization: JWT-based auth with role- and privilege-based access control, plus REST endpoints and business logic used across the platform.
  • Laid much of the groundwork, together with the team, for the new platform's configuration module and sewerage network module: code structure, configuration moved into JSON, and global error handling with errors shown directly in the configuration module.
  • Built many of the new platform's tools, helping move most configuration out of files and into the UI.
  • Contributed components to the platform's two in-house libraries: a UI library replacing Vuetify and a shared widget library used by both the map application and the sewerage module.
  • Containerized platform services with Docker, making deployments consistent and repeatable across environments.
  • Built an AI-assisted configuration generator in the configuration module on a self-hosted Llama model: it turns the user's request and a description of a valid configuration into a prompt, then automatically checks the result and fixes most errors and unfinished sections that could break the application. A configuration that took about an hour by hand now takes a few minutes, depending on the hardware hosting the model.
  • Wrote a Python geoprocessing tool for server-side data export for a telecommunications client, and am now turning it into a universal, ArcPy-only export tool.
April 2024 – April 2026

Junior Software Engineer — GDi Solutions

Vue 2.7VuetifyVuex / PiniaJavaArcGIS APIMySQL / Oracle / PostgreSQLApacheIIS
  • Delivered platform features and custom work for enterprise clients across many industries, including electricity distribution, sewerage networks, telecommunications and the oil industry, from larger platform rollouts to smaller custom tools.
  • Worked closely with GIS specialists, both in-house and in other offices across the GDi group in different countries.
  • Built many map widgets and tools in Vue 2.7 and Vuetify, including import, export, attribute tables, drive-time analysis and custom tools for police and traffic accident data.
  • Worked on the sewerage network module: feature identification, table of contents, Java backend logic and a fix for map loading.
  • Built custom widgets, backend logic and tools for an electricity distribution company.
  • Extended the Java backend with REST endpoints, database access and proxy logic, added backend support for tool usage logs with a frontend view to browse them, and migrated databases from MySQL to PostgreSQL and Oracle.
  • Owned deployments on client Windows servers for more than 10 clients: configured Apache, set up IIS as a reverse proxy, migrated customer databases between environments, and handled production debugging and support.
  • Worked with Vuex and Pinia for state management and helped define the architecture of new modules with the team.
October 2023 – February 2024

Undergraduate Teaching Assistant — School of Electrical Engineering, University of Belgrade

PythonMachine learning
  • Assisted in machine learning labs, helping students with practical assignments and grading submissions, with a focus on applied ML concepts and implementations.
March 2022 – May 2022
Microsoft Development Center Serbia logo

Software Engineer Intern — Microsoft Development Center Serbia

React.jsD3.jsC#
  • Part of the Maps team, working on an existing web application for viewing and editing map data, with a C# backend.
  • Built a proof of concept for bringing external point-of-interest data into the application: researched where the data could come from and who to ask for it, how it was structured, and how the existing system and codebase worked.
  • Integrated the data into the frontend with React.js and D3.js.