Services

Iterators helps businesses cut costs and increase revenue with custom software. Our knowledge and flexibility lets us serve both established enterprises and growing companies. Below is a detailed list of services we provide.

Startups

Back End and Front End Development

Mobile Development

Software Architecture Design

Product Design

Metrics Collection and Customer Behavior Testing

Solving Scalability Issues and Improving Response Times

SEO

Implementing Monetization Strategies

Designing APIs

Enterprise

Enterprise Content Management

Workflow Management

Business Process Optimization

Document Digitalization & Archiving

Authentication & Corporate Role Management

Business Intelligence

Project Feasibility Studies

Risk Assessment

Project Specification

Technical Training

Staff Training

Tech

Systems Scaling

Debugging

Implementing CD & CI Solutions

Infrastructure Design

Preparing and Training IT Operations

Building and Managing Content Delivery Networks

Building Live Streaming and VoD CDNs

Auditing Code Bases

Building and Verifying Test Suites

Supporting Acceptance Tests

Technologies

Our development team specializes in developing reactive systems in Scala, Akka, Vue, React, and React Native, for back end, front end and mobile.We strive to provide complete software solutions with back end and front end tech that runs on reliable, robust, and easy to maintain infrastructure.

Back End

Core Technologies

Scala — Akka, Play, Slick

Ruby — Ruby on Rails

Data Storage & Queuing

RDBMS/SQL — PostgreSQL, MySQL, PLSQL

NoSQL DBs — MongoDB, Cassandra, Redis, Neo4J

Queueing Systems — RabbitMQ, Kafka

Data Analysis

Apache Spark

R, Matlab Modeling

Custom Models

Architecture

Microservices

Monolithic & n–tier Enterprise Architecture

Asynchronous Actor Model

Enterprise Service Bus

Front End

Web

HTML5 & CSS3

React

AngularJS

Backbone.js

Underscore.js

Scala.js

Various Data Visualization Frameworks

Mobile

React-Native

Android

iOS

Windows Phone

Other

OpenGL

C++ 3D Stage Management & Game Engine Frameworks

Infrastructure

Cloud Service Providers

Amazon Web Services

Heroku

Google Cloud Platform

DigitalOcean

OpenStack

Infrastructure as Code

Docker

Ansible

Custom Linux Scripts & Configuration

Service Discovery & Configuration Management

ZooKeeper

Consul.io

CoreOS

Instrumentation, Metrics, and Visualisation

NewRelic, Takipi, StatHat

StatsD, Graphite

Working with Iterators

We believe that business is more about relationship than simply exchanging money for services or goods. That is why we value open communication, collaboration transparency and quality deliverables.

Constant Feedback

We enjoy working in a tight feedback loop. That is why we usually mix into our client’s team. We take part in the same stand–up meetings, we do the planning and development together, we sit in the same chat rooms. We keep our clients informed through the same communication channels they use ex. email, Skype, Hangouts, Slack or old–fashioned IRC. We want our clients to know what we are working on and what is the progress.

Flexible Agreements

We are always open to new forms of cooperation but over the years we battle–tested following agreements:

Flat hourly rate — we charge for every hour our developers have spent on client’s project. Once in a while (usually once in a month) we issue an invoice for the last billing period. We provide detailed receipt so that our client knows what he or she pays for.

Retainer fee — it is very similar to hourly rate but there is a fixed amount of hours paid upfront. This allows us to offer lower price–per–hour while our client can better plan his or her budget.

Fixed–price — it is the least flexible form of agreement where specification and price are set upfront. It makes it very easy to plan budget but specification must stay frozen throughout the project course. Payments are usually batched and tied to product milestones. Due to very high risk of specification becoming outdated, we suggest this agreement only for very specific projects.

Delivery & Guarantees

Every agreement carries some risk. We always do everything to mitigate it for our clients — we want to be an investment, not a cost. In particular we put various guarantees and SLAs in our agreements with clients. We strive to make them feel that they hired the right company for the project.

Deliverables & Artifacts

Providing services for us is about delivering. Even for the smallest tasks we want to give our customer something concrete and useful. Below is a list of deliverables our clients receive from us.

Product Design

It is great when designers of the product are familiar with state of the art technologies and solutions. Invite us to your design team and we will bring new diverse technological perspective. Forget about the engineer nay–sayers. We will do everything to envision solution that solves your customers problem.

Just a glimpse of the artifacts you can work on with us:

Persona analysis

Customer journeys

User stories

Backlogs

Storyboards

Mockups

A/B and multivariate test plans

Requirements

Technological feasibility studies

Lo–fi and hi–fi prototypes

Full project design documentation books

Deployment

Complete project consists not only of working software but also server infrastructure, proper operation procedures and trained staff equipped with well–written documentation.

Example deployment artifacts our client get from us are:

Ready–to–go servers

Backup procedures

Scripts

Manuals for administrators

User documentation

Built–in modern–looking tutorials

Infrastructure plans

Assistance

Guarantee agreements

Training and training materials

Docker files

Ansible playbooks

System Design

Designing great customer experience is one thing, the other one is building a machine that will make it happen — with robustness and at scale. Even in fast agile iteration, documentation can help stakeholders understand each other and keep technical debt transparent. Staged waterfall project management often requires basing expectations on formalized documents. We will help you validate them and learn where the pitfalls could be hidden.

Backend

API design

Architecture design

Datastore schemas

Proof of concept tech prototypes

Specifications of protocols

Use cases

UML diagrams

Case studies

Risk analysis

Frontend

Navigational flows

State transitions

Hi–fi mockups ready for cutting

Development

Monitoring quality of software is not only important for us, but it should be important for you. We will provide you with all the information and tools required to do a proper Quality Assurance. Some of them are listed here:

Source code in your repository

Binaries

Tests & reports

Issue tracking

Code review access

Set up CI/CD pipelines

Developer documentation

Code & architecture review reports

VALIDATE YOUR TECH STRATEGY

MEET US ON OUR CONFIDENTIAL CONSULTATION — WE’LL BE ABLE TO ASSESS RISKS INVOLVED WITH YOUR TECH STACK.

I agree to and accept that Iterators Sp. z o.o. will collect, make automatic decisions about, analyze and catalog information about Internet electronic addresses which have connected with the device I have used, information about the type of the device I have used, including the type and version of software installed on the device, for the purpose of analyzing audience demographics, optimizing website content and showing relevant ads. Automatic decision-making does not involve sensitive data. The agreement is in force for the period when it is legally binding, or until a Party withdraws from the agreement. Withdrawing from the agreement shall result in removing the user’s profile.