Engineer and founder.




Now: building Ownira (in pilot).
- Based in
- Prague, Czechia
- Role
- Engineer, founder
- Languages
- EN · CS · RU
- Experience
- ~5 yrs on the JVM
- Status
- Open to projects
Career story
I'm Ivan Sapronov, a backend and fullstack engineer in Prague. I've spent about five years building and scaling enterprise web applications and services, mostly on the JVM (Java, Kotlin, Spring), plus the Angular frontends, cloud infrastructure and identity systems around them.
My first freelance Java project, in 2021, was a CRM with an admin panel and the analytics services behind its React dashboards. Ableneo came next, and the problems got more distributed: Redis caching and reactive services with Spring WebFlux, Keycloak for SSO and CIAM, Kafka with custom connectors, Dockerised services on Kubernetes, and Grafana, Prometheus and InfluxDB to watch it all in production.
At CCA Group I owned both sides of the stack: a dynamic form engine in Angular that cut the time to create a new form type from days to hours, and the Java services behind it. I moved some of those services to Kotlin coroutines, which roughly halved p95 latency under peak load. Then, at NCR Voyix, I designed backend-for-frontend and aggregator services for a system serving around two million users, built a self-service Angular platform for US clients, ran services on GCP with full observability, and started using LLM and agentic tooling to take the routine out of engineering work.
Most recently I spent three months at CreativeDock building Kotlin/Spring Boot microservices from scratch and fixing the GitLab CI and Argo CD plumbing around them. Right now I'm building Ownira, which is in pilot.
The rest of my time goes to things with engines and horizons: I am a pilot in training on ultralight aircraft, I ride motorcycles, and I keep a growing list of countries. Flying rewards preparation and checklists, riding rewards attention, travel rewards curiosity; I try to bring the same traits to a codebase.
How I work
Boring infrastructure, interesting products
Pick the well-trodden path for databases, queues and identity, and spend the novelty budget on what users touch.
Correct first, then fast
A wallet that is off by one cent is not a wallet. Measure before optimising, and never trust a benchmark you didn't run yourself.
Checklists over heroics
Good people make bad mistakes when they skip the routine; runbooks, reviews and tests keep me on it.
Write decisions down
A decision nobody wrote down gets re-made every six months, so I keep short ADRs and READMEs next to the code.
What I value
- Honesty
- I report numbers as measured, and I'd rather leave a gap than invent a metric.
- Ownership
- I follow a change into production and check that it works for the people using it.
- Curiosity
- New protocols and new countries scratch the same itch.
- Respect for time
- Short meetings, and docs you can read in five minutes.
Languages
- EN · ProfessionalEnglish
- CS · ProfessionalCzech
- RU · NativeRussian
What I enjoy working on
- Microservices and event-driven systems on the JVM
- Backend-for-frontend and aggregation layers
- Identity & access (OAuth2, OIDC, Keycloak, CIAM)
- Kotlin coroutines and reactive Spring
- Angular products that replace manual processes
- Cloud-native delivery on GCP, AWS and Kubernetes
- CI/CD pipelines that stay fast under load
- LLM and agentic tooling for routine engineering work
- Market research for things I might build next
Stack I ship with
Languages & backend
Java · Kotlin · TypeScript · Spring Boot · Spring WebFlux · Spring Security · JPA / Hibernate · Kotlin Coroutines · REST & GraphQL · OpenAPI
Frontend
Angular · RxJS · NgRx · React · Astro · Tailwind CSS
Cloud & infrastructure
GCP · AWS (S3, SQS, CloudWatch) · Docker · Kubernetes · Argo CD · Terraform · Helm · GitHub Actions · GitLab CI
Data, auth & observability
PostgreSQL · Redis · Kafka · ElasticSearch · Flyway · Keycloak · OAuth2 / OIDC · Testcontainers · Grafana & Prometheus · LLMs & MCP