
Complex systems. Critical problems. Safe modernization.
With 20+ years of experience, mostly in Fintech, I help enterprises modernize complex Java/JVM systems, solve distributed-systems challenges, and improve performance and reliability in production.
How I can help
Java/JVM modernization, distributed systems and performance, and production reliability. I also work with Spark and Kafka on existing data-processing platforms.
Legacy Java/JVM Modernization
Dependency upgrades, CVE remediation, and API-compatible change in established Java enterprise systems, as part of my work on an enterprise asset-management system since 2022.
Distributed Systems & Performance
Concurrency, clustering, and production systems. Hazelcast work includes investigating and resolving performance problems, optimizing behavior, and working with distributed caching, with locking redesign as one part of that experience. Spark/Scala data processing and Kafka-related work are separate, on existing platforms.
Production Reliability & Technical Risk
Difficult production incidents and technical risks: synchronization and mutual-exclusion issues, CI/CD recovery before a release, and assessing whether a library change is safe for a legacy Java environment.
Frontend modernization
Maintaining and modernizing frontends of existing applications (React, Vue, TypeScript), with typed GraphQL/REST contracts to the backend and incremental, low-risk change.
Selected engineering work
Selected production work: a Java enterprise asset-management system, including its Hazelcast performance and coordination work, and a separate Spark/Kafka data platform.
Java enterprise asset-management system
In production since 2008 · maintained by me since 2022
Maintenance and improvement of an established system: dependency upgrades, CVE remediation, and Hazelcast performance and locking work, validated with multi-server integration tests.
Spark/Kafka platform
In production since 2022
Developed Spark/Scala data-processing code, with strongly typed Datasets and pipelines wired through Kafka (OpenShift, Vue.js, PostgreSQL). Intensive development first, then maintenance with small features added gradually.
Promonode: Building a Media Analysis Platform
Co-founder & CTO · early-stage product
Hands-on technical lead and implementer of a Kafka-based streaming platform that extracts features from online news with NLP to calculate reputation indicators for companies and products.
BigGIS: Geographic information system with big data analytics
Project coordinator · 2015–2018
Scalable stream-processing of raster and vector data from environmental sensors, with Spark, Kafka, and Flink. Documentation archived on GitHub.
corrplot: Open-Source Project Revival
Revived in 2016
I helped turn an under-maintained R package into a working open-source project, adding issue tracking, automated tests, and CI, and promoting it within scientific communities.
How an engagement typically proceeds
I keep the process straightforward: we agree on the problem and constraints, and I explain the options and trade-offs transparently. I focus on the underlying cause, implement a practical solution, and validate and document the result. The goal is to solve the immediate problem without creating another maintenance burden.
Understand the problem and constraints
Start from the production symptom and agree on what must keep working.
Agree on a practical solution and implement it
Choose the smallest safe change and implement it.
Validate, document, and hand over the result
Test under realistic conditions and document the result so the team can maintain it.
About this practice
ionTrails is the consulting practice of Viliam Simko, an independent consultant for complex enterprise systems based in Karlsruhe, Germany. The work is hands-on engineering inside existing production systems — Java/JVM cores, distributed platforms, and operational incidents.
Start a conversation
If you have a concrete technical challenge in an established production system, write with the symptom, the stack, and the constraint. Email and phone remain on the contact page.