Product Pillars - codemagic-ci-cd/company-handbook GitHub Wiki

This page focuses on HOW we build the product at Codemagic and it is aimed to help building the market leading product.

At Codemagic we focus on user experience and Product Team’s mission is to provide the greatest experience that everyone loves and values:

  • We ship an experience, not just a product, and we make sure there is a connection between the product and the website, documentation, support, etc.
  • We care about tasks and problems that users have rather than technologies we use internally.
  • We provide value to teams of any size and at different scales versus chasing high paying customers only.

Our Product Pillars

Transparent Pricing Model

We compete in a large market and believe that putting the customer first and providing the best cost/value proposition is our way to win the market. For that we never include hidden costs to the pricing model and keep one pricing page for everyone.

Self-Service Product

From getting started to upgrading to the enterprise plan we aim to provide a simple, consistent and seamless experience and usability. We focus heavily on delivering a great self-service experience around onboarding, product adoption and purchase.

Mission-critical

We launched Codemagic as a dedicated service for Flutter developers and Codemagic’s first users were early adopters and hobby developers. However, as the market becomes more mature and we have expanded our offer to all mobile developers, we are seeing an increasing demand for Codemagic from SMB to large enterprises across different industries. We now need to rapidly meet enterprise-grade security and reliability expectations our users have.

Ease of Use

Using Codemagic should be easy. Users should be thinking and focusing on applications they are developing and teams they are collaborating with, not about how to make CI/CD work. To achieve this we should:

  • Provide seamless integration into existing app development and release management processes our users have.
  • Provide better debugging capabilities for users who might not be experienced in Mobile DevOps or software development.
  • Ensure a great experience by default. Codemagic should work perfectly right out of the box for most of the users. This also means new features should work by default. It is important to remember that most people are not likely to take the extra effort to setup a new feature, nor will they be aware that the feature has been added.
  • Avoid configuration completely when possible. Requests for configuration can be a proxy for trying to support a fragile workflow. Rather than enabling bad habits and incurring product debt, effort should be spent helping users adopt best practices.