From Google Sheets to Salesforce and back to custom CRM

Most businesses begin their digital journey with Google Sheets, whether it’s for maintaining sales, balances, or inventory. When the never-ending spreadsheets become unmaintainable—or hopefully, before— they usually migrate to well-known entry-level solutions, like Pipedrive or Zoho CRM.

As the business grows, though, limitations in such out-of-the-box products become more apparent. Systems fail to scale up to handle millions of entries. Their inability to customize to specific processes starts to disrupt your workflows.

Yes, enterprise-level software, like Salesforce, Microsoft Dynamics, and SAP, can support enormous amounts of data and be tuned to your needs. But their migration, deployment, and licensing costs can be excessive, even for larger mid-range businesses.

The other alternative, custom development, can be even more expensive, especially if you consider the maintenance costs.

This leads businesses to adopt approaches that are unnecessarily complex and prone to issues. For example, a mishmash of several products synchronized to work together, sometimes with custom software in between.

Our solution: custom CRM on low-code

We, too, had a similar journey to find the right CRM solution. Ours consisted of relying on no-code solutions that, frustratingly, often required at least junior-level developer skills to operate in practice.

Let down by the limitations in no-code and off-the-shelf solutions, we decided to try a different approach. One that expects the development skills but makes the bar as low as possible while accelerating the time-to-market and supporting near-infinite customization options.

That is how was born. is a low-code platform built specifically for customizable CRM and ERP development. It provides certain ready-to-use templates to minimize the required coding skills when tailoring the software to specific use cases. The combined effort of these principles allows to offer a rapid and flexible development experience to its users.

After migrating to, our partners have reported up to 7x improvement in development time compared to other solutions. It only took them 3-5 minutes to implement and deploy simple changes. They also found a junior-level contractor familiar with SQL and JavaScript adequate for most customizations.

Building a simple custom CRM with from scratch

From here onwards, we will walk you through our experience of building a simple custom CRM software from scratch with We’ll also note the time and skills required for each task for easy comparison. Keep in mind that we have already implemented common solutions like this one and offer them on the platform for no additional cost.

What is expected of a CRM? Why customization is so important?

CRM interface collage

First, let’s note down the features that are nearly omnipresent in any entry-level CRM product:

  • Dashboards: A sales funnel and metrics to analyze salespeople activity and KPIs.
  • Deals: Display records as a board with cards and as a table. For now, we won’t add any automation. (It can be added in an hour or two. We will talk about this later.) Managers can leave comments for each deal. Records also contain a history of actions.
  • Customers: Customer details with vital information like contact names, phone numbers, and emails. Both individuals and organizations can be listed with specific fields for each.
  • Products: A list of products sold as part of the deal to keep notes on sales.

Board with deals in CRM data from scratch

Now, let’s start with creating a kanban board with deals. This will give you a clear idea of how long it can take to build a complex user view.

Deals board

Get started with software allows you to easily implement a basic board in several code lines. It only requires a query that specifies which data to show and how to show it. Running the query creates a fully functional board with cards that you can drag from one column to another. It allows you to see the number and status of current deals in different stages at a single glance.

Let’s add some more details and useful features. With only 40 additional lines of code, we can make the cards more helpful—now they contain icons, captions, and links to other pages. For example, it supports the fast creation of new entries by clicking on the “+” button and opening deal details by clicking on a card. We also changed the colors of some fields to make them stand out and carry more information: unfinished and expired deals are highlighted in red, and deals pending action are circled in yellow.

The final step is adding filters to the page. It enables users to select deals according to search criteria, like responsible or customers. We also add buttons for a quick selection of frequently used filters to avoid reconfiguring them every time.

You can check the final result here.

It only took us 15 minutes to assemble a rather complex custom board to work with deals.

Sales funnel, employees activity, and custom analytics for the boss

Developers can build dashboards of any complexity with It allows you to embed anything custom-built into pages with ease using iframes and basic JavaScript. Charts, for instance, can be implemented with 3rd party libraries, like d3.js, specifically tailored for quickly building rich animated visualizations.

For our CRM, we have put together a dashboard with several key metrics: a sales funnel, several charts, and summaries to track the team progress.

Sales funnel

