Salesforce

The enterprise CRM and application platform that most sales, service and marketing orgs are built around.

NOT REALLY · consider alternatives
price $25/mo per seatsubscription / year $300estimated build time a weekendreplaced by 0 people

You can absolutely one-shot a contacts-and-deals tracker, and for one person that is often better than Salesforce. But nobody pays Salesforce for a pipeline table. They pay for the thing everything else in the company already points at: the ETL jobs, the marketing automation, the support queue, the finance reports, the twelve years of closed-won history, the admin who wrote 400 validation rules, and the auditors who accept it. A personal replacement replaces the part of Salesforce that was never the expensive part. If you are a solo operator or a two-person shop, build it; if you are trying to leave an existing org, this is a migration project, not a coding session.

Build verification: not recorded. How we judge buildability

What you give up

  • Every integration: marketing automation, support cases, quoting, billing, BI tooling, and the hundred connectors vendors ship for Salesforce and nothing else
  • Multi-user permissions, sharing rules, field-level security, and audit trails that survive a compliance review
  • Reporting, forecasting and dashboards that leadership already knows how to read
  • The admin ecosystem: consultants, AppExchange, and a hiring pool that already knows the object model
  • Historical data with lineage, which is the actual asset in any CRM older than a year

Why people still pay

Because the CRM is the seam the whole revenue org is stitched along. Marketing scores leads into it, support reads accounts out of it, finance reconciles against it, and the board deck is generated from its reports. Ripping it out means rebuilding all of that at once with no downtime, while the sales team is mid-quarter. That risk is worth more per year than the license, which is exactly why the license costs what it does. A solo consultant tracking forty relationships is in a completely different situation and is mostly paying for guilt.

Your build guide

The stack, security requirements, and agent rules for a focused replacement.

Before you start

  • Node runtime and a place to run it, local or a small VPS
  • Optional: an IMAP or Gmail API credential if you want email logging, which is where the weekend goes
01
SQLite via better-sqlite3, file at ./data/crm.db.
02
Data model:.
03
Interface for this enterprise CRM platform workflow: a focused enterprise CRM platform input, review, and export interface.
engineering roadmap

Implementation plan

1

Phase 1, architecture and data

SQLite via better-sqlite3, file at ./data/crm.db. Data model:.

2

Phase 2, implement

Runs with `npm run dev` on port 3000 and nothing else needs to be installed.

3

Phase 3, implement

companies: id, name, domain, notes, createdAt.

4

Phase 4, review and output

contacts: id, companyId (nullable), name, email, phone, role, notes, createdAt. A GET /api/export route that dumps everything as JSON, and a CSV import for contacts that maps columns in the UI before committing.

5

Phase 5, recovery and acceptance

Explicitly out of scope: email sending or syncing, OAuth, multi-user or permissions, workflow automation, reporting beyond the pipeline totals, mobile app, any third-party API. If you want any secret later, read it from .env and commit .env.example only. Verify this invariant with a saved fixture: An invalid input or interrupted operation must retain the source and show a recoverable state; exported records must reload with the same IDs. State the practical limit: Every integration: marketing automation, support cases, quoting, billing, BI tooling, and the hundred connectors vendors ship for Salesforce and nothing else.

the pro prompt
Build a single-user personal CRM that runs locally. No accounts, no cloud, no telemetry.

Stack, non-negotiable:
- Next.js (App Router) with TypeScript
- SQLite via better-sqlite3, file at ./data/crm.db
- Drizzle ORM for schema and migrations
- Tailwind CSS, no component library
- Runs with `npm run dev` on port 3000 and nothing else needs to be installed

Data model:
- companies: id, name, domain, notes, createdAt
- contacts: id, companyId (nullable), name, email, phone, role, notes, createdAt
- deals: id, title, companyId, contactId (nullable), amountCents, currency (default USD), stage, expectedCloseDate, createdAt, closedAt, outcome (won|lost|null)
- activities: id, kind (call|email|meeting|note), subject, body, occurredAt, contactId, dealId, createdAt
- tasks: id, title, dueDate, done, contactId, dealId
- Stages are a fixed list in code: lead, qualified, proposal, negotiation, closed.

Screens:
1. /pipeline: kanban board, one column per stage, deal cards showing title, company, amount. Drag between columns persists the stage. Column headers show count and summed amount.
2. /contacts and /companies: searchable tables, click through to a detail page showing linked deals, activity timeline newest first, and open tasks.
3. /deals/[id]: edit fields inline, log an activity, mark won or lost.
4. /today: tasks due today or overdue, plus deals with no activity in 14 days, labelled "going cold".

