Highlights of Custom CRM Software Development [Case Study]

Highlights of Custom CRM Software Development [Case Study]

Sooner or later almost every company faces a choice between custom CRM software development or a CRM subscription.

What is CRM for?

When you are just starting your business, there may be few interactions with (potential) customers, and all business processes may appear simple and easy to keep track of without additional automation. However it does not take a lot of time to become overwhelming and affect the quality of your customer service.  

Customer relationships management (CRM) systems help to administer and analyze the interactions with clients, keep all your prospects' and customers' data in one place, and bring clarity and certain structure to sales and marketing workflow. 

CRMs usually allow you to store leads' and clients' contact information, set labels and priorities, automate correspondence (e.g. for marketing needs), view history of the interactions, provide inter-system chat for users, etc.

Reasons to (or not to) develop custom CRM software

Complexity of available CRM platforms: a broad variety of their features is often disturbing for startup companies, whose work processes do not require a considerable part of the proposed functionality. A few years ago, without having a fully formed sales department at Apiko, this was one of the reasons why we decided to build our own CRM system.

We started with a simple custom CRM version with basic functionality, and kept its further development and adding new features according to our growing needs. A certain benefit of this decision was total CRM customization: a possibility to completely adapt it to internal company processes. 

However, it should be mentioned that custom sales processes that are specific or unique for each particular business averagely constitute not more than 10% of overall sales activity. This means that the existing CRMs can cover most of your business requirements flawlessly. So make sure that custom CRM development is not an emotional decision, but a well-reasoned one.

Per-user payment: custom CRM development makes sense if your sales department consists of several employees. Billing process for already existing CRM systems is most often based on per-user payment. 

For example, the Basic plan for close.io CRM costs $69 per user. If there are 2 people at your sales department, $69*2=$138 is the monthly price for the platform services. However, if your sales team consists e.g. of 12 people, the price would be $69*12=$828 per month. It will add up to over $9k per year, which is a considerable amount.

That's why another crucial thing you have to consider before making a decision to build your own custom CRM is its long-term usability. Try to answer the following questions

  1. For how long do you see your business working in more or less the same market niche? What is the longest period that you are certain about? Is it just this year, or, for example, the next decade?
  2. How fast are the custom sales processes changing within your company? What are the chances that the CRM that you develop this year will not become outdated soon?

If you plan on running your business for a long term, and have a large sales department, then custom CRM software development has all chances to pay off and become a totally beneficial decision. However, if the business processes are fast-changing, you should be ready to continuously update your software, which means additional expenses for CRM technical support and development.

Let's take a closer look at the Apiko CRM system!

Custom CRM development at Apiko: case study 

It was challenging for Apiko, as a professional service firm (PSF), to find a CRM platform that would match our business processes requirements. In 2018 a dedicated team of Peter Strutynskyi (Team Lead, full-stack developer), Petro Liashchynskyi (full-stack developer), and Yuliya Tsvihun (QA engineer) began working on the Apiko CRM software development.

Tech stack

Frontend: React, redux, styled-components, antd

Backend: Node.js, Express, MongoDB, Mongoose

Integrations: Amazon S3, Gmail, Google Calendar, mailgun, Telegram, Slack, Skype, Zoom, Hubspot, recruitment.apiko (our custom recruitment platform)

Planning features of the future CRM: our first development challenge

It was easy to determine that several advanced features available in CRMs were quite extra for us. Yet, it was not that effortless to specify what functionality exactly we needed. At first, our CEO took the role of a product owner, and described the features that, in his opinion, should benefit Apiko's workflow. That's how we got the first version of the CRM platform. 

However, its exploitation has shown that some of the developed features were useless, and some necessary ones were still missing. That's when we switched to a customer development approach for planning the CRM software features.  

Now the Tech Lead questioned the CRM system users about the needed functionality. Analysis of the regular feedback from everyday users became a fundamental factor for validation of the current and planned features. Within a few iterations the CRM was efficiently improved.

Main CRM features

Set up basic CRM properties: add users, specify the main channels where you get contacts' information from, implement the priority gradation, and indicate the labels that would be informative for your team. In our case, you can do it with the drop-down menu.

CRM set up

Invite a user to the system by clicking on Manage users.

Add users to CRM

Сustomize the CRM according to the sources where the requests come from, add relevant meaningful labels and statuses.

Customize CRM

Notifications about new requests, meeting and request notes, and status updates via Telegram, Slack and Skype.

The Overview tab shows the most recent customers' reviews, the last requests, won customers, tasks panel (featuring the undone, and done tasks), a dashboard showing the requests that came through the web, Upwork, etc. and their total number with a link to the statistics page.

Requests: shows all requests in chronological order, starting with the most recent ones. The list includes the requests received through your website, as well as the ones you add manually, for example, when you need more people for the ongoing project. You can assign a person responsible for the request, and attach relevant documents.

