More about me

Generalist builder working in software: scaling web technologies, test-driven development, domain-driven design, with strong hands-on AI work (agents, spec- and repo-aware tooling, prototyping, and codegen) grounded in what actually ships.

Career timeline (highlights)

For full detail, see LinkedIn.

  • Jan 2025 – present TheyDo: Senior Backend Engineer; data and integrations (metrics, partner integrations, customer-facing workflows), including AI-assisted design and delivery where it fits how the team works.
  • Jan 2011 – present Omisli.si: co-founder; built and evolved the platform end-to-end; nowadays more advisory while the team runs day-to-day product and ops.
  • Sep 2018 – Jan 2025 Plume Design: senior engineer and team captain; core APIs, cloud services, and Wi‑Fi platform features at scale (AWS, Kubernetes, Kafka, Postgres, MongoDB).
  • May 2007 – Oct 2016 Intera: CTO / lead developer for Intrix, a flexible SaaS CRM; deployment automation, internal tooling, and performance work across the stack.

My current skills:

AI & workflows: AI tooling (agents, codegen, spec- and repo-aware assistants), AI-assisted prototyping and design-to-build workflows, practical LLM use inside real product delivery
Architecture & practices: Test-driven development (TDD), domain-driven design (DDD), pragmatic AI-assisted design and delivery in real teams, GraphQL schema design and evolution, REST and event-style integrations where they fit
Code: JavaScript/TypeScript, Python, Swift, Bash
Technologies: NestJS, GraphQL, Django, Loopback, Vue, MongoDB, Kafka, Postgres, Nginx, Docker, Redis
Integrations & connectivity: Partner and third-party APIs, OAuth and credential lifecycle, sync and batch data paths. Used to working across company boundaries (engineering, product, vendors, and customer-side teams) to land integrations that stick.
Services/platforms: AWS, Ubuntu Server, CircleCI, GitHub Actions
Languages: English, Slovenian, Croatian

My roots

I started programming at 11 with BASIC on the Commodore 64. Games were fun, but making them was better - and my brother was just as eager to learn and debate code, so we were a tiny team of builders before I finished primary school. Before the internet was everywhere, I was deep in the international demoscene, running my own BBS and trading ideas with people who cared about the same craft. I keep that playful, polish-oriented side of computing alive and the same energy still shows up in side projects and how I think about developer experience, alongside a professional focus on reliable systems and what actually ships.

Today I’m a product builder and software architect with experience from bits and bytes of embedded devices through modern web applications, the stacks that keep them running, and the current wave of AI-accelerated ways to design and deliver software responsibly.

How I work

Principles I actually operate from - aligned with how I’ve built products, led and contributed in teams, and how I think about shipping useful software.

  • Correctness first, then proof. Test-driven development and domain-driven design are my default; tests should demonstrate behavior (including failing before the fix), not decorate the diff. I write for the next reader and protect shared decisions—patterns, utilities, ADRs—so the codebase stays coherent as it grows.
  • AI in the loop, with judgment. Hands-on with agents, codegen, spec- and repo-aware assistants, and prototyping — where they speed delivery and the risk is acceptable. I’m equally willing to leave them out when they don’t earn their place.
  • Evidence over slogans. Lean and data-informed when deciding what to build or change; I’d rather measure and learn than argue from abstractions.
  • Tools and workflow, well timed. I listen for the right moment to introduce or invent new tools and ways of working — adopt what fits, shape what isn’t there yet — without chasing novelty or churn for its own sake.
  • Collaboration and proportionate standards. Clear communication, early ownership when something’s wrong, and helping work move across team boundaries. In reviews I aim for two-way learning: block on migration risk or likely user-facing harm; resolve disagreements with substance or track debt explicitly instead of stalling the line.
  • People on the other side of the boundary. Whether it’s a customer integration, an internal API, or a handoff to design or frontend, I care that what ships is understandable, reliable, and aligned with how real users and teammates experience the product.

Outside work

I read widely - fiction and nonfiction. I like real conversation with people who care about craft, in software and elsewhere, and I show up in technical communities when I can. I still produce music (or at least try) and the Commodore 64 and demoscene years remain the strongest influence on how I hear and build sound. For balance: cooking at home, running, biking indoors and out, hiking, letting my youngest teach me street hockey, listening to music, going to concerts when I can, and a regular mindfulness practice.

I'm also a fortunate and proud father of two (Tadej and Andraž) and a husband to my wonderful partner in life Liljana.