// software design & development

Small team.
Big systems.

We design and build the backends that banks, insurers, betting platforms and healthcare run on. Kotlin, Java and Spring – 22 years of experience, with AI agents part of our everyday work.

Team.kt
val team = Team(
    size = Small,
    experience = 22.years,
    stack = listOf(
        "Kotlin", "Spring Boot",
        "Kafka", "Redis", "Vaadin",
    ),
    ai = ClaudeCode,
)

team.deliver(yourProject)
// ✓ 128 tests passed · deployed to prod
22+
years in software development
10
years as a senior engineer and architect
6
industries, from banking to healthcare
0
middlemen between you and the code

// why us

Why a small company for a big project

  • Senior people, no middlemen

    You talk directly to the people who design and write the system. No requirements passed down through three layers of account management.

  • We fit into your team

    We strengthen your team, take over an entire module, or lead development. We work within your processes – Scrum, Kanban, Jira, Azure DevOps, GitHub.

  • Architecture that lasts

    A modular monolith where it's enough, microservices where they make sense. Hexagonal architecture, OpenAPI and tests as standard.

// technology

Technology we know how to get the most out of

A tool is only as good as your judgement of when and how to use it. This is the stack we have years of production experience with – and what it means for you.

  • Kotlin · Java

    A modern language on a proven platform

    Kotlin brings concise, safe code without NullPointerException; Java 8–21 brings a vast ecosystem and stability. We work in both and know how to combine them.

    Fewer bugs, faster development, easier hiring.

  • Spring Boot · Spring Modulith

    The backbone of enterprise applications

    Security, data, REST APIs and integration in one proven framework. With Spring Modulith we build modular monoliths with enforced boundaries between domains.

    A fast start now, splitting into services later – without a rewrite.

  • Apache Kafka

    Real-time events

    Connects dozens of systems without fragile point-to-point coupling. Every change becomes an event that anyone who needs it can read – even after the fact. Ideal for audit, analytics and event-driven architecture.

    A system that scales and never loses an event.

  • RabbitMQ · JMS

    Reliable queues and jobs

    Distributing work across workers, message routing, retries and dead-letter queues. Proven on a platform that delivers the betting offer to every online channel.

    A traffic spike won't take down the whole system.

  • Redis · Hazelcast

    Millisecond response times

    Caching, shared sessions, rate limiting and distributed locks. Data the database would take hundreds of milliseconds to return is there instantly.

    A fast application even with thousands of concurrent users.

  • Vaadin

    Back-office without a frontend team

    Full-featured web applications written entirely in Kotlin or Java. Ideal for internal systems, admin tools and applications full of forms and tables.

    One team, one language, faster delivery.

  • PostgreSQL · Oracle · MongoDB

    Data you can rely on

    Relational and document databases, JPA and Hibernate, schema migrations with Liquibase and Flyway. We design data models that hold up to tomorrow's requirements.

    Consistent data and deployments without manual steps.

  • Elasticsearch

    Search that finds

    Full-text search, fast filtering across large catalogues, aggregations and analytics over large volumes of data.

    Users find what they're looking for the first time.

  • Docker · Kubernetes · OpenShift

    From commit to production

    Containers, Helm, CI/CD in GitHub Actions or Jenkins, quality gated by Sonar. We take software all the way to production – our job doesn't end at the commit.

    Deploy several times a day, no night shifts.

// and more

  • Micronaut
  • Keycloak · OAuth2
  • REST · OpenAPI 3
  • SOAP · JAX-WS
  • Hexagonal architecture
  • Microservices
  • JUnit 5
  • Spock
  • Cucumber · BDD
  • Rest-Assured
  • Groovy
  • Helm
  • Sonar · Nexus

// how we work with AI

AI as part of the craft, not a marketing label

AI agents such as Claude Code are a normal part of our work today. They speed up getting to grips with unfamiliar code, writing tests, refactoring, code review and documentation. That lets a small team handle work that used to take more people.

  • A person is accountable for every line of code, not a model.
  • We follow the client's rules for working with AI and data.
  • Where data must not leave the premises, we can work with locally hosted models.

// experience

What we've worked on

Systems where downtime costs money and a data error costs customer trust.

  • Banking

    A new bank from scratch

    Led the team responsible for incoming and outgoing payments and client documents at a brand-new Czech bank. APIs at both gateway and service level.

  • Banking

    Digital client onboarding

    Microservices for opening an account online with OCR document recognition, and an application for selling mortgages through partners.

  • Betting

    One offer for every channel

    A high-throughput backend delivering the betting offer to the web and mobile apps, built in an international team.

  • Healthcare

    Next-generation CRM rewrite

    Architecture, data model and backend of a system for scheduling statutory medical examinations – a complete migration from the legacy platform.

  • Chemicals & compliance

    Chemical substance management

    Architecture built on Spring Modulith and hexagonal principles, leading the development team and acting as the technical contact for the client.

  • E-commerce & logistics

    E-shop and warehouses at scale

    Domain APIs for the e-shop of a major car-parts distributor, and an application for quoting and configuring warehouse systems.

Insurance, investment funds and consumer lending round out the industries we know.

// working together

How we work together

  1. Intro call

    We go through what you're solving, where it's stuck and what you expect from working together.

  2. Quick orientation

    We look at the code, the architecture and the team, and tell you where we can help most.

  3. Incremental delivery

    Short iterations with results you can check along the way.

  4. Handover or continuation

    We leave behind a documented, tested system. We're happy to stay, but you're never dependent on us.

// contact

Got a project that needs experienced hands?

Write a few lines about what you're working on. We'll get back to you within two business days.

LinkedIn – Milan Štěpanovský