Projects & experience

The systems that shaped how I work.

Most of it is internal or client-owned, so the code isn't public. I describe the responsibility, the stack and the kind of problems I actually handled — not screenshots of code I can't show.

Project overview

TSM Platform

Production
Senior backend and integration work on a modern service management platform: Kotlin/Java/Spring services, PostgreSQL, B2B communication, process flows, incident analysis and production rollouts of versions 2.2 and 2.4.

Stack: Kotlin, Java, Spring, PostgreSQL, Kafka, Kubernetes

ZIS

Enterprise
Enterprise Java application work with ZK/ZUL UI, controllers, services, DAO layers, imports, Excel processing and production bug fixes. This was the phase where I learned to deliver complete business features.

Stack: Java, ZK, ZUL, Maven, SQL

MNCP

Full-stack
Full-stack work across backend, frontend and database scripts: authentication, exports, archives, measuring batches, operational fixes and flow-level behavior from UI to persistence.

Stack: Kotlin, Spring, Angular, Oracle/PostgreSQL

Nordic & side work

Ongoing · ad-hoc
On-demand collaboration in a Django-based web stack, plus personal experiments. Low volume but the engagement stays open. Useful for keeping engineering habits transferable across technologies and not tied to one ecosystem.

Stack: Python, Django, templates, Astro, TypeScript

Project timeline

The timeline shows how the responsibility moved from complete feature delivery to full-stack ownership and then to production integration and release ownership.

ZIS

2017 - 2018

Enterprise application for CETIN operations. I worked on Java/ZK screens, controller-service-DAO flows, imports, Excel processing and production defects.

  • Delivered complete business screens from UI to persistence.
  • Worked in a classic enterprise Java stack with strong process and data constraints.
  • Built the foundation for later backend and integration ownership.

MNCP

2018 - 2021

Full-stack project around measuring, archives, exports and operational workflows. This phase pushed me from feature delivery into owning behavior across backend, frontend and database boundaries.

  • Worked with Kotlin/Spring, Angular, database scripts and deployment concerns.
  • Implemented authentication, export fixes, archive filters and measuring batch behavior.
  • Learned to debug issues across the whole request and data flow, not only in one layer.

TSM / CETIN

2020 - present

My main long-term focus: backend and integration work on a modern TSM platform. I work close to production behavior, releases, B2B communication, process rules and data compatibility.

  • Production rollout experience with TSM versions 2.2 and 2.4.
  • Integration work around NIP, ticketing, change management, B2B, PEW and related flows.
  • Incident analysis using logs, metrics and domain knowledge instead of blind patching.
  • Modern stack: Kotlin, Java, Spring, PostgreSQL, Kafka-style messaging and Kubernetes environments.

Nordic Web

2024 - present · ad-hoc

Ongoing on-demand collaboration on a Django-based web system. The volume is low these days, but the engagement is open — I jump in when there is a focused change to make. The value here is being able to enter a different stack and make precise changes without forcing familiar patterns onto it.

  • Worked on self-service and web behavior in Python/Django/templates.
  • Handled targeted production-oriented changes in an existing codebase.

Personal site & experiments

ongoing

Small personal projects are where I keep the full product lifecycle visible: idea, implementation, deployment, maintenance and feedback. This website is one of them.

  • Astro, TypeScript, Tailwind CSS and Cloudflare Pages.
  • Simple static architecture, bilingual content and low-maintenance deployment.

Project philosophy

Concrete ownership

A good project is one where runtime behavior, data model, release path and support story are understood together.

Modern, but useful

I like modern stacks, but the point is safer delivery, better observability, clearer code and fewer surprises after deployment.