Aleksandar Nikodinovski

It’s not the computer.

Your machine is fine. The computer that flew Apollo 11 had four kilobytes of memory; a chat app now wants a gigabyte to show you text. Somewhere along the way slow software stopped being a defect and became your problem to solve, with a new laptop. I build the other kind: if it won’t open on a ten-year-old office computer, it isn’t finished.

5-el Yagi

Services

What I take on

Infrastructure, systems and the software built on top of them. Scoped clearly, explained without the spec-sheet jargon.

  • Networks that just work

    I design and set up how a business’s offices, devices and locations connect and talk to each other. The wiring of your IT, in effect — routing, switching, VLAN and subnet design. Documented well enough that the next person can make sense of it, not just me.

  • Servers & everyday IT maintenance

    Setting up, securing and looking after the Linux and Windows servers a business depends on: patching, monitoring, backups, and being the person who steps in when something needs attention. Built to survive being handed over to someone else, not just to work while I’m the one running it.

  • Websites & web builds

    I design and build websites and small web tools myself, from the ground up. Whether it’s a professional portfolio, a small business’s front page online, or an internal tool nobody wants to keep doing by hand, I can build it and keep it running afterwards.

  • Phone systems (VoIP)

    Setting up and connecting business phone systems: Cisco CUCM, FreePBX, Issabel and others. Every extension rings and connects the way it’s supposed to, even across different platforms. (Technically: SIP trunking and dial-plan design.)

  • Reporting & automation

    Turning repetitive manual work into something that runs itself: building contact lists by hand, filling in the same spreadsheet every week, assembling the same slide deck. I connect the data sources and hand back a finished spreadsheet or presentation, not a raw export you still have to clean up.

  • Performance diagnostics

    When a computer or workflow is running slow, I find the actual cause before recommending a fix, so the money goes toward the specific change that solves it — not a blanket hardware upgrade that might not even help.

Experience

Where I have worked

Support and infrastructure roles, mostly on the escalation side, plus the internship the case study below came out of.

  1. Mar – Apr 2026

    IT Automation SpecialistInternship

    Menadžment Centar Beograd

    A fixed one-month placement, scoped that way from the start. Built the contact enrichment and reporting pipeline that replaced weeks of manual list-building, and handled SEO for mcb-online.rs alongside it.

    Read the case study
  2. Dec 2024 – Sep 2025

    Team Member → Team Leader, B2C Sales

    AIESEC in Serbia

    Led a five-person team selling places on AIESEC’s Global Talent and Global Volunteer programmes, running international recruitment pipelines and the stakeholder communication around them.

  3. May – Aug 2024

    Technical Support Specialist, L3

    Orion Innovation

    The L3 escalation point for a multinational client’s cloud mobility platform. Diagnostics and integration work through REST APIs, with a clean SLA record across every ticket assigned to me.

  4. Jun 2023 – May 2024

    Service Desk → Escalation Tech → L2 Technician

    NCR Corp. / NCR Voyix

    End-to-end support for more than 2,000 restaurant locations across the US and Canada, on the Wendy’s RaaS team. Three roles in under a year: escalations, root-cause analysis, vendor liaison and the knowledge base.

    Read the case study

Education

2022 – 2027

BSc Information Technology

MEF — Faculty of Applied Management, Economics and Finance

Graduating as Engineer of Information Technologies, expected 2027.

Case studies

Selected work

Five projects, described by what was done.

Automation pipeline

Contact pipeline for MCB’s CFO congress

Context

Menadžment Centar Beograd is a Serbian management training and consulting firm. It sells places at a congress for finance directors, and needed to reach the people who hold that role across Serbian municipalities. The list was built by hand: interns going through public directories page by page, for weeks at a time. I was put on the same task, worked out roughly how many pages that came to, and took the view that it belonged to a script rather than a person.

Approach

  • Scraped the national registry of Serbian public bodies (Poverenik) in full, turning scattered pages into one structured list of municipal contacts.
  • Resolved organisation records into named contacts through the RocketReach API.
  • Added a Gemini-based classification step to sort organisations by what they actually do, from their public descriptions.
  • Wrote results straight into Excel with openpyxl, in the format the team already worked in.
  • Generated the org-chart presentations automatically with Spire.Presentation, replacing manual slide assembly.
  • Handled SEO configuration for mcb-online.rs alongside the pipeline work.

Outcome

Roughly a month of manual list-building removed. The team gets a finished spreadsheet and a finished deck, not an export somebody still has to clean up.

  • Python
  • RocketReach API
  • Gemini
  • openpyxl
  • Spire.Presentation
gpconf.net

Conference website

Global Perspectives conference site

Context