Other possibilities for embedding include custom controls, maps, chats, and more! For example, our customers embed services to intelligently autocomplete delivery addresses or search organization data by their tax number.

All this is enabled by the same principles as before: selecting data with queries and passing it to the component for displaying. Other types of pages (we call them “user views”) that can be implemented with this feature include (click to open live examples):

It only takes about four hours for a developer with some experience to develop 23 views, including deals, customers, products, tasks, and employees. You won’t have to put in much effort to bring your skills to this level since the platform primarily uses SQL and JavaScript, two languages familiar to most developers. also supports using pre-written modules (schemas), developed by our partners and us, and custom ones you can produce in-house. For example, you can implement a task tracker for your team in the pm schema and add it later to your existing CRM, changing a couple of fields and adding links from CRM user views to the task tracker and back.

This leads to the “building blocks” approach, reducing development time by order of magnitude. You can assemble a finished product in just an hour, adding together several schemas already implemented by you or other developers.

Automation, security roles, and other features from scratch

Ready-to-use CRM products often come with basic automation capabilities. But implementing complex business-specific logic can become complicated, even with user-friendly no-code automation flow designers.

In, developers can write simple code in JavaScript to bring automation. The platform supports its use in two common ways:

  • Triggers - reactions to users changing data. Typical examples are changing the status of deal-related tasks or KPI recalculation for employees.
  • Actions - executed when a button or a menu item is clicked. They are used in a multitude of ways, say, to generate agreements and invoices for clients.

A developer can also create an unlimited number of roles for users. For each role, access rights to data can be precisely specified. For example, permitting accountants to only edit financial transactions for the last month or hiding employee salaries from most staff while allowing them to see other employee data.

We won’t cover such features in this post but will include basic automation in our development time calculations.

Result: a custom CRM product in 9 hours from scratch

Let’s sum up the time it takes one developer to build a custom CRM software from scratch with some amount of automation:

  • 1 hour to design the database architecture (Admittedly, this time depends on the developer’s experience with business products);
  • 1 hour to create the database itself in the interface;
  • 5 hours to create 23 custom pages (user views) linked together to form a complete CRM user interface;
  • 1-2 hours to build a dashboard with all the key metrics in one place (the time is greatly reduced when the developer has a library of pre-made charts available—like the ones we offer for free in our templates);
  • Half an hour (or more) to implement automation. This is specific for each business—someone may need complex automatic flows, and the time to implement can grow to tens of hours. Some may do without automation altogether.
  • Access rights restrictions are usually implemented later when the need and understanding of employee access patterns grow. Usually, it happens a few months after the successful implementation of the solution. However, the development rarely takes more than 2 hours for a simple five-entity CRM.

Overall, 9 hours can already be sufficient time to implement a complete and usable product.

Of course, it is unlikely the system implemented will survive in its original form for years. New business requirements and ways to streamline the processes are always implemented and then iterated upon. However, almost any software developer with basic knowledge of SQL and JavaScript can modify the solution live, without impacting day-to-day workflows and spending too many hours learning new concepts or frameworks.

I am Kirill Markin, Founder of (my LinkedIn).

We are looking for new partners and clients. Please, let me know if you want to use a CRM or ERP builder on our platform, or if you wish to suggest for your clients.

Write to me on LinkedIn, in our Discord channel or start free or get a demo.

Have a great day!

About customizable low-code CRM platform was founded by Kirill Markin and Nikolay Amiantov. Large parts of the article and demo were written by Irina Gorokhova. Thanks to Konstantin, Renat Darybaev, Daniil, and Lyubov for their great contribution to the project, Anjalips for help with the article, and Roman Belyakov for illustrations.

Tell us — what are you missing in your CRM? Do you develop similar products, deploy them for customers, or use them as a business? What other examples and templates, like this CRM demo, would you like to see?


Why do I need a custom CRM?

If your processes are unique and you want personal approaches to your customers, sometimes creating your own custom CRM software is the best choice.

How to create CRM from scratch?

Use low-code CRM solutions with no hardcoded entities and fields to create a custom CRM solution. Choose a vendor with a flexible platform.

Why low-code platform for custom CRM from scratch and not write all by myself?

Because using low-code platforms speeds up your custom CRM development ten times. You can prototype in 2 days and create a ready-to-use solution in 1 week.