Settings

Workspace preferences, integrations, and where your data lives.

Local · single-userUTCDark modeKeyboard shortcuts

Updates

One-click update from GitHub's main branch. Pulls code, installs new dependencies if needed, applies migrations. Your data.db and .env.local are preserved.

Checking…

Data

Your database is one file you can copy, back up, or move.

Clients
2
Audits
6
Tasks
51
Keywords
12
Database
localhost:5432/truscaler_dev_pgsql

Brand

Used on PDF reports — your logo on the cover, your color for headings and accents. Hides our branding entirely.

Shown on PDF report covers and the footer.

Used for headings and highlights in PDF reports.

Brand logo preview
Contact + footer (optional, used on invoices + emails)

Sub-headline under the brand name on report covers.

Single line shown in the bottom of invoices, the weekly digest email, and the client portal page. Good for registration info, address, or a tagline.

Google integrationNot connected

Connect once, use across every client. Unlocks real keyword data, traffic charts, and quick-wins finder. Free, ~5 minutes to set up.

Step-by-step guide on the next page. Skippable — the rest of the app works without it.
Set up

TeamSingle password

Working with other people? Give each of them their own login, and assign who sees which clients.

Set up

Email deliveryNot configured

SMTP credentials for sending scheduled monthly reports straight to clients. Bring your own — Gmail, Resend, SendGrid, or any SMTP host.

Sends a one-line plain-text email so you can confirm before scheduling real reports.

Common provider settings
Gmail
smtp.gmail.com · 587 · STARTTLS
Use an App Password, not your real password.
Resend
smtp.resend.com · 465 · TLS
Username: resend · Password: API key.
SendGrid
smtp.sendgrid.net · 587 · STARTTLS
Username: apikey · Password: API key.

Notifications

Get pinged in Slack, Discord, or Teams when audits complete and scores change. We auto-format the message for whichever service you use.

Paste a Slack incoming webhook, Discord webhook URL, or Microsoft Teams connector URL. Leave blank and save to disable.

When triggered
Audit completed, score dropped ≥5 points, or audit failed.
What we send
Client name, score with delta, top issue, link back to the audit.
Where it goes
Only the URL you paste. Nothing else, ever.

Headless browser pool

Concurrency cap, stealth fingerprint, and optional outbound proxies for SERP scraping, rank checks, GBP scraping, render + screenshot, and local CWV measurement.

Lean mode — disable browser tools to save RAM

Each checkbox turns off one browser-using feature. Useful on small VPSes where you don't need every tool.

Public API keys

