Skip to main content

01 — Starter website

CRM starter

A customer platform that starts complete and is then shaped around one team's actual sales motion — its stages, its handoffs, its definition of a good week.

  • Pipeline
  • Contacts
  • Reporting

CRM starter interface showing a five-stage deal pipeline, a contact record and an activity feed in lilac and graphite.

Who it is for

Built for a particular kind of team.

  • 01Teams that have outgrown a shared spreadsheet but do not want a large vendor suite
  • 02Sales operations where the stages already have names everyone uses
  • 03Businesses that need reporting their finance conversation can actually rely on

The challenge

What usually goes wrong here.

Most sales teams outgrow a spreadsheet long before they are ready for a large CRM suite. The suite arrives with stages, scoring rules and required fields that belong to somebody else's business, and the team quietly keeps working in the spreadsheet anyway.

The interesting problem is not storing deals. It is fitting the software to a sales motion that already works, so that recording the truth is faster than avoiding it.

How it works

How it actually feels to use.

  1. 01

    The pipeline is the home screen, and its stages carry the team's own names. Moving a deal is a drag or a single keystroke, and every move writes a timestamped note without anyone being asked to fill in a form.

  2. 02

    A contact record puts the last five interactions above the field list, because that is what someone reads before a call. Everything else — company, source, owner, custom fields — sits beneath it and stays out of the way.

  3. 03

    Reporting answers three questions the team asks weekly: what is likely to close, what has gone quiet, and where deals are stalling. Anything beyond that is exportable rather than embedded.

Baseline capabilities

Already built, already working.

Configurable pipeline

Stages, required fields and win criteria are data, not code. Changing the sales process does not require a release.

Contact and company records

Deduplicated records with a merge flow, ownership history and an activity timeline assembled from email, calls and notes.

Activity capture

Logging happens as a by-product of the work — moving a card, sending an email, completing a task — rather than as a separate chore.

Forecast and stall reporting

Weighted forecast, ageing report and a stalled-deal view, each exportable to CSV for the finance conversation.

Roles and visibility

Per-role field visibility, so a wider team can use the system without exposing commercial terms to everyone.

Typed integration surface

Webhooks and a typed REST layer, so the CRM can feed invoicing, support or a data warehouse later.

What we adapt

The part that becomes yours.

A practical starting point, adapted to your workflow, users, integrations, and growth stage.

Your stages, your language

Stage names, win criteria and required fields are set to match how the team already talks about a deal, before anyone is asked to use the system.

The reports you actually run

Every team measures a good week differently. The reporting views are the part we expect to build specifically for you rather than configure.

Permission shape

Who sees commercial terms, who can reassign an owner, and what a wider team is allowed to read, mapped to your actual roles.

Data migration

Import tooling written against your existing spreadsheet or system, run in parallel until both sides agree.

Configuration versus build

Stage names, required fields, scoring, permissions and the weekly digest are all configuration. The reports are the part we expect to build for you, because every team measures a good week differently.

Possible integrations

It has to fit what you already run.

These are the connections this starter is commonly asked for. Each one is scoped against the specific system you use — an integration is only real once we have seen the account it has to talk to.

  • Email and calendar (Google Workspace, Microsoft 365)
  • Invoicing and accounting systems
  • Support desks and shared inboxes
  • Data warehouses and BI tools
  • Webhooks into anything with an HTTP endpoint

Stack rationale

Chosen for this problem, not for the CV.

Next.js + TypeScript
Server-rendered lists stay fast as record counts grow, and a shared type layer keeps the pipeline schema honest between client and server.
PostgreSQL + Prisma
Relational data with real constraints. Deals, contacts and activities need referential integrity far more than they need schema flexibility.
Redis
Caches the expensive aggregate views — forecast and ageing — so the dashboard stays instant without hammering the primary database.
Background job runner
Email sync, deduplication and digest sending belong off the request path, where a slow third-party API cannot block the interface.

Responsive views

The same interface at three scales.

  • Full layout — the working week at a glance

  • Detail view — one record, in context

  • Compact layout for phone use between meetings

Every view above is the same live interface rendered at a different width — not a mock-up image — which is why the layout genuinely changes rather than shrinking.

Want a CRM shaped around your business?

Bring the process you use today, including the awkward parts. That is where the useful decisions come from.