Miloš PetrovićDownload CV
How I got here

From a hundred small websites to tools for EVE Online.

I never took the straight road. No bootcamp, no degree first: just a lot of shipping, a few moments of feeling stuck, and each time a decision to learn the next thing. This is that story.

Started
└2012
Cities
└Zaječar → Belgrade → Reykjavík
Chapters
└8
Reading time
└3 min

01 · 2012 → 2016 · Zaječar

The first websites

High school by day, client websites by night.

I studied information technology at the gymnasium in Zaječar. On the side I did graphic design and built WordPress sites for the Union of Secondary School Students.

In 2015, still in school, I started my own small agency. It began with me and a few clients who needed a website.

Learned
  • └HTML
  • └CSS
  • └WordPress
  • └Photoshop

02 · 2016 → 2018 · Belgrade

Busy, but not growing

Over a hundred websites in one year, and nothing new learned.

I moved to Belgrade and spent a year at the Faculty of Mathematics. Then work pulled harder than lectures.

At my first job I built over a hundred HTML and CSS sites from designs and about fifteen WordPress sites in a single year. At eTech 360 I also led a small team split between offices in the US and Belgrade.

It looked busy. But after a year I saw that I was repeating myself, not growing, and I decided to change that.

Learned
  • └Speed
  • └Client work
  • └Leading a team

03 · 2018 → 2019 · Belgrade

Falling for JavaScript

A former colleague opened a door, and I walked through it.

In March 2018 a former colleague brought me to Jungo Digital Solutions. I built a mobile web app in PHP and an agency site with its own CMS.

At night I studied React, and I fell in love with it. A colleague and I built Najletovi, a flight booking engine with price alerts and online payments. I wrote it first in AngularJS, then rebuilt the whole thing in React, because React fit the way I think.

Learned
  • └JavaScript
  • └React
  • └PHP
  • └AngularJS

04 · 2019 → 2022 · Belgrade

Becoming full stack

The job where I finally started working on myself.

In April 2019 I joined Morph. I led development of a large Laravel and Vue.js app used by a sales team of more than a hundred people, and built its NativeScript mobile app. Developers reported to me, and I learned to review, plan and mentor.

I also built an ordering system for Voot, my first project for an Icelandic client.

In 2021 I trained as a life coach in rational emotive behaviour therapy. I wanted to understand people as well as I understood code.

Learned
  • └Laravel
  • └Vue.js
  • └NativeScript
  • └Mentoring

05 · 2022 → 2025 · Reykjavík

A new chapter in Iceland

A new country, a new stack, and back to school.

In October 2022 I moved to Reykjavík and joined Sidekick Health, building web apps for patients and clinicians in TypeScript and React. Five months later I was a senior developer.

I brought TanStack Query into the frontend, helped move the platform from REST to GraphQL, and wrote end-to-end tests in Cypress.

In 2023 I started a BSc in Computer Science at Reykjavík University, next to a full-time job. For the first time I was learning the theory behind things I had built for years.

Learned
  • └TypeScript
  • └GraphQL
  • └Cypress
  • └Computer science

06 · 2025 → 2026 · Reykjavík

Apps, end to end

The years I learned to own a product across the whole stack.

At Heima I joined a startup with an existing mobile app and worked across the whole stack: Expo on the client, tRPC on the server, one TypeScript monorepo. I also built the Heima Assistant, an LLM agent.

On the side I built Fittality, a fitness app, alone: the app, the backend and the App Store release. And for a university course I built most of Dr. Cinema with one teammate.

Learned
  • └React Native
  • └tRPC
  • └LLM agents

07 · 2025 → Now · Reykjavík

Building with LLMs

Language models became my second craft, and I treat them like any other engineering tool: measure first, trust later.

In early 2025 I completed the Anthropic Academy courses, and I have studied the field every day since: how models from Anthropic, OpenAI and Google reason, where they fail, and what actually improves their output.

I build chat agents with tool calling for real users: the Heima Assistant, Fitty, the AI coach inside Fittality, and agents for my own work. I design the system prompts, the tools and the context each model sees, and in Heima I streamed the agent’s answers into the React Native app.

The part most people skip is measuring. For the Heima Assistant I built an eval harness that scores how often the agent picks the right tool, so every prompt change is a measured change, not a feeling.

I also work with AI coding agents every day: plan first, review with a fresh model, then implement, with AI review running in CI. I have taught colleagues to work this way.

Learned
  • └Tool calling
  • └Agent design
  • └Context engineering
  • └Evals
  • └Claude, GPT and Gemini

08 · 2026 → Now · Reykjavík

Tools for EVE Online

Owning tools end to end, and building a life here.

In June 2026 I joined Fenris Creations, part of CCP Games, as a tools programmer. I build internal tools and services for EVE Online, from the data model to the game-server code that reads the result.

Outside work I am finishing my degree and practising my Icelandic. I got engaged here, and Reykjavík is home now.

Learned
  • └Python
  • └Django
  • └Game tooling

Want the short version? Back to the CV page.