MEF, the Faculty of Applied Management, Economics and Finance in Belgrade, is running its first international scientific conference in December 2026: hybrid, with submissions coming from abroad. The site had to carry deadlines, six themes, committees and a call for papers. What decided everything else was who would be opening it. Earlier MEF conferences drew a large contingent from South Asia, so the page had to assume a modest phone on an unreliable connection rather than a laptop in a Belgrade office on fibre. A call for papers that will not load is a call nobody answers.

Approach

  • Built the site fully static with Astro, so there is no server to fall over on the day.
  • Kept every conference string in a single data file, so dates, committees and themes can change without anyone touching markup.
  • Wrote the hero background as a dependency-free WebGL shader of about 5 KB, with a CSS fallback and a single static frame under reduced motion.
  • Rendered the countdown at build time before hydrating it, so nothing moves on the page while it loads.
  • Kept gold off white text for contrast, and built the header dropdowns in CSS alone so they stay keyboard-accessible without JavaScript.

Outcome

Lighthouse, Google’s page-quality audit, scores the mobile site 99 for speed and 100 each for accessibility, best practices and SEO. In practice that means the whole page weighs 68 KB, less than a single phone photo, it responds the moment it appears instead of freezing while the rest arrives, and nothing jumps around under your thumb while it loads.

  • Astro
  • WebGL
  • Cloudflare Pages
gardos.org

Website and WordPress theme

Gárdoš, a trilingual site for a Serbian–Hungarian society

Context

Udruženje Gárdoš is a Serbian–Hungarian friendship society in Zemun, named after the tower on the hill above it. Its site was a WordPress install nobody had touched since 2021: five years out of date, no HTTPS, the front page overwritten with a holding page, and 43,000 spam comments sitting in the database. It had to come back in Serbian, Hungarian and English, and stay on the host the society already pays for, where whoever runs it next can edit it without me.

Approach

  • Recovered the old site before wiping it. The uploads were gone, but the database still held the society’s own description of itself and its posts, buried under the spam.
  • Built it first as a static Astro site in three languages, then ported it to a custom WordPress theme so the society can post events and news from a normal dashboard.
  • Took the palette off a postcard of the tower from around 1900: the paper is the card’s sky, the ink its foliage. The postcard sits beside the text and prints into the page rather than onto it.
  • Made the photograph carousel in CSS alone, with no JavaScript, so it works on any browser that can open the page.
  • Generated a share card per language at build time, with every letter converted to outlines so Serbian and Hungarian accents never render as empty boxes.

Outcome

Live at gardos.org in all three languages, on the society’s existing host, with HTTPS and an editor the society can use itself. The front page is about 24 KB of HTML.

  • Astro
  • WordPress
  • PHP
  • Polylang
github.com/AleksandarN-BG/beaconwhite-water-0c82ab803.6.azurestaticapps.net

Product and business case

Beacon, incident escalation for teams that cannot buy PagerDuty

Context

Coursework for an e-business module at MEF, where the brief was a business model. Small engineering teams run production without a formal on-call process, so escalation is a Slack message at 02:14 and a lottery over who notices. PagerDuty, the standard tool for this, solves it at around $210 a month for ten people, which is exactly what puts it out of reach.

Approach

  • Built the product rather than only the deck: a Vue front end on Azure Static Web Apps, fourteen Functions endpoints, Cosmos DB, Entra ID sign-in and role-based access.
  • Made escalation a consequence of severity instead of a configuration exercise. Low is logged for the morning standup, medium sends an SMS, high places a Twilio voice call to whoever is on call.
  • On-call rotas are visible to the whole team, with admins managing shifts.
  • Wrote the commercial case around it: a feature comparison against PagerDuty and Opsgenie, four pricing tiers, TAM/SAM/SOM sizing and a twelve-month roadmap, set out on a Lean Canvas.
  • Licensed MIT and self-hostable, on the argument that a team which cannot buy PagerDuty can still run its own.

Outcome

Graded 10, the top mark for the course, for a working MVP and a complete business case. The pricing and market sizing remain a hypothesis rather than a result: there are no pilot teams yet, and the deck says as much.

  • Vue
  • Azure Static Web Apps
  • Azure Functions
  • Cosmos DB
  • Twilio
  • Entra ID

Training environment

A virtual restaurant, built for new support agents to break

Context

Every Wendy’s runs its tills, kitchen screens and takeout orders on Aloha, NCR’s restaurant point-of-sale platform, and the desk I was on covered more than 2,000 of those restaurants. Working escalations at L2, I kept seeing first-line agents come unstuck on the same kind of call: a POS that is failing does not behave one to one with the documentation, and reading more of it does not close the gap. What closes it is a real setup sat in front of them, one they are free to poke at and break, which is the one thing you cannot do on a live store at dinner rush. So I built one.

