• Client had

      A messaging gateway service that was running on a local data center and was no longer efficient.

    • Client needed

      The client needed to adopt the existing on-premise infrastructure to the cloud environment in order to provide a highly available, scalable and resilient system.

    • We did

      Using Kubernetes, Helm, and Terraform on AWS, SoftwareMill developers were able to quickly test and validate different migration strategies with the aim of minimizing service disruptions down to minutes, not hours or days. The development team has successfully migrated the on-premise system to the AWS cloud and also improved availability, resilience, and scalability of the system. The complexity of the deployment process and the level of software maintenance effort were also reduced.

    • Outcome

      The Intelli Messaging system has increased overall traffic handling capacity and made improvements to critical components and processes along the way. The complete migration from the on-premises data center to AWS cloud solutions took about a year to finish. Read more about the project in this case study: “Migrating SMS Gateway service to the AWS Cloud”.

    Client

    Intelli Messaging

    industry

    • Telco

    category

    • Backend solution
    • Cloud

    technologies

    • AWS Cloud
    • Kubernetes
    • Helm
    • Terraform
    • MongoDB
    • MySQL
    • Prometheus
    • Scala
    • Java
    • Akka
    • Grafana
    • Graylog
    • Docker
    • Jenkins
    See live
    • Client had

      An established, well-known trading system based on Scala and Akka. The system was close to its limits of traffic handling.

    • Client needed

      A new reactive platform, written from scratch with scalability and resilience as primary goals. The new platform needed to be able to take over traffic from the current one with minimum downtime.

    • We did

      Our team designed and implemented a set of services that communicate asynchronously thanks to extended use of Event Sourcing approach. This allows flexible recovery, auditing, and service integration. With Akka Cluster, Akka Persistence, Cassandra and Kafka we provide scalability on many levels. We also prepared advanced performance tests to ensure that the solution can handle large growth of transaction volume with time. Additionally, we built a rich monitoring setup around the new system, using Prometheus, Grafana, and Graylog.

    • Outcome

      A performant reactive system allowing fast trading, and processing growing traffic with very high resilience in case of failures. Read more about the project in this case study.

    industry

    • FinTech

    category

    • Blockchain

    technologies

    • Scala
    • Akka Cluster
    • Akka Persistence
    • Cassandra
    • Apache Kafka
  • Project name

    Flexys

    • Client had

      Flexys is an enterprise collections software that helps companies with debt resolution. It consists of a range of modules that enable creditors to engage with their customers on their preferred channel at the right time, using targeted language. On the technical side, Flexys had an MVP of the product that proved the business model is successful. Client needed an experienced team extension that would help not only with the product kick-off but also the team setup.

    • Client needed

      Our main task was to help Flexys with the technical side of the project while they built the team from the ground-up. We functioned as part of Flexys team and provided them with deep expertise in some of the technologies they use, primarily Scala programming. At the beginning, our main task was reviewing the code base and identifying opportunities for improvements. We started implementing quick fixes and came up with a plan for making major architecture improvements. Our next goal was transferring good practices to the team. We introduced in-house team to the remote work best practices, shared the code review culture and encouraged the start of a technical reading club.

    • We did

      We work in a TEM (Team Extension Model) in which we augment the in-house IT team with developers that support the team with the expertise in a variety of areas including designing project architecture, developing high-quality code and mentoring. This is an ongoing development effort to build new features and functionalities for the market. We helped to develop project architecture including Akka (http, persistence), Cassandra, PostgreSQL and Angular. We also shared our best practices within backend (Scala) and front-end (Angular) technologies.

    • Outcome

      We contributed both to the product’s code and team setup by sharing our best practices. The joint effort of the whole team resulted in the successful migration setup. We managed to launch the back-office part of the app, as well as brought the customer-facing part of the app to the next level. Thanks to our support Flexys has been able to deliver to their first client.

      Read the case study Debt Resolution System - from an MVP to a first client delivery

    Client

    Flexys

    industry

    • Fintech

    category

    • backend solution
    • frontend solution

    technologies

    • Scala
    • Akka
    • Cassandra
    • Postres
    • Slick
    • Kafka
    • Docker
    • Kubernetes
    • Angular 6
    See live
  • Project name

    Kafka Consulting

      What was done

      Our consultants, certified with Confluent Certified Developer for Apache Kafka, helped clients with:

      • integrating Kafka in an enterprise environment, communicating with PostgreSQL, Oracle, ActiveMQ, RabbitMQ and other technologies, through Kafka Connect and custom Kafka applications.
      • setup and maintenance of Kafka clusters using Kubernetes, choosing an appropriate partitioning strategy and sizing.
      • leveraging Kafka in a reactive message processing pipeline, gracefully handling traffic bursts and distributing load through websockets to connected clients.

      We are a consulting partner of Confluent. Our skills have been proven by numerous commercial projects, see Clutch for testimonials.

      industry

      • Enterprise

      category

      • Consulting

      technologies

      • Kafka
      • Client had

        Previous-generation system which couldn't cope with increasing message loads.

      • Client needed

        There were three main focus areas. First, reliable delivery of hundreds of messages per second. Second, an integrated billing module with a web front-end. Finally, covering new use-cases of the system, for example new interfaces, integrating with other providers.

      • We did

        Implemented a high-performance, reliable SMS message queue, with nightly stress/performance tests. We also developed a web application that allowed for checking of billing status. Also, on top of the system, we created an SMS-iMessage-like solution.

      • Outcome

        Fail-safe and efficient system with high bandwidth.

        Read the case study Building Heavy Load Messaging System

      Client

      IntelliSMS

      industry

      • Business
      • Telco

      category

      • Backend solution
      • Web app

      technologies

      • Scala
      • Akka
      • Groovy
      • AngularJS
      • Java
      • Drools
      • MongdoDB
      See live
      • Client had

        A custom new cryptocurrency.

      • Client needed

        Online wallet for the custom currency and for Bitcoin, with transactions history and recovery tool in case the online wallet was broken.

      • We did

        We built backend system for wallet for both currencies, and analyser of blockchain, for discovery of transactions transferring money to users addresses from outside. Wallet addresses are multisig, where 2 keys out of 3 are enough to sign transaction. User has 2 private keys, our customer keeps 1, so user alone can transfer money from their addresses, but our customer needs user’s cooperation to do so.

      • Outcome

        Finished and tested product was delivered to customer. The customer has individual users accounts on it, as well as cryptocurrency exchange. Users are able to transfer their money, generate addresses, and see all their transactions history.

      category

      • backend solution
      • blockchain
      • Fintech

      technologies

      • Scala
      • Java
    • Project name

      Tipser

      • Client had

        Legacy system with zero test coverage, tightly coupled with Microsoft infrastructure and difficult to scale/maintain. Web interface was full of bugs and not mobile friendly.

      • Client needed

        High quality, scalable code and architecture that will be easy to extend and maintain. Also test coverage and infrastructure automation were two of the most important goals.

      • We did

        New responsive web front-end, developed in a "mobile-first" spirit. Highly scalable API bridge that provides consistent and uniform REST API and makes further migration to Scala micro services fully transparent. We built a mobile-aware, WYSIWYG CMS and made static content management straightforward. We made deployment & infrastructure management declarative and fully automated.

      • Outcome

        No vendor lock-in and help with spinning up client's own dev team. Due to high automated tests coverage (> 80%) and zero-downtime Continuous Delivery clutched with advantages of applying git-flow patterns, deployments are just a matter of formality. Project gained more confidence

      Client

      Tipser

      industry

      • Ecommerce

      category

      • Backend solution
      • Mobile app

      technologies

      • Scala
      • Akka
      • Docker
      • Ansible
      • AWS
      • Elasticsearch
      • Klarna
      See live
      • Client had

        Old, ineffective system which took hours to process daily data batches.

      • Client needed

        Our customer builds systems used by energy providers to build long-term client relationships, increase efficiency in energy use and manage energy demand.

      • We did

        We helped to build a big data system, capable of processing huge amounts of data daily and later analysing them using both statistical and machine learning methods.

        For more details read project's case study

      • Outcome

        A platform capable of processing and analysing billions of data records in a timely manner.

      industry

      • Energy

      category

      • bcakend solution
      • Machine Learning

      technologies

      • Scala
      • Akka
      • Cassandra
      • Spark
      • Asible
      • Client had

        LPP S.A. collects online customers’ data (mainly: orders stored in databases and customers’ online behaviour) from various sources. The company approached SoftwareMill to help them streamline data pipelines to be able to capture crucial metrics and derive business value in real-time.

      • Client needed

        Processing data, arriving at high velocity, required battle-proven tools for stream processing and the preparation of data for a recommendation engine. Due to the nature of the online retail business client needed a system featuring self-healing, as well as load balancing. Plus monitoring of the infrastructure health and performance.

      • We did

        Seven streaming applications have been delivered as well as devops scripts setting up Kubernetes and all necessary tools. As a result, our customer was able to attach custom dashboards to display the sales volume as well as feed their recommendation engine in a cost effective way without latency.

      • Outcome

        A transformation of the existing batch-based process into a data streaming platform built up on mature and popular open source tools. The reports are fed in real-time via stream processing applications build up on Kafka Streams and Apache Beam allowing LPP S.A. to interact with online customers in real-time.

        Read the case study Real-Time Insights into customers online behaviour.

      Client

      LPP S.A.

      industry

      • Retail
      • eCommerce

      category

      • Backend solution

      technologies

      • Apache Kafka
      • Kafka Connect
      • Kafka Streams
      • Apache Beam
      • Google Cloud Platform
      • DataFlow
      • BigQuery
      • CloudSQL
      • Snowplow
      • Kubernetes
      • Strimzi
      See live
      • What was done

        Our certified Cassandra Architects helped clients with:

        • event-sourced trading engine (as an Event Store),
        • user and content rights management system for set-top boxes,
        • storage and processing billions of energy-related readings.

        We are a consulting partner of Datastax. We've gained hands-on experience architecting systems with Cassandra, one of the most widely used scalable, fault-tolerant database, by deploying it in clusters and writing applications querying Cassandra in a number of projects.

        category

        • Consulting

        technologies

        • Cassandra
        • Client had

          Highly coupled, microservice-based MVP with technical debt (classic 3 layer architecture) that was hard to maintain and problematic when adding new features required by customers or business department.

        • Client needed

          To get rid of the technical debt, prepare the system for easy and rapid implementation of new functionalities.

        • We did

          Refactored large parts of the system to DDD-like architecture which decoupled the components and made implementing new features easy.

        • Outcome

          Easily extendable, well tested and lowly coupled components.

        industry

        • Real Estate

        category

        • refactoring
        • testing
        • backend solution
        • frontend solution
        • microservices

        technologies

        • Java 8
        • Spring Boot
        • JPA
        • PostgreSQL
        • LiquiBase
        • Vavr
        • Docker
        • AWS
        • Angular
        • AngularJS
        • Protractor
        • Client had

          SwissBorg is a team of fintech experts and engineers that are creating a holistic crypto wealth management ecosystem accessible to everyone. As a pre-launch of their show-case feature, the Wealth App, SwissBorg has built the Community App, a mobile app game that allows you to predict, learn and earn Bitcoin.

        • Client needed

          We joined our client’s team and together developed the mobile game. On the technical side, we were responsible for building the back-end of the app, mainly in Scala and Akka.

        • We did

          The part of the app that we developed consists of the following elements:

          • Forecast module which evaluates bids versus the exchange rates every 24 hours;
          • Calculation module that counts each player’s score.
            Additionally, we created an advanced notifications module that sends emails, SMS and push- notifications to users notifying them about the result of their latest bids. Apart from programming, we also engaged in Kubernetes implementation in the project. We joined the client’s team on-site to share our knowledge, experience and make the implementation smooth. Finally, we were responsible for creating platform tests based on behave tool.

        • Outcome

          The project was delivered on time and without any major outage on production. Our contribution to the project resulted in high customer satisfaction.

          The app has reached more than 14 000 (as of May 2019). It’s a fun, easy to use app that lets you predict the price of Bitcoin and earn at zero cost. It’s available on iOS & Android.

          Read the case study Mobile App that Lets you Predict, Learn and Earn Bitcoin.

        Client

        SwissBorg

        industry

        • Finance

        category

        • Blockchain
        • Crypto

        technologies

        • Scala
        • Akka Streams
        • PostgreSQL
        • Docker
        • Kubernetes
        See live
        • Client had

          Reco.se is a Swedish tech company behind the largest independent review site in Sweden where customers describe their previous experiences with a variety of companies. The platform comprises two websites listing different kinds of businesses - reco.se is for local businesses and recotrust.com is for e-commerce vendors and sites.

        • Client needed

          We’ve joined our clients team to quickly scale their efforts and together we have been developing the platform on an ongoing basis. The scope of our work includes new features development, but also DevOps tasks and bug fixing. On the technical side, we are responsible for building multiple microservices to add new functionalities along the way, mainly for integrations with external systems as well as for internal data analysis to support business decisions.

        • We did

          We contributed to a number of infrastructure projects; one of which was moving from self-hosting to GCP cloud. We were also responsible for a major refactoring that included, for example, mailparsing project and search API project with Elastic Search integration.

        • Outcome

          The platform is currently the largest independent review site in Sweden. Since March 2019, users who want to leave a review need to get verified with their bank ID, which contributes to the website transparency and credibility. Launching recotrust.com enabled the company to dive into e-commerce.
          Read the case study Review Platform - Project Acceleration and New Features Development

        Client

        Reco.se

        industry

        • Review platform

        category

        • Backend
        • Frontend
        • DevOps

        technologies

        • Scala
        • Akka
        • Play
        • Postgres
        • Elasticsearch
        • RabbitMQ
        • Kubernetes
        • Sangria
        • React
        • Redux
        See live
        • Client had

          Knip provides a mobile application for hassle-free insurance overview and management.

        • Client needed

          Analytical application for data warehouse.

        • We did

          Developed the integration module between the data warehouse and the mobile app. Created an algorithm to match customer preferences with the best offers available on the market at a given time. Created a recommendation service (REST API and a web frontend).

        • Outcome

          A big data system, capable of processing huge amounts of data daily and later analyzing them using both statistical and machine learning methods. Ready to use mobile application. No upgrades/new features required.

        Client

        Knip

        industry

        • Insurance

        category

        • backend solution
        • mobile app

        technologies

        • Scala
        • Play
        • Slick
        • AngularJS
        • H2
        • Client had

          IP Integrated works with banks, airlines, and messaging companies providing accurate SMS reporting tools. There was existing legacy system, which didn't scale with increased demand.

        • Client needed

          Our main task was to implement efficient daily imports of SMS delivery reports. Secondly, our client neded an analytical platform, used later in the billing module. Finally, a modern web front-end was needed.

        • We did

          We developed an effective application that allowed for checking of billing status. We've also built a reporting platform for bulk SMS delivery, live status tracking for customers with analytics, data export and billing. The above was accompanied with a fast and responsive UI.

        • Outcome

          An efficient billing platform delivered to our Client.

        Client

        IP Integrated

        industry

        • Telco

        category

        • backend solution
        • mobile app

        technologies

        • Scala
        • Akka
        • MongoDB
        • AngularJS
        • Rickshaw
        • Spark
        • Ansible
        See live
        • Client had

          Ineffective and unreliable system without automation and integration with various providers.

        • Client needed

          Increase the automation of the loan repayment process.

        • We did

          Implemented automatic and maintenance-free loan repayment system for customers and company employees.
          Created independent module, easy to modify and develop without affecting core business activity.

        • Outcome

          Option to pay loan installments automatically by credit card.
          Automatic reminders, hints for account numbers and confirmations for customers.
          5x reduction in service time.

        industry

        • Fintech
        • Banking

        category

        • Backend solution

        technologies

        • Java
        • Spring
        • Hibernate
        • Client had

          A Collateral Management System not fulfilling upcoming legislation changes.

        • Client needed

          A system in line with new legal regulations.

        • We did

          Redeveloped and adapted system functions to current needs and requirements of the bank.
          Delivered complex workflow-based system.

        • Outcome

          Complex collateral management project that helps our client to consolidate their systems in one place.

        industry

        • Banking

        category

        • backend solution

        technologies

        • Scala
        • Java
        • JBoss
        • Client had

          Started the project with some dev teams.

        • Client needed

          New dev team to work on the core back-end features.

        • We did

          We helped to build a workflow engine that ensures flexibility and compliance. We implemented new features, code and testing patterns using best practices.

        • Outcome

          Pilot release in progress, updating system as needed. Vocado reduced costs (no paperwork, no manual calculations) for schools in the US.

        Client

        Vocado

        industry

        • Business
        • Education

        category

        • backend solution

        technologies

        • Java 8
        • Spring
        • MySQL
        • Cucumber
        • LiquiBase
        • MongoDB
        See live
        • Client had

          A security startup idea, for a self-managed home security system.

        • Client needed

          Implementation of the Attikis' new business and technology model to the growing home monitoring market.

        • We did

          We've built a VoIP module that connects to the alarm devices and sends alerts (phone, SMS, email) depending on the user-defined rules.

        • Outcome

          MVP (Project is temporarily closed).

        Client

        Attikis

        industry

        • Security

        category

        • backend solution
        • web app

        technologies

        • Mobicents
        • Drools
        • AWS
        • Client had

          An existing application in Ruby, which had severe performance and scalability problems.

        • Client needed

          A scalable API service with rapid development of new features.

        • We did

          Migrated the backend to Scala, provide continuous development of new API endpoints used by iOS and Facebook applications.
          Implemented a recommender system which blends a number of preference inputs.
          Check out case study on our blog

        • Outcome

          Yap.tv went global (lots of data) with their social TV mobile application (Facebook and Twitter integration).

        Client

        Yap.tv

        industry

        • Media

        category

        • backend solution

        technologies

        • Scala
        • Mahout
        • AWS
        • JavaScript
        See live
        • Client had

          Emotiful aggregates data from Facebook, Twitter and Instagram, providing an app for browsing and tagging images.

        • Client needed

          To scale his contemporary system, migrate the infrastructure to AWS and deliver new features without downtime.

        • We did

          We implemented social network integration, mobile Push notifications and scaled the system to handle growing user base.

        • Outcome

          A feature-complete system with automated infrastructure and modular codebase, exposed as elegant and secure API for mobile applications.

        Client

        Emotiful

        industry

        • Entertainment
        • Media

        category

        • backend solution
        • mobile app

        technologies

        • Scala
        • Akka
        • Android
        • iOS
        • MongoDB
        • AWS
        • Chef
        • Client had

          Zerigo provides feature-rich VMware View Hosted VDI and VMware-based Cloud Servers.

        • Client needed

          To improve reliability and quality of the existing software.

        • We did

          We've improved and extended a broker which unifies multiple VMware products' APIs into a single REST API with complex asynchronous execution support and informative error handling.

        • Outcome

          A well-tested backend component with a clean API, built with extensibility and easy troubleshooting in mind.

        Client

        Zerigo

        industry

        • Business

        category

        • backend solution

        technologies

        • Java 8
        • Groovy
        • Spring Boot
        • Redis
        • WebSockets
        • Client had

          Zerigo provides a cloud panel for DNS, an essential part of the Internet.

        • Client needed

          Improvements in the existing DNS system.

        • We did

          We've maintained Zerigo DNS as a whole - from the web application to server internals.

        • Outcome

          Improved the overall reliability of the application and turned legacy code into a clean code.

        Client

        Zerigo

        industry

        • Communication

        category

        • backend solution
        • mobile app

        technologies

        • Ruby
        • Ruby on Rails
        • Sinatra
        • PowerDNS
        • PostgreSQL
        • Redis
        • Chef
        • What was done

          SoftwareMill helped develop a web app that detects a person's skin type and color for an e-commerce solutions company. The team worked on AI and ML algorithms, as well as Shopify and Google Cloud integrations. Find out more on Clutch.

          industry

          • e-commerce

          technologies

          • Machine Learning
          • AI
          See live