Solutions · CRM · Canarlo
Next.js 16, Supabase, TypeScript. For teams whose sales process does not fit HubSpot's objects or Salesforce's seat pricing. A CRM modelled on how your business actually sells — the forty-seven custom fields, the seven-stage pipeline, the integrations the SaaS vendor calls a roadmap item.
Who this is for
The sales process has seven stages, four of them custom. HubSpot calls them properties and charges for the seat that can see them. We model your objects as first-class tables and remove the workaround.
Pipedrive for pipeline, Notion for accounts, a shared sheet for renewals. The Zap between them broke twice this quarter. We collapse the three into one CRM that reflects how your team actually sells.
Stripe subscription state, support ticket count, in-product usage — the signals a rep needs to know who is renewing and who is churning. We wire the CRM to your real data, not a nightly export.
What we ship
Foundations
Email, magic link, TOTP. Every login event logged with IP and user agent. Roles enforced at the database. SSO available on the enterprise tier.
Sales rep sees their accounts. Manager sees their team. Field-level permissions on the deal record. Enforced at the row in Postgres — never in the React tree.
Full-text plus trigram fuzzy matching in Postgres. Search a half-typed company name, find it. Page size clamped, cursor pagination, indexed at the database.
Every stage move, owner change, deleted contact, edited field captured with actor, target, before and after. The trail your CRO needs to settle a commission dispute.
Structured JSON logs with PII redacted. Sentry wired before launch. Latency and error-rate dashboards live day one — not retrofitted after a sync goes silent.
Every pull request gets a live URL. Tests gate merges. The new pipeline view lands on a preview URL before sales touches it in production.
Your Vercel team, your Supabase project, your domains, your keys. We deploy with your credentials and walk off at handover. Your customer data, your infrastructure.
Recent build
Illustrative scope
A custom CRM for a recurring-revenue business with forty-seven custom fields HubSpot would not let you model without an enterprise seat. Subscription state, support ticket count, product usage — wired directly into the deal record. Built in twelve weeks, run by the team that ships their own pipeline changes.
Tech stack
Our process
Step 1
01
One scoping call, then a written brief. The objects you actually sell into, the stages you actually move through, the fields you actually fill. Two weeks. No workshops.
Step 2
02
Schema, API surface, build plan. Data model, role matrix, integration contracts named. Two weeks. You sign off before a line is written.
Step 3
03
Eight to twelve weeks. Weekly demo on a real preview URL. Sales can click around before adoption day. You can read the diff every Friday.
Step 4
04
Migration from HubSpot or Pipedrive run against a real export. Cut-over weekend. Handover doc names the failure mode and the on-call step.
Step 5
05
Optional retainer — security patches, dependency updates, continued feature work as your sales motion evolves. From £500 a month. Same engineer.
Parent service: Web Apps
Pricing
Fixed fee, scope written down before billing starts. £25k buys a focused pipeline-plus-contacts build with two integrations. £50k buys custom objects, role-based access, and a reporting layer. £80k buys the multi-team CRM with billing-state ingestion and a workflow engine your ops lead controls.
Full pricing rationale and cost breakdown: How much does AI engineering cost?
Frequently asked
When your sales process doesn't fit a contact-deal-stage shape. Account-based with multiple buyers per deal, recurring renewals tied to usage data, channel-partner attribution, regulated workflows with audit requirements. HubSpot is right for the first hundred customers. The custom case starts when seat fees outpace the value you're getting.
Yes. Email — Gmail, Outlook, sequencer of choice. Calendar two-way sync. Slack, Teams, Linear for engineering handoff. Stripe for revenue data, accounting for invoiced revenue. Typed connectors, OAuth handled, partial failures retried. The CRM becomes the spine, not another silo your team copy-pastes between.
Eight to twelve weeks for the core — contacts, accounts, deals, activity log, reporting, the integrations that matter. Migration from HubSpot or Salesforce adds two to four weeks depending on history depth. Phased rollout: sales team first, then ops, then exec dashboards. Live data inside the first month.
Built in. Pipeline by stage, conversion by source, rep activity, forecast accuracy, churn cohorts. Dashboards in the app for the team, scheduled email digests for exec, raw Postgres for the analyst who wants SQL. No BI tool licence. No data warehouse round-trip. The numbers match because they come from one place.
You. The database is in your Supabase project, in your region, behind your row-level security. Backups automatic, retention configurable, export to CSV or Parquet on demand. No vendor egress fees. No customer-record hostage situation if you ever switch tools. UK GDPR data residency honoured by construction.
Start here
Twenty-minute call to map your objects. Proposal in your inbox inside forty-eight hours.