Our clients see their site, files and invoices in a cabinet we built and host; under load it served 600 requests on 25 threads with 0 failures. load test · Aug 2026
Business systems · Custom CRM & integrations
Custom CRM development around your process.
One place where every enquiry, deal and client lives with its history, built around how your company actually works. The mailbox, calendar, invoicing and messengers you already pay for feed it, with field ownership and supported integrations defined. From €1 500, fixed in writing.
Who this is for
Companies that outgrew the spreadsheet but not the tool
The sentences we hear on the first call. Each card cycles through them.
Enough deals that a spreadsheet forgets one every week, not enough to pay for a seat-based tool nobody fills in.
Your process includes site visits, measurements, samples and approvals. We first check whether an existing CRM can configure these before recommending custom work.
Mailbox, calendar, invoicing, messenger, spreadsheet. The CRM connects them instead of adding a sixth place to type things.
Clients want to see the status, the files and the invoices without calling. A portal on top of the CRM does that.
| Client | Job | Stage | Last contact | Next |
|---|---|---|---|---|
| Ola K. | Kitchen, 12 m² €4 200 | new | 1 d ago | call Tue |
| Marek W. | Two bathrooms €6 800 | contacted | 2 d ago | send quote |
| Anna P. | Office fit-out €18 500 | quote | 3 d ago | site visit |
| Piotr S. | Balcony €1 900 | won | 4 d ago | invoice |
| Kasia L. | Flat renovation €9 300 | contacted | 9 days ago | follow-up drafted |
| Tomasz R. | Shop interior €12 000 | quote | 6 d ago | sample |
| Julia M. | Loft €7 400 | new | 7 d ago | call Thu |
the red row went quiet: the system drafted a follow-up and put it in the inbox for approval
illustrative data · your dashboard shows your numbers, straight from the pipeline
The device
A board that fills itself
Deals arrive from the website form, calls and messengers with their source. Stages and fields are yours. When a deal goes quiet, the system drafts the follow-up; a person sends it. The dashboard tab calculates the agreed metrics from available records, with missing information identified.
Switch to Dashboard to see the same pipeline as numbers.
What you get
Stages, fields, approvals and reminders that match the work, not a template. Every deal carries its source, its history and the next step.
We check the supported read and write operations for the agreed mailbox, calendar, invoicing, messaging or booking tools. Defined data flows reduce repeated entry; errors and outstanding handovers remain visible.
Numbers from the pipeline, not from a spreadsheet compiled on Friday. If you need it, a portal where your clients see status, files and invoices.
Proof
Run for ourselves, built for clients
A Kraków estate agency keeps properties in its CRM; the website reads them and updates every listing without manual work. Read the case →
Of the conversations we dropped in 12 months, the watcher flagged about a third. It reads the same records a CRM keeps. our own system · Aug 2026
Price
From €1 500 for a system of several processes.
Fixed in writing after a short call. Tools it connects to stay on your accounts.
Model the work before designing the dashboard
A custom CRM becomes useful when it reflects how work moves through the business and helps people act on it. The first task is to define the process: what creates an enquiry, when it becomes a qualified opportunity, which approvals are needed and what completes the sale. Without those definitions, a dashboard can display neat numbers while different staff interpret every stage differently.
Stages with a shared meaning
A stage should describe a meaningful condition, not merely an activity someone might perform. For example, a quotation sent is different from a quotation being prepared. Decide what information is required to enter or leave each stage and who is responsible for the next action. This makes the pipeline useful for coordination rather than a decorative board updated only before meetings.
Records that connect
Separate people, organisations, opportunities and projects where the business needs those distinctions. One company may have several contacts and several concurrent jobs. Treating every email address as a separate customer can fragment the history. The data model should preserve the relationships your staff need without asking them to maintain fields that nobody uses.
Compare a custom build with configuring an existing CRM
A custom system is not automatically cheaper or better than a subscription product. Compare the complete workflow and the cost of operating it: licences, configuration, integrations, training, maintenance and future changes. A ready-made CRM that the team actually uses can be a better investment than a bespoke application with features nobody maintains.
Configure what already fits
Configuration is a reasonable option when an existing tool supports the main stages, permissions and integrations. We can adapt fields and connect surrounding tools without replacing the whole system. The important question is whether the remaining compromises are acceptable. A minor difference in screen layout is rarely enough to justify taking responsibility for an entire custom product.
Build around a specific constraint
Custom development becomes more relevant when the process has an essential requirement that available tools handle poorly. That might be a specific approval chain, a client portal or a close connection with proprietary records. We identify the requirement and test it in a small working slice. The build should solve that constraint rather than attempt to reproduce every feature of a large CRM suite.
Connect systems without creating conflicting records
Choose the source of truth
Decide which system owns customer details, invoices, appointment availability and project status. A CRM does not need to become the master of every field. Clear ownership prevents two integrations from repeatedly overwriting each other. We also decide how records are matched, especially when names change or one customer uses several email addresses.
Map events and fields
For each connection, document the event, data direction and required permissions. Creating an invoice, reading whether it was paid and editing its total are different operations. An API being available does not mean that every desired operation is allowed on your account. We check access and plan limitations before promising that two tools will synchronise automatically.
Plan failure handling
A failed connection should leave an actionable record. Staff need to know whether a change is waiting, failed or completed. Repeated events should not create duplicate invoices or tasks. We plan retries and manual correction, and distinguish a missing record from a temporary outage. Reliable integration includes the awkward cases that a successful demonstration does not show.
Make adoption easier for the people using it
- Minimum useful fields
- Every required field adds work. Keep the first version focused on information that supports a decision, an action or a necessary record. Explain where the value comes from and whether it can be populated from an existing source. If a field is repeatedly left blank, investigate whether staff lack the information or whether the field serves no practical purpose.
- Views by responsibility
- A salesperson may need today’s next actions, while an owner needs stalled opportunities and workload. Give each role a view that answers its actual questions. Dashboards should show the period, definition and source of each metric. A total pipeline value can be misleading if it mixes currencies or includes long-abandoned opportunities without a clear rule.
- Migration and training
- Data migration needs a review of duplicates, obsolete records and missing ownership. Import a representative sample before the full dataset. Training should use actual tasks such as adding an enquiry, handing it to a colleague and correcting a mistake. A system is easier to adopt when people recognise their daily work in it and know where to ask for help.
Permissions, exports and recovery belong in acceptance
Access boundaries
Check that users see the records and actions appropriate to their role. A client portal needs particular care: one customer must not reach another customer’s files by changing an address or identifier. Permissions should be enforced by the application, not only by hiding buttons. Test the boundary with separate accounts and realistic examples.
Data portability
Agree what an export contains and how it can be used. Customer rows without their relationships, attachments or status meanings may be difficult to migrate later. Record the format and any third-party limitations. Ownership of the business data should be supported by a practical way to retrieve it, alongside documentation of the system and delivered custom code.
Operational continuity
Define backups, restoration, monitoring and the person responsible for incidents. The team needs a fallback for critical work while the CRM is unavailable. An update to a connected service can change behaviour, so ongoing support and maintenance should be explicit. Handover is not complete when the login works but nobody knows how the system is recovered.
Start with one usable pipeline
Bring a real deal from start to finish
Show us how one enquiry moves through your business, including the messages, documents, approvals and tools involved. Add an example that went wrong and explain where the work became unclear. Remove unnecessary personal information from the sample. This gives the design a realistic foundation without requiring you to write a technical specification.
A focused custom CRM starts at €1,500, with the scope defined in writing. Complex permissions, extensive migration, client portals and deeper integrations can require additional work. Hosting, third-party licences and continuing maintenance need their own allowance. The starting price is not a promise to replace a full enterprise CRM for every business.
A useful first version follows one pipeline through to completion and includes the essential reporting and recovery paths. Review it with the people who will use it before expanding to other departments. The aim is a system that makes the next action clear and preserves the history, with enough simplicity that the team keeps it accurate.
Questions
Questions owners ask about a custom CRM
Custom CRM vs ready-made: which one do we need?
If a ready-made tool matches your process and your team will fill it in, use it and we connect it. If your stages, fields and approvals are your own, if you pay per seat for features nobody uses, or if the tool cannot talk to your invoicing and calendar, a custom CRM may be a better fit; we compare the full operating cost and fit with your workflow. We say which on the first call, and we build on ready-made tools when that is the honest answer.
How much does a custom CRM cost?
From €1 500 for a system of several processes: a pipeline with your stages and fields, agreed supported integrations and reports, and the relevant accounts in your name. The exact price is fixed in writing after a short call and depends on how many tools have to be connected and whether any of them has no ready connector.
What do the dashboards and reports show?
We agree the metrics and their source data: deals by stage, response time, waiting items or revenue by period where records support it. Definitions, missing values and update intervals are visible; a dashboard cannot reconstruct facts that were never recorded.
Can it integrate with the tools we already pay for?
We inspect the operations, permissions and plan limits available for each tool. Supported APIs, approved exports or another agreed connection may work; some systems cannot provide the required access. Feasibility and failure handling are checked before an integration is included in the scope.
Can our clients have a portal?
Yes. A client portal is a page where your client logs in and sees the status of their order or project, the files and the invoices, and can write to you. It can use agreed CRM records to reduce duplicate entry, with permissions and field ownership defined. We run one for our own clients.
Who owns the data and the code?
The agreement defines account control, delivered custom code, documentation and data exports. We test the agreed export and document any third-party limits. Continued operation needs hosting, valid provider access, backups and maintenance; handover gives your next technical team the information to support it.
Tell us where your deals live today.
A short call, then a fixed price in writing.