Approach

  • Stood up a complete virtualised restaurant: the back-office file server holding the menu and the day’s data, with the terminals staff actually touch registered against it, so the client/server split agents would meet in the field was the one they trained on.
  • Added Aloha Kitchen, so an order carried on to the kitchen screens instead of vanishing once it was rung up, with the routing rules that decide which screen sees which item and the bump bars cooks hit to clear a ticket when the food goes out.
  • Added Aloha Takeout, so the lab covered collection and delivery orders, the queues they sit in and orders placed for later, rather than dine-in tickets alone.
  • Broke it on purpose. Pulling the file server drops the terminals into redundancy mode, where each one keeps taking orders on its own behind a red screen border, so agents saw the failure state and the recovery path before a store ever called about it.

Outcome

New agents could work a file-server failure end to end on a lab they could not damage, before meeting one on a live escalation.

  • Aloha POS
  • Aloha Kitchen
  • Aloha Takeout
  • Virtualisation

Labs

Side projects

Nobody asked for these. They run on my own hardware, and they are where I get at the problems a paid brief never leaves room for.

sarifindustries.org

Sarif Industries

A splash site for my homelab, and an homage to Deus Ex: Human Revolution. Three.js drives a field of glass shards behind the type, with live news, weather and a clock running along the bottom.

  • Three.js
  • Vite
  • WebGL
  • VoIP Homelab

    A complete Cisco phone system at home: UCM for calls, Unity Connection for voicemail, real desk phones registered against it. Asterisk stands in at the edge for Cisco’s own border appliance, so what the lab exercises is the hard part, making two vendors interoperate.

    • Cisco UCM
    • Unity Connection
    • Asterisk
    • SIP
  • Discord on a desk phone

    Makes a Cisco handset act as a Discord client. The phone browses servers and conversations through Cisco’s own on-screen menus, then joins a voice channel, with audio crossing both ways: G.711 out of the handset, Opus into the call. The RTP framing and the codec are written by hand, since a library would be more surface than the maths.

    • Node.js
    • RTP
    • G.711
    • Opus
    • Cisco XML
    github.com/AleksandarN-BG/DiscordCiscoBridge

Recognition

Published and placed

Peer-reviewed publication2026

Digital Panopticon: How Remote Work Monitoring Shapes Employee Behavior and Motivation

MDPI Businesses · First author. Businesses 2026, 6(1), 6

Case study competitions

  • 1st place2025

    ESG performance in MSMEs

    Advise Institute (EnergyNET) & University of Novi Sad

  • 3rd place2023

    International case study competition

    University of Maribor

About

Aleksandar Nikodinovski

I go further into things than the job strictly requires. That is the honest thread running through all of this: a desk phone talked into being a Discord client, an entire restaurant built in a lab so that it could be broken on purpose, a homelab named after a fictional megacorporation. Some of it turns out to be useful and some of it is only interesting, and I have never been good at telling which is which in advance.

Most of what I know came off a support desk. The call I still think about was a Wendy’s in the US Virgin Islands: the one site built to the UK Aloha specification instead of the US one, which meant every first-line agent quietly hoped it would not land with them. The woman who called had been unable to print a back-of-house report for far longer than she should have been. It took sitting with her and working through the file server printer setup one step at a time, and she cried when it finally came out. Most infrastructure problems I get called for are like that, only half technical. The other half is explaining it clearly enough that the person on the other end can act, and a system, or a plan, that only one person understands is already halfway to failing.

The publication happened almost sideways. Professor Vuk Mirčetić, who taught me business organisation and human resource management at MEF and ended up a co-author, ran a workshop on writing scientific articles. I went for that, and stayed because I wanted to see how good I could make the figures look in TikZ. Somewhere in the middle of the typesetting I found I had something to say. Workplace monitoring is sold as productivity and experienced as distrust, and people know they are being watched far better than the people watching them tend to assume. The figures were the excuse. The argument was the point.

Outside work I hold a Class B amateur radio licence, YU4MKU, issued by RATEL. HF and VHF, software-defined radio, building antennas. Partly it is somewhere to put the physics, and partly it is the etiquette: radio keeps a strict protocol precisely because the channel is bad, and everyone on it has agreed to be brief and clear so that everyone else gets through. It is the day job with everything stripped away, getting a clean signal through a noisy channel on the power you actually have, not the power you wish you had. I work in Serbian and English, and get by in German and Hungarian.

Contact

Get in touch

Email is the fastest way to reach me. Tell me what you need built, made or fixed, and what it’s supposed to do.