Skip to content

FOUNDER'S HANDBOOK

Compilation of resources to help you during your startup journey as well as frequently asked questions about us.

Most outsourcing companies would do any work you would present to them. They leverage the billable hours of their employees to earn profits. In most cases, client’s product managers and technology leaders plan the work to be done by the outsourcing company’s employees.

We don’t do just any work. We work on projects where we can build entire products end to end. We leverage our framework and product skills to build great products, and earn profits. We support startup founders to start from scratch without any team and get to a stage where they can launch and take over the product from us.

When we started our operations, we used to take on all kinds of work: enterprise apps, freelance projects, staffing etc. However what we really enjoyed was being part of ideation and building of startups. Gradually we decided that it was the only thing we wanted to do.

Building startups is hard. The margins are narrow and speed of delivery necessary is very high. That is why not a lot of software outsourcing companies do that exclusively. 

However, we love designing products so much that we would rather do this hard work than anything else.

Before we started to work exclusively for startups, we worked with large companies such as SAS, Telenor and Vimplecom. We also built an enterprise products for Prime Genetics (a Nestle group company), and provided cloud infrastructure support to a European cryptocurrency exchange.

Since then, we have worked on building SaaS products, e-commerce products, online education systems, and some advanced machine learning use cases in medical imaging.

Our teams are based in Lahore, Pakistan. We have supported fully remote work from the beginning of our operations. We believe that in the future of work, location will matter less and less.

We have our primary legal presence in Wyoming.

We are a small company and we want to stay that way. When you want to scale infinitely, you have to adopt some mediocrity. We hire some of the best engineers in the country, and produce awesome products. 

We take up only a handful of projects at a time. Our CEO, Jaffar spends time on every project as the Product Consultant.

Yes, we do. Please check our open positions here.

Yes and no. 

You cannot really skip any of the steps here. However, you can do some of them without us. For example, if you reach out to us with an already validation product with clear requirements, we can skip the discovery workshop.

Product Management is a shared responsibility. While we help you discover product landscape and requirements during the discovery phase, you make all the product decisions. We will provide you with advice and manage the development process; but as startup founders, you lead your product’s vision.

Apart from discovery workshop, all our services are priced on Time and Material. Your product is allocated with a team and weekly costs are settled before starting work on any step. You are invoiced for every week the team is working for your product.

Most software projects are tough to estimate. Startup projects are particularly hard, as the requirements can change drastically. Time and material is the only pricing methodology which makes sense in this case.

We add you to our project management and collaboration tools where we communicate asynchronously on a daily basis. All activities performed are also streamed on these tools continuously.

We also have synchronous calls at least once every week.

While we work on Pakistan’s standard time (+5 GMT), collaboration tools and routine calls translate into a smooth process.

Once invoices for a given period are cleared, the intellectual property developed for you is transferred to you. This includes design, code and documentation.

The cloud environments where the product is hosted are controlled by the client from day one.

We have developed an elaborate framework to build products. This frameworks includes best platforms out there which are future safe and battle tested. These tools are also ones for which large developer communities exist.

If you come from a technical background and have your own preferences for how the product should be built, we can always discuss and reach a consensus. 

Founders who work with us have a lot to do. As we outline in the product discovery phase, they have to lead product management, setup teams for sales, success, content and marketing; and eventually prepare for transitioning development back to internal teams.

There is a steep learning curve involved with becoming a startup founder, and we help you along the way.

Some startups find it difficult to scale with outsourced partners. Some investors also require that startups have in-house development teams. In these cases, we help our customers build teams and transition development to them.

As we build the product, you learn a lot about building products. If you don’t come from a technical background, you will be exposed to technology, agile processes and other concepts. By the time your product is ready, you would know enough to get started with your own teams.

All the time. We learn new things, discover flaws with some of our choices, and continuously make improvements to our way of doing things.

Most open source platforms we use do come with their hosted versions and we do use them. The point is the ability to host your own when you need to.

We have a clear preference for Google Cloud Platform because of its hosted Kubernetes service. The Google Kubernetes Engine is the best hosted Kubernetes option out there.

Kubernetes is the most important platform in our entire framework and therefore our choice of cloud provider is dictated by it.

We use trunk based development as it suits our model of continuous delivery and extensive automated testing.

Our typical definition of done includes unit tests, integration tests, and end-to-end tests on a preview environment identical to production. The preview environment is also tested manually before the code is merged and the story is accepted.

Our typical micro-services backend includes a Ambassador (an API gateway) and Kafka (a message queue). 

All requests from the outside world lands on the API gateway which authorises these requests and relays them to appropriate services.

We de-couple micro services from each other as much as possible and avoid direct HTTP requests. We use reactive event architecture to establish inter-services communication. 

Monoliths won’t scale and won’t support advanced use cases typically required by modern apps.

If you don’t expect your product to scale, and the requirements are simple enough, then you should use a monolith framework such as Django or Laravel by all means.

Micro-services are the way to go if you want to build a product which can scale and where you can keep adding features without having to refactor the architecture of the product.