Skip to content
Nine modules, one product

Everything You Need to
Close More Deals

Nine modules that share one customer record, one API and one bill of zero. Each has its own page below, and each of those pages says what it does not do as plainly as what it does.

Self-hosted, MIT licensed, unlimited users. Nothing on this page is behind a paid tier.

The modules

One record, nine ways of working on it.

A lead becomes a contact, the contact belongs to an account, the account carries the deal, the deal turns into an invoice, and the ticket that arrives afterwards already knows all of it. That chain is the product. The modules are just where you stand on it.

Lead management

Get leads in, work them down, hand the good ones to an account. Four ways in, duplicate detection on the way, and a conversion that runs once.

Read the detail

Web forms

Build a form in Settings, paste one line on your own site, and what people fill in becomes a lead here. No key on your page, no account for the visitor.

Read the detail

Contact management

Every person you deal with, searchable in one box, with the fields your business actually uses rather than the ones a vendor decided on.

Read the detail

Account management

Every deal, person, ticket and invoice attached to a company, on one page. Flat, searchable, and honest about what it does not model.

Read the detail

Sales pipeline

Every deal, the stage it is in, and how long it has been sitting there. Drag it forward when it moves. The board is the record, not a picture of one.

Read the detail

Tasks

Every deal, ticket, lead and account carries its own work. Three views of one queue, on the same records as the rest of your CRM.

Read the detail

Support tickets

Mail arrives, becomes a ticket, and already knows which account it came from. Two SLA clocks that understand your working week.

Read the detail

Ticket operations

Hierarchy, merges, approvals, macros, time tracking, and the numbers behind all of it. Put the whole support team on it and the bill does not move.

Read the detail

Invoices and estimates

Quote it, bill it, chase it, record it. On the same customer record as the deal it came from, with no per-invoice fee.

Read the detail

Mobile app

One Flutter codebase for iOS and Android against the same API as the web app. Sixty-eight screens, every module, built and signed by you.

Read the detail
Underneath all nine

The parts you only notice when they are missing.

These are not modules and they do not get their own page. They apply everywhere, and they are the reason the nine above behave like one product rather than nine.

Custom fields on every entity

Your org defines the schema, no code and no migration. They render on the web forms and the phone forms, filter in list views, and come back through the API. Retiring a definition is a soft delete, so the values already recorded stay readable.

A documented JSON API

JWT-authenticated, every entity, with a generated OpenAPI schema and both Swagger and Redoc served by the backend itself. The mobile app is a client of it, which is the only guarantee that matters: the API is not a side door, it is the door.

Tenant isolation in the database

Postgres row-level security, keyed on the organisation in your token and applied by the database rather than by application code. A query that forgets its filter returns nothing instead of returning someone else.

Attachments where the work happens

Files on leads, contacts, tasks and tickets from either client, and on deals from the phone. An account takes an attachment through the API with no screen calling it yet, and an invoice does not take one at all.

Two roles, and no role matrix

Admin and User. That is the whole list, and saying so is more useful than a permissions grid you would have to test. Access is decided by role plus ownership plus organisation, and the checks live in the API rather than in the interface.

The numbers you can act on

Ticket analytics by agent and by queue, a weighted pipeline forecast, and a real accounts-receivable aging report with buckets rather than a single overdue flag. Not a dashboard builder.

Not here

Six things this page used to claim.

Every one of these was on this page until we checked it against the source. They are listed rather than quietly deleted, because the gap between what a CRM claims and what it does is the thing that costs you a month.

No lead scoring, nurturing, or workflow automation

This page used to promise all three. None exists. Leads have a source, a status and an owner, and moving one forward is something a person does.

No recurring tasks and no reminders

A task has a due date and the list sorts by it. Nothing emails you, and nothing repeats a task on a schedule.

No payment processor

Invoices go out and payments get recorded when the money arrives, including partial ones. There is no Stripe integration, no gateway, and no "Pay now" button.

No outbound webhooks

The API is how you integrate. Inbound email can arrive by webhook from your mail provider; nothing is sent the other way.

No calendar feed

Tasks live in the CRM and on the phone. There is no iCal subscription for Google or Apple Calendar.

CSV import is not wired up yet

The importer is built and tested on the backend, with per-row error reporting and reference checking, and neither the web app nor the phone can reach it. Honest status: written, not shipped.

Check any of it in the source

Nine modules. No per-seat bill.

Run it on your own server, put the whole team on it, and change anything you like. The licence is MIT and the price is nothing, at every size.

MIT licensed · Unlimited users · No credit card