SmartCRM

A System Solutions product

The customer record your whole team can trust

Smart CRM keeps contacts, companies and deals in one tenant-isolated workspace - with fields you define yourself, a pipeline board that remembers every move, cold-call queues, team messaging, and an append-only history of who changed what.

Designed, built and operated by System Solutions.

application modules
19application modules
database models
31database models
access token lifetime
15 minaccess token lifetime
page visible without an account
1page visible without an account

Full functionality

What Smart CRM actually does

Nineteen modules, from the first cold call to the closed deal and the audit trail that follows it. Here is all of it, in detail.

Records

Everything you know about a customer, in one place

Contacts, companies and deals are first-class objects that can be linked to each other in any combination. The shape of each one is yours to define - without a database migration.

Contacts, companies & deals

The three core objects, each with full create, read, update and delete, and each scoped to your workspace at the query layer so one tenant can never read another's rows.

  • Searchable, sortable list views with pagination
  • Full-text company search backed by a Postgres generated column
  • Per-record detail pages with inline editing

Custom properties engine

Add a field to any object type from the admin UI and it appears immediately on forms, list views and detail pages. Definitions live in their own table and values in JSONB, so a new field costs no schema change and no deploy.

  • Several field types, defined per object type
  • Managed by admins at Settings → Properties
  • Every change is written to the activity timeline

Associations

A generic join between any two records: a contact to a company, a deal to several contacts, a company to another company. One table, no bespoke foreign keys, so new relationship types need no migration.

  • Many-to-many between any object types
  • Surfaced as linked records on every detail page

Saved views

Any combination of search text, sort order and structured filters can be named and saved. Views are shared across the workspace, so a team agrees on what an “active enterprise lead” means once.

  • Query, sort and multi-condition filters stored as one preset
  • Shared workspace-wide rather than per-user

CSV import

Upload a spreadsheet, map its columns onto fields including your custom properties, and preview what will be created before anything is written. The server re-parses the raw file rather than trusting the browser's preview.

  • Column mapping with a live preview
  • Up to 2,000 rows per import
  • Quoted fields, escaped quotes and embedded newlines all handled

Activity timeline & audit log

Every record carries an append-only event log: notes, calls, meetings, tasks, and each individual property change with its before and after value. Nothing in the timeline can be edited or deleted, which is what makes it usable as an audit trail.

  • Append-only by design - property changes double as the audit log
  • Attributed to a user and timestamped

Pipeline

Move deals forward, and see why they moved

Pipelines and their stages are configurable per workspace. Every stage change is recorded, so the board shows you where deals are and the history explains how they got there.

Configurable pipelines & stages

Define the pipelines your business actually runs, each with its own ordered stages. Renaming or reordering a stage never rewrites the history of the deals that already passed through it.

  • Multiple pipelines per workspace
  • Ordered stages managed at Settings → Pipelines

Kanban deal board

A drag-and-drop board with one column per stage, showing deal value and owner at a glance. Dropping a card onto a new column writes a stage-change event rather than silently overwriting a field.

  • Drag between stages, with every move logged
  • Column totals in your workspace currency

Stage history

Each transition is stored with its timestamp, so you can see how long a deal sat in every stage and which stages leak. The dashboard aggregates the same events into funnel and pipeline-value views.

  • A dedicated stage-event table, not an overwritten column
  • Feeds the analytics dashboard directly

Workspace currency

Deal values render in the currency your workspace trades in, set once in settings and applied consistently across records, boards, totals and the dashboard.

  • One setting, applied to every monetary figure

Outreach

The work that happens before a deal exists

Most CRMs start at the opportunity. Smart CRM also covers the grind that comes first - the call list, the follow-up, and the notes nobody remembers to write down.

Cold calling workspace

A purpose-built queue for working a call list: each lead carries a state, an outcome and a running set of timestamped notes, so picking up where you left off does not depend on memory.

  • Lead states and call outcomes as structured fields
  • Threaded notes on every lead
  • Leads can be shared with specific colleagues

Tasks, powered by Cadence

