Skip to content

TUSK: keep your website sales organized.

Track businesses you want to contact, the conversations you've had, and what needs to happen next. TUSK brings leads, website checks, mockups, and invoices into one self-hosted app.

Get TUSK on GitHub Download the source ZIP

TUSK dashboard with lead statistics and follow-up tasks

The screenshots use the included demo businesses. They show the interface, rather than results from real sales.

Set it up with your agent

TUSK runs on Windows, macOS, or Linux with Node.js. Use a currently supported Node.js release that meets the repository's requirements.

Set up https://github.com/jordysupport/tusk in a new permanent folder.

1. Confirm the location with me and check Node.js requirements.
2. Read README.md, package.json, and AGENT-SETUP.md before running
   installation commands. Explain the dependencies and scripts.
3. Install dependencies, seed the demo data, and start the app using
   npm install, npm run seed, and npm run dev.
4. Confirm the app opens at http://localhost:5173.
5. Explain the optional Google Places and SMTP settings. Leave them
   unconfigured, and keep AUTO_FOLLOWUPS=false.
6. Ask which personalizations I want before changing the defaults.
   Report the files you changed and any setup failures.

Do not send email, search for real leads, enable automated follow-ups,
or handle my passwords and API keys. Do not overwrite an existing
database, configuration, or attachments folder.

Or install it by hand

Clone the repository or extract the source ZIP into a new folder. Read its setup instructions, then run these commands from that folder:

npm install
npm run seed
npm run dev

Open http://localhost:5173. On Windows, tusk-start.cmd handles installation and launch. The seed step adds eight fictional demo businesses so you can try the app.

Without integration keys, searches use labeled sample results and emails are logged rather than sent. Optional Google Places and SMTP connections enable real searches and email. Those services have their own accounts, rules, and possible charges.

The screens

TUSK Power Hour dialing view
Call sessions. Work through a queue and record each outcome.
TUSK outreach screen with email preview
Outreach. Review the lead and your message before sending.
TUSK homepage mockup editor
Mockups. Create a homepage draft to discuss with a business.
TUSK territory map with status markers
Territory. View leads on a map, marked by status.
TUSK lead score breakdown
Lead scores. See the web presence, reviews, and contact details behind a score. A score doesn't predict a sale.
TUSK sales pipeline columns
Pipeline. Move leads through stages as conversations progress.

A typical workflow

Choose a business type and area, review the leads and website findings, then decide who to contact. Keep notes on the conversation and schedule a follow-up. If a lead becomes a client, track the project and invoice in the same app.

What else is inside

  • Website checks with grades and findings. Treat them as a starting point for review, including any accessibility findings; they aren't a compliance assessment.
  • Email templates that use lead details. Check the facts and wording before sending.
  • Client records, project files, and invoices.
  • An Excel export with dashboard, lead, and client information.

Data and backups

The app and database run on your computer. Optional Google Places searches and SMTP email send requests and data to those external services. Their credentials are kept in local configuration and used when connecting.

For a backup, stop the app and copy server/crm.db, server/files/, and your local configuration. Protect the configuration because it can contain credentials. A database copy alone doesn't include attachments or settings.

Email sends require your action with the default configuration. Automatic follow-ups are a separate option; leave AUTO_FOLLOWUPS=false unless you intend to enable them.

License and support

The self-hosted source is free under the MIT license. You can report a problem on GitHub or support the project through the optional Ko-fi tip jar.

Prefer it hosted?

A separate hosted version is available at tuskcrm.com. Check that site for its current terms. The source download here remains free.