• Open positions
  • Get to know us
  • FAQ
Open positions

Kotlin Desktop Engineer – AI Inference Tooling (Senior/Staff)

Kotlin Desktop Engineer – AI Inference Tooling (Senior/Staff)
B2B21 000 - 31 080 PLN NET PER MONTH
LOCATION + Remote Poland: Kielce, Kraków, Wrocław
Apply now

VirtusLab is a leading European software consulting and engineering company, home to over 350 EU-based professionals. Our mission is to craft clean code and practical solutions with precision and purpose. We foster a dynamic culture rooted in strong engineering, a sense of ownership, and transparency, empowering our team. As part of the expanding VirtusLab Group, we offer a compelling environment for those seeking to make a substantial impact in the software industry within a forward-thinking organization.

About the role

We’re looking for an engineer to join a small, startup-like team building a desktop tool for local AI inference. You’ll work with Kotlin and Compose Desktop to create an application that deploys, configures and manages AI models running on local devices – think NVIDIA Spark, Claude Code, and Codex connected to locally hosted models.
Your daily work will include building the UI in Compose Desktop, integrating with backend REST APIs for model deployment, and setting up agent configurations through TOML/JSON/YAML files. You’ll also work on LLM proxy routing and create installers for Windows, macOS and Linux. The team already has an internal MVP and talks directly with potential users. We’re on the road to making it open source. If you want to shape a developer tool from the early stages, this is it.

Kotlin Advanced
Kotlinx.coroutines / concurrent programming Advanced
Compose Desktop (Jetpack Compose) Regular
REST API integration Regular
English Advanced
View available projects
Project
Local Inference Platform
Project Scope

We are building a desktop application for deploying and configuring local inference on local devices (e.g. NVIDIA Spark / DGX Spark), managing model lifecycle (start/stop), and connecting coding agents like Claude Code and Codex to locally hosted models. Currently an internal MVP, on the road to open source.

Tech Stack

Kotlin, Compose Desktop (with JetPack Compose roots), kotlinx.coroutines Backend integration: REST APIs for model deployment management Agent layer: configuration files in toml/json/yaml, LLM proxy routing from agents to BE Packaging: native installers — msi (Windows), deb (Linux), dmg (macOS) Nice-to-have tooling: mitmproxy for HTTP debugging, LiteLLM/OpenRouter-style proxy layers.

Challenges

Building a desktop control plane for local AI agents that abstracts away the messy parts of running LLMs on heterogeneous hardware — model lifecycle, proxy routing, agent configuration, and OS-specific quirks (path separators, signing, packaging) — while keeping the system extensible enough to evolve toward open source. Visualising model statistics and system load on top of a backend that actually does the deployment.

Team

Small, startup-like team on the JetBrains side — no bureaucracy, direct contact with potential users, fast iteration. Code reviews as part of the process.

What we expect in general

  • Strong Kotlin skills and genuine interest in Compose Desktop as a UI framework
  • Understanding of asynchronous and concurrent programming with Kotlin Coroutines
  • Awareness of cross-platform differences (file paths, OS-specific packaging)
  • Engineering pragmatism: cutting complexity while keeping the system extensible
  • System-level thinking: understanding how UI, backend APIs, agent configs and proxy layers fit together
  • Hands-on experience using LLMs daily, with the judgement to know when they help and when they don’t
  • Fluency in English, with good communication skills for a remote-first team
  • Self-motivation and the ability to take full ownership of features end-to-end
  • Experience with different LLM agents and their configurations (nice to have)
  • Experience with mitmproxy or similar HTTP traffic inspection tools (nice to have)
  • Experience with LLM proxy layers such as LiteLLM or Openrouter (nice to have)
  • Experience creating and signing OS installers (MSI, DEB, DMG – nice to have)

 

 

A few perks of being with us

Building tech community
Building tech community
Flexible hybrid work model
Flexible hybrid work model
Home office reimbursement
Home office reimbursement
Language lessons
Language lessons
MyBenefit points
MyBenefit points
Private healthcare
Private healthcare
Training Package
Training Package
Virtusity / in-house training
Virtusity / in-house training
And a lot more!

Apply now

Kotlin Desktop Engineer – AI Inference Tooling (Senior/Staff)

"*" indicates required fields

Accepted file types: pdf, Max. file size: 5 MB.
Please submit a CV no longer than two pages.
Current recruitment process: For the purpose of recruitment, I hereby give consent as per art. 6.1.a of the GDPR to processing of my personal data (other than that listed in art. 22 [1] § 1 Labour Code) by Virtus Lab Sp. z o. o. (as Co-Controller for a full list of joint controllers, see Privacy Policy) with its headquarters at Szlak 49 Street, 31-153 Cracow. At the same time I accept the Privacy Policy of the Data Controller. I acknowledge that my personal data will be kept for the duration of the recruitment process and as regards any potential claims, for the period of 36 months maximum, and that I have the right to access this data or have it rectified or deleted on demand. This consent can be withdrawn at any time, but this withdrawal does not make the previous processing illegal*.(Required)*

Current recruitment process: For the purpose of recruitment, I hereby give consent as per art. 6.1.a of the GDPR to processing of my personal data (other than that listed in art. 22 [1] § 1 Labour Code) by Virtus Lab Sp. z o. o. (as Co-Controller for a full list of joint controllers, see Privacy Policy) with its headquarters at Szlak 49 Street, 31-153 Cracow. At the same time I accept the Privacy Policy of the Data Controller. I acknowledge that my personal data will be kept for the duration of the recruitment process and as regards any potential claims, for the period of 36 months maximum, and that I have the right to access this data or have it rectified or deleted on demand. This consent can be withdrawn at any time, but this withdrawal does not make the previous processing illegal*.

(Required)
Future recruitment processes: I hereby give consent as per art. 6.1.a of the GDPR to the processing of my personal data by Virtus Lab Sp. z o. o. (as Co-Controller for a full list of joint controllers, see Privacy Policy) with its headquarters at Szlak 49 Street, 31-153 Cracow, in order to use this data in future recruitment processes. I hereby agree to possible storage of my personal data for this purpose in Virtus Lab’s database for a period of 36 months maximum. At the same time I accept the Privacy Policy of the Data Controller. I acknowledge that I have the right to access this data or have it rectified or deleted on demand. This consent can be withdrawn at any point, but this does not make the previous processing illegal*.

Future recruitment processes: I hereby give consent as per art. 6.1.a of the GDPR to the processing of my personal data by Virtus Lab Sp. z o. o. (as Co-Controller for a full list of joint controllers, see Privacy Policy) with its headquarters at Szlak 49 Street, 31-153 Cracow, in order to use this data in future recruitment processes. I hereby agree to possible storage of my personal data for this purpose in Virtus Lab’s database for a period of 36 months maximum. At the same time I accept the Privacy Policy of the Data Controller. I acknowledge that I have the right to access this data or have it rectified or deleted on demand. This consent can be withdrawn at any point, but this does not make the previous processing illegal*.

Karolina Buraś
Coordinated by
Karolina Buraś
Senior IT Talent Acquisition Specialist
linkedin
Kotlin Desktop Engineer – AI Inference Tooling (Senior/Staff)
B2B21 000 - 31 080 PLN NET PER MONTH
LOCATION + Remote Poland: Kielce, Kraków, Wrocław
Apply now
group of people gathered together
Not sure if this role is right for you?
It doesn't mean that you don't match. Tell us about yourself and let us work on it together.
Contact us
We create and engineer software
Privacy Policy