The Tasks tab embeds Cadence, System Solutions' task and follow-up app, signed in automatically against your CRM identity so there is no second login to manage.

  • Single sign-on from your CRM session
  • Runs inside the CRM shell under a locked-down frame policy

Email templates

Reusable message bodies stored per workspace, so the same follow-up is not rewritten from scratch, with transactional mail for invitations and password resets on the same infrastructure.

  • A workspace-level template library

Team

Built for a team, not a spreadsheet

Permissions, presence and internal conversation are part of the product rather than a bolted-on afterthought.

Teams & page permissions

Admins group people into teams and grant each team a named set of pages. A member who is not entitled to a page never sees it in navigation and cannot reach it by typing the URL either.

  • Per-team allow-list of application pages
  • Enforced on the server, not just hidden in the menu

Users & roles

Admin and member roles, invitations, a forced password change on first sign-in, and an admin console for managing every seat in the workspace.

  • Admin and member role model
  • Per-user management pages

Team messaging

A real-time chat widget on every page: admin-created group threads, plus direct messages that need admin approval before a conversation opens. Delivery is instant over WebSockets, with polling as an automatic fallback.

  • Group threads and approval-gated direct messages
  • Real-time delivery, with a poll fallback when unavailable
  • Moderation actions written to a message audit log

Attendance

A silent, append-only record of successful sign-ins, visible only to admins. It is written after a session is minted, and a failure to record it can never block or slow down a login.

  • Append-only sign-in log
  • Admin-only visibility

Analytics dashboard

Workspace KPIs the moment you sign in: pipeline value, deals by stage, recent activity and team throughput, rendered as native SVG so the charts arrive with the page.

  • Pipeline, funnel and activity views
  • No client-side chart library to download

Security

A CRM holds the most sensitive list a business owns

Which is why the defences here are part of the architecture rather than a checklist bolted on at the end.

Passkeys and two-factor authentication

Sign in with a WebAuthn passkey - Windows Hello, Touch ID or a hardware key - or with a password plus a time-based code. Single-use recovery codes cover a lost device, and admins can be required to enrol a second factor before they reach any data.

Sessions that expire on their own

Passwords are hashed with scrypt. Sessions are signed tokens in HTTP-only cookies with a 15-minute access window and a separately rotated refresh token, so a leaked cookie has a short and shrinking life.

Tenant isolation at the query layer

Every read and write goes through a tenant-scoped database client that injects the workspace filter. Isolation is a property of the data-access layer rather than a rule each individual query has to remember to follow.

A strict content security policy

Scripts and styles run only under a per-request nonce - no inline script, no inline style, no eval in production. Framing is denied outright, except for the single origin that serves the embedded Tasks app.

Rate limiting and scraper defence

Requests are budgeted by client type: search engines and AI assistants are welcome to read this page, scripted harvesters are throttled, and vulnerability scanners are refused outright. Behind the sign-in page a guard watches how many distinct records one identity touches, and stops enumeration before it becomes an export.

Accountability by default

Sign-ins, property changes, deal movements and message moderation all land in append-only logs. Deleting a contact raises a request for an administrator to approve rather than removing the row outright.

Platform

Built as a modular monolith

One deployable application, divided into nineteen modules with clear seams between them. It is fast to reason about and cheap to run today, and every module is drawn so that it could be lifted out later if it ever needs to scale on its own.

Database migrations are applied automatically on every deployment - there is no manual step between a merge and a running schema.

Made by

System Solutions

Smart CRM is designed, engineered and operated in-house by System Solutions - the same team behind the Cadence task app that powers its Tasks tab.

Built in-house

Every layer - the authentication, the properties engine, the pipeline model, the messaging transport - is written and maintained by System Solutions rather than assembled out of third-party services.

Part of a suite

Smart CRM signs you in to Cadence automatically, so tasks and follow-ups live alongside the records that created them, without a second account to manage.

Actively developed

Workflow automation and a public API with webhooks are the next modules on the roadmap, building on the job queue and the event log that are already in place.

More about System Solutions

Start with your first contact

Creating a workspace sets up your tenant, makes you its administrator, and takes about a minute. Already part of a team? Your administrator will have sent your invitation.