Bearer-token auth for /api/v1/* endpoints. Use these in n8n, Make, Zapier, your own scripts.

Use Authorization: Bearer YOUR_KEY on requests to /api/v1/clients, /api/v1/audits, /api/v1/keywords, /api/v1/snapshots.

Inbound webhooks

Receive events from external systems — GitHub, Linear, Google Alerts, custom integrations. Each webhook gets a unique URL + stored event log you can replay or query.

AI connection

Connect the AI subscription you already pay for, or a provider key — either one drives the same tools. Most of the tool grid needs neither.

AI connection

57 of the 91 tools need no AI and already work. These two cover the other 34. They do different jobs — you can have either, or both.

What this gets you

  • All 91 tools in this app

    Including the 34 that write text — content briefs, meta rewrites, schema, summaries.

  • The SEO assistant and executive summaries

    Anything in here that calls a model.

  • Work that runs while you're away

    Overnight audits, scheduled reports, alerts.

An API key

Connected

Makes the 34 AI tools in this app work — the assistant, executive summaries, content writer — and keeps them running overnight. Gemini and Groq have free tiers.

Providers are listed below.

Your Claude / ChatGPT app

Not set up

Lets Claude or ChatGPT read and act on your SEO data through 22 tools, using the subscription you already pay for. It works in that app, not in this one.

Active AI provider

All AI features in this app use this one model — exec summaries, the AI assistant, and OCR extraction. AI visibility tracking is the exception (it intentionally calls every configured provider).

Credit-saver mode

When on: every AI answer is capped at 500 tokens with a “be terse” instruction — perfect for free-tier providers (Gemini, Groq, OpenRouter free) where you want answers without burning your quota. When off: full-quality long-form answers (executive summaries, blog drafts, content briefs) — uses up to 2000 tokens per call.

ON · ~500 tokens · 2-4 sentences · cheap rerolls
OFF · up to 2000 tokens · full explanations, full briefs

Most features work without any keys. AI features (executive summaries, chat assistant, OCR extraction, AI visibility tracking) need at least one provider key. Free options listed first — start with Gemini or Groq if you're unsure.

Google GeminiFREE
Get key from Google AI Studio

Google's Gemini 1.5 Flash. 15 req/min, 1,500/day on the free tier — just need a Google account.

Best free option for chat / summaries.

How to get a key
  1. 1Click 'Open Google AI Studio' → sign in with your Google account.
  2. 2Click 'Create API key' (top right). Pick 'Create API key in new project' if prompted.
  3. 3Copy the key shown (starts with AIza...).
  4. 4Paste it below and click Save.

Stored locally in data.db on this machine. You can also set environment variable GEMINI_API_KEY as an alternative.

GroqFREE
Get key from Groq Console

Fastest inference available — Llama 3.3, Mixtral. Free tier with high rate limits, no credit card needed.

Fast and free — top pick for the AI assistant.

How to get a key
  1. 1Click 'Open Groq Console' → sign up (Google or GitHub login, no card).
  2. 2On the API Keys page, click 'Create API Key'. Give it any name.
  3. 3Copy the key shown once (starts with gsk_).
  4. 4Paste it below and click Save.

Stored locally in data.db on this machine. You can also set environment variable GROQ_API_KEY as an alternative.

OpenRouterFREE TIER
Get key from OpenRouter Keys

Aggregator giving you one key for many models, including free `:free` variants of Llama and others.

One key, dozens of models. Free tier requires no payment.

How to get a key
  1. 1Click 'Open OpenRouter Keys' → sign up (Google login, no card needed for free tier).
  2. 2Click 'Create Key'. Give it a name.
  3. 3Copy the key shown (starts with sk-or-).
  4. 4Paste it below and click Save.

Stored locally in data.db on this machine. You can also set environment variable OPENROUTER_API_KEY as an alternative.

PerplexityFREE TIER
Get key from Perplexity API Settings

Sonar API returns native citations — primary recommendation for AI visibility tracking. Free credits monthly.

PRIMARY for AI visibility tracking — citations built in.

How to get a key
  1. 1Click 'Open Perplexity API Settings' → sign in (or create a free account).
  2. 2Add a payment method. Free monthly credits cover most personal use.
  3. 3Click 'Generate' to create a new API key.
  4. 4Copy (starts with pplx-) and paste below.

Stored locally in data.db on this machine. You can also set environment variable PERPLEXITY_API_KEY as an alternative.

Ollama (local)FREE
Get key from Download Ollama

Runs LLMs entirely on your computer. Zero API cost, full privacy. Needs ~4–8GB RAM for a 3B/7B model.

Zero API cost forever. Slower on small machines.

How to get a key
  1. 1Click 'Download Ollama' → install for Windows / Mac / Linux.
  2. 2Launch Ollama (it runs as a background service).
  3. 3Open a terminal and run: ollama pull llama3.2 (downloads ~2 GB).
  4. 4Leave the field below as http://localhost:11434 and click Save — Ollama is ready.

Stored locally in data.db on this machine. You can also set environment variable OLLAMA_URL as an alternative.

Anthropic ClaudePAIDConfigured
Get key from Anthropic Console

Claude Haiku 4.5 / Sonnet 4.6 / Opus 4.7. New accounts get $5 free credits.

Highest quality. Use after free options if you need nuance.

How to get a key
  1. 1Click 'Open Anthropic Console' → sign up (gets $5 free credits).
  2. 2On the API Keys page, click 'Create Key'. Give it any name.
  3. 3Copy (starts with sk-ant-) immediately — it's only shown once.
  4. 4Paste it below and click Save.

Stored locally in data.db on this machine. You can also set environment variable ANTHROPIC_API_KEY as an alternative. Already configured — paste a new key above to replace it, or leave blank and click Save to remove.

OpenAIPAID
Get key from OpenAI Platform

GPT-4o-mini and GPT-4o. Pay-as-you-go, $5 minimum to start. No free tier on API.

Use Gemini or Groq first — same quality for free.

How to get a key
  1. 1Click 'Open OpenAI Platform' → sign up.
  2. 2Add a payment method ($5 minimum required).
  3. 3Click 'Create new secret key'.
  4. 4Copy (starts with sk-) immediately. Paste below and save.

Stored locally in data.db on this machine. You can also set environment variable OPENAI_API_KEY as an alternative.

Mistral AIFREE TIER
Get key from Mistral Console

Mistral Large + Codestral. Free tier on La Plateforme. Strong European alternative — GDPR-friendly.

Free tier: 500k tokens/month. EU-hosted models.

How to get a key
  1. 1Click 'Open Mistral Console' → sign up.
  2. 2Verify your email + phone.
  3. 3Click 'Create new key'.
  4. 4Copy the key, paste below, click Save.

Stored locally in data.db on this machine. You can also set environment variable MISTRAL_API_KEY as an alternative.

DeepSeekFREE TIER
Get key from DeepSeek Platform

DeepSeek-V3 + DeepSeek-R1 reasoning. Extremely cheap ($0.14/M input), generous free tier.

Best price-to-performance ratio of any current model.

How to get a key
  1. 1Click 'Open DeepSeek Platform' → sign up (email or GitHub).
  2. 2Free $5 credit for new accounts.
  3. 3Go to API keys → Create new key.
  4. 4Copy + paste below + Save.

Stored locally in data.db on this machine. You can also set environment variable DEEPSEEK_API_KEY as an alternative.

CerebrasFREE
Get key from Cerebras Cloud

World's fastest inference (2000+ tokens/sec) — Llama 3.3 / 70B. Free tier with no credit card.

Insanely fast — use when you need streaming responses to feel instant.

How to get a key
  1. 1Click 'Open Cerebras Cloud' → sign up.
  2. 2Verify email.
  3. 3Go to API keys → Generate key.
  4. 4Copy + paste below + Save.

Stored locally in data.db on this machine. You can also set environment variable CEREBRAS_API_KEY as an alternative.

Together AIFREE TIER
Get key from Together AI

100+ open-source models — Llama, Qwen, Mixtral. Free tier $1 credit on signup.

Great if you want to A/B test open-source models cheaply.

How to get a key
  1. 1Click 'Open Together AI' → sign up.
  2. 2Get $1 free credit on signup.
  3. 3Settings → API keys → Generate.
  4. 4Copy + paste below + Save.

Stored locally in data.db on this machine. You can also set environment variable TOGETHER_API_KEY as an alternative.

GitHub ModelsFREE
Get key from GitHub Settings

Free GPT-4o + Llama + Phi via GitHub. Free for any GitHub user — uses a Personal Access Token.

True free tier; rate-limited but generous for non-commercial use.

How to get a key
  1. 1Click 'Open GitHub Settings' → Developer settings → Personal access tokens.
  2. 2Generate new token (classic). No scopes needed — just hit Generate.
  3. 3Copy (starts with ghp_).
  4. 4Paste below + Save.

Stored locally in data.db on this machine. You can also set environment variable GITHUB_TOKEN as an alternative.

AI learning

Watches what you correct in AI output and turns it into durable style rules. The longer you use the tool, the better its first-pass output gets — no model training needed.

Review learned rules, manually disable any that are wrong, and trigger the distill step on demand.

Open AI learning

Privacy

No telemetry. This app does not phone home or send usage data anywhere.
Your data stays here. Clients, audits, tasks, keywords — all in the PostgreSQL database you configured.

Database

localhost:5432/truscaler_dev_pgsql

Back it up with pg_dumpto keep everything — see Backup & restore. Point the app at a different database with the DATABASE_URL env var.

Outbound requests are explicit. Tech detection, audits, and keyword research fetch the URLs you tell us to. Nothing else.
DiceCodesbuilt this tool

Free for self-hosting. No monthly bills. Built solo.