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.
- 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
- Implementing Monetization Strategies
- Designing APIs
- 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
- Systems Scaling
- 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
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.
- Scala — Akka, Play, Slick
Data Storage & Queuing
- RDBMS/SQL — PostgreSQL, MySQL, PLSQL
- NoSQL DBs — Cassandra, Redis, Neo4J
- Queueing Systems — RabbitMQ, Kafka
- Apache Spark
- R, Matlab Modeling
- Custom Models
- Monolithic & n–tier Enterprise Architecture
- Asynchronous Actor Model
- Enterprise Service Bus
- HTML5 & CSS3
- Various Data Visualization Frameworks
- C++ 3D Stage Management & Game Engine Frameworks
Cloud Service Providers
- Amazon Web Services
- Google Cloud Platform
Infrastructure as Code
- Docker, Docker Swarm, Kubernetes
- Custom Linux Scripts & Configuration
Service Discovery & Configuration Management
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.
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.
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.
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.
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
- A/B and multivariate test plans
- Technological feasibility studies
- Lo–fi and hi–fi prototypes
- Full project design documentation books
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
- Manuals for administrators
- User documentation
- Built–in modern–looking tutorials
- Infrastructure plans
- Guarantee agreements
- Training and training materials
- Docker files
- Ansible playbooks
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.
- API design
- Architecture design
- Datastore schemas
- Proof of concept tech prototypes
- Specifications of protocols
- Use cases
- UML diagrams
- Case studies
- Risk analysis
- Navigational flows
- State transitions
- Hi–fi mockups ready for cutting
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
- 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.