Also build:
- One global search box (cmd+K) over contacts, companies and deals, using SQLite LIKE queries. No vector search, no AI.
- A GET /api/export route that dumps everything as JSON, and a CSV import for contacts that maps columns in the UI before committing.
- Seed script with about 20 fake contacts, 8 companies and 12 deals so the board is not empty on first run.

Explicitly out of scope: email sending or syncing, OAuth, multi-user or permissions, workflow automation, reporting beyond the pipeline totals, mobile app, any third-party API. If you want any secret later, read it from .env and commit .env.example only.

Write a README with setup in under five commands and a one-paragraph note on how to back up the SQLite file.

$ open in your agent (prompt prefilled, you press enter), copy the prompt or copy AGENTS.md · generated from this app's build plan

prior art · use these instead of building, if you'd rather

No prior-art project is listed yet. Compare the scoped build with the paid product before choosing.

share on X ↗

Questions about Salesforce

Can you build your own Salesforce with AI?

A full replacement is not the recommended project. You can absolutely one-shot a contacts-and-deals tracker, and for one person that is often better than Salesforce. But nobody pays Salesforce for a pipeline table. They pay for the thing everything else in the company already points at: the ETL jobs, the marketing automation, the support queue, the finance reports, the twelve years of closed-won history, the admin who wrote 400 validation rules, and the auditors who accept it. A personal replacement replaces the part of Salesforce that was never the expensive part. If you are a solo operator or a two-person shop, build it; if you are trying to leave an existing org, this is a migration project, not a coding session.

What does the Salesforce build prompt cover?

The prompt starts with this scope: A local web app with contacts, companies, deals on a drag-across pipeline, activity notes, and next-action reminders, backed by SQLite. Full-product capabilities excluded from the comparison include: Every integration: marketing automation, support cases, quoting, billing, BI tooling, and the hundred connectors vendors ship for Salesforce and nothing else; Multi-user permissions, sharing rules, field-level security, and audit trails that survive a compliance review; Reporting, forecasting and dashboards that leadership already knows how to read. Follow the implementation plan and its prerequisites before expanding the build.

How do I use the prompt, AGENTS.md and agent skills?

Start with the Salesforce prerequisites and stack, then copy the prompt into your coding agent. Save the project rules as AGENTS.md in the project root. Linked skills are optional packages or source instructions for specific tasks; review their current contents and install only those matching the chosen stack. A skill does not supply API credentials or verify the finished app.

How long will this Salesforce project take?

The catalogue estimate is a weekend for the limited scope. Setup, integration approvals, debugging, deployment and ongoing maintenance can add time. This is an estimate, not a delivery guarantee.

What would I give up by replacing Salesforce?

Every integration: marketing automation, support cases, quoting, billing, BI tooling, and the hundred connectors vendors ship for Salesforce and nothing else; Multi-user permissions, sharing rules, field-level security, and audit trails that survive a compliance review; Reporting, forecasting and dashboards that leadership already knows how to read; The admin ecosystem: consultants, AppExchange, and a hiring pool that already knows the object model; Historical data with lineage, which is the actual asset in any CRM older than a year. Because the CRM is the seam the whole revenue org is stitched along. Marketing scores leads into it, support reads accounts out of it, finance reconciles against it, and the board deck is generated from its reports. Ripping it out means rebuilding all of that at once with no downtime, while the sales team is mid-quarter. That risk is worth more per year than the license, which is exactly why the license costs what it does. A solo consultant tracking forty relationships is in a completely different situation and is mostly paying for guilt.

What price is this guide comparing against?

The recorded Starter Suite plan is $25/mo per seat (monthly per user), checked 2026-08-18. Check the linked pricing source before buying. Building your own also has hosting, API and maintenance costs; the recorded amount is not a guaranteed saving.

What can I use instead of building Salesforce?

No alternative is listed in this entry yet. That is a gap in this catalogue, not proof that no suitable product exists. Compare the paid product and the proposed scope before committing to a build.

Every week, more subscriptions die.

New verdicts, new prompts, the week's most-doomed apps.
One email. Unsubscribe in one click.

last week:100 Questions · KINDA1of10 · KINDA1Password · KINDA+1090 more

free forever · no scanner spam · the prompt stays on the site, the deaths come to you

$weekly: what got a verdict, what died.