The following data is specified (you can also filter the requests by each of these categories): 

  • Statuses (inbox: just received ones, pending Apiko response, LT communication, won/customer, lost, delivered, estimation request, pending customer response)
  • Sources (web request, Upwork, reference, existing customer, etc.)
  • Assignees: people responsible for processing the request. Besides your internal team, you can hire sales agents who will have access only to the requests they have been assigned to. You can cancel the assignment only in case there are no open tasks. 
  • Labels: to  set the priority or relevance of the request, as well as add any category marks that you may find useful
  • Start date-end date
  • Show only the requests received from the companies

It is also possible to deal with the requests in kanban mode.

By clicking on a particular request you are redirected to the page with its details.

Request details

Here you will find 

  • The main contact info such as name, email address, phone number, and country
  • Request message, which shows the message, received with that request
  • Tasks: see if any tasks have been assigned concerning this request. You can view the task details, edit the task, set its status and priority. The tasks can be generated automatically or created manually.
  • Meeting notes: note the highlights of your online meetings or calls with the contact. The Apiko CRM platform will automatically generate the .pdf file with these data and send it to the contact via email. They will receive the message with the notes, and a form asking to assess the call with your team. This great feature not only allows reviewing the outcome of the conversation whenever needed, but also helps to gather some feedback about your service. Call quality assessment is a unique feature that you will not find in other CRMs
  • Comments: see contact's journey on your website described with a list of the URLs of web pages they visited before submitting a request
  • Files: the attachments collected with the request and during its processing
  • Logs: specifies the request status, e.g. inbox, won ,lost, pending response, delivered, etc.
  • The Talents category is synchronized with our internal company website recruitment.apiko.com. In case when the contact is your customer, you will see who works on their project, their role and tech stack.
CRM recruitment

You can also add a budget and share the request data with your teammates via a link.

Contacts: a list of all contacts which you can filter by current or former customers, and by the country they are from. Such information as name, email address, phone number, and country is automatically scraped from the requests. You may also add any other contact data, as well as add the contact manually. Requests data from the CRM is also exported to external service hubspot.com 

By clicking on a contact you may see where their request came from (e.g. Contact Us form on your website, etc.) Another click will redirect you to the request details and complete correspondence history.There is an integration with Gmail to view all messaging history with the contact via email, however, this integration is not used for sending emails.

Companies: provides you with the list of all companies you have the contacts from. You can filter them by country. Clicking on a particular company shows the page with relevant comments, company info, e.g. their website and link to LinkedIn profile, a list of your contacts who work there, as well as their requests and attached files. The company information is added manually.

CRM add company

A self-sufficient CRM task management system that generates the tasks automatically upon each stage of request processing. There is a convenient tool for adding tasks manually.

CRM task management

You can view the list of tasks, and filter them by which ones are done (including their start and end dates) and which are undone, as well as by the CRM user they were assigned to.

Statistics: get a comprehensive data report about requests' sources and labels, new customers and budget by month, tasks and meetings that can be filtered by users, active requests and estimation statistics. You can see a snippet from the report below.

CRM statistics

All these features make our CRM a perfect tool for Apiko which, besides keeping all data on sales processes well structured in one place, is great for opportunity tracking and for organizing a smooth workflow.
Having considered all mentioned above, let's sum it up!

Choosing CRM subscription


  • Modern CRM platforms offer a broad variety of features that can perfectly meet at least 90% of your business requirements 
  • There are low-code solutions, e.g. Creatio, which provide a high level of CRM customization, allowing you to flexibly adjust the platform to your needs
  • Fast set up: get down to work with your CRM system and start using its benefits almost in no time.  


  • The cost of subscription may get high. Monthly per-user plan price is multiplied by the number of the users, thus the larger your team is - the higher is the cost. It has an accumulative nature, since the amount of money spent for CRM subscription increases with each month of your business activity. 
  • Systems' complexity is often unnecessary and perplexing, as there may be extra features not required for a particular business
  • The needs of some unique business processes, like in case with professional service firms (PSFs), may not be met.

Choosing custom development


  • A fully customizable CRM that precisely suits all your business needs
  • No monthly fees: on a long-term scale it pays off to develop your own software if your sales team is quite numerous.


  • Time of development: it takes at least 6 month, usually more, to develop the custom CRM software from scratch. If you work in a fast-changing business niche, be ready to add new features to your CRM later on, to keep it up to date with your requirements. 
  • Cost (proportional to the time of development) is rather high. 
  • You have to plan the functionality thoroughly: it's not an option to try out if your own customly developed CRM is suitable for you, and to quit it if it's not. The overall price of a custom solution is high, so make sure you prevent that epic waste of money. On top of that, development of new features later on will require additional expenses.  

If you have any questions about CRM software development, do not hesitate to contact us at Apiko, we are eager to share our experience!

Loading Comments
CareerServicesIndustriesPortfolioCompanyBlogContact Us

Get in touch

letter img
location icon
Lasnamae linnaosa, Pae tn 25-47,
Harju maakond, Tallinn,Estonia, 11414
CareersContactsBrand kitGDPR Compliance
IndustriesManufacturingTransportation & logisticsFacility managementFintechHuman capitalB2B solutionsE-learningE-commerce & retailBooking & reservationJob board marketplaceFood marketplace

© 2014 - 2023 Apiko. All rights reserved

clutchgithubfacebooklinkedintwitterdribbble icondribbble