# How to Vibe Code Your Own Letterdrop (and Stop Paying for It)

> Find buyers evaluating your competitors and reach out at the right time

- Site: https://letterdrop.com
- Category: Sales Intelligence & Pipeline Generation
- Verdict: **Solid side project** (65/100 vibecodeable)
- Estimated effort: 2-4 weeks part-time

## Verdict

Build a personal subset for competitor alerts and AI outreach drafts, but keep paying if you need enterprise-grade CRM sync and live proprietary intent feeds.

At $995/month, Letterdrop is expensive for a solo builder, but reproducing its proprietary ingestion engine for live competitor evaluation data across thousands of B2B verticals is a massive engineering undertaking. For a personal-use clone, you can build a solid side project that ingests mock or RSS/social feeds, detects keywords, runs entity matching via LLMs, and drafts personalized outreach pushed straight to Slack. The catch is that you won't get Letterdrop's real-time commercial buyer-intent data without plugging into expensive data brokers or building fragile custom scrapers.

### What you can't replicate

- Proprietary commercial buyer-intent data feeds
- Enterprise SOC2 compliance and native multi-region Salesforce sync

## What it does

B2B sales intelligence and GTM platform that tracks competitor buying signals, champion job changes, and repurposes sales calls into targeted outbound content.

### Core features

- Competitor intent tracking dashboard
- Champion job-change alerts feed
- Firmographic and contact data enrichment
- AI outreach message generation based on signal context
- CRM sync (HubSpot/Salesforce) and Slack webhooks
- Target account list configuration

## The business

### Pricing

- B2B Growth / Outbound Engine: $995/mo — Core tier for teams building pipeline via competitor buying signals and champion tracking.
- Enterprise: Custom — Advanced custom parameters, high-volume contact ingestion, and enterprise CRM sync.

### Funding

$825K raised.
- Seed / Y Combinator W20
Investors: Y Combinator

Founded 2020.
Team size: 10-23.

## The hard parts

- Continuously scraping and ingesting public web and social profiles for buying signals without getting blocked
- Entity resolution and disambiguation across job changes and competitor mentions
- Maintaining robust bi-directional API rate-limited sync with enterprise CRMs

## How to vibe code Letterdrop

### Prerequisites

- Node.js (free): Runtime environment for Next.js backend and TypeScript scripts
- GitHub (free): Source control and deployment pipeline integration

### Recommended AI tools

- Claude Code: Best-in-class terminal agent for scaffolding the Next.js app and multi-file data pipelines
- Cursor: IDE-first AI assistant for refining dashboard views and message generation components

### Stack

- Frontend: Next.js with Tailwind CSS and shadcn/ui
- Backend: Next.js API Routes / Server Actions with Inngest for background signal scans
- Database: Neon (Serverless Postgres)
- Auth: better-auth
- Payments: None (Personal clone)
- Other: Vercel AI SDK, Resend, Firecrawl

### Hosting

- Vercel (Hosting the Next.js web application and serverless API routes): $0-20/mo
- Neon (Serverless Postgres database for accounts, signals, and contacts): $0/mo

### Build guide

1. **Project Scaffolding and Database Schema** — Initialize the Next.js project with Tailwind CSS, shadcn/ui, and configure Neon Postgres with Drizzle ORM for accounts, contacts, and intent signals.

```
Initialize a new Next.js project with TypeScript, Tailwind CSS, and App Router. Set up Drizzle ORM connected to a Neon Postgres database. Define database schemas for 'accounts' (id, name, domain, employee_count, industry), 'contacts' (id, account_id, name, title, linkedin_url, current_status), 'signals' (id, contact_id, signal_type, competitor_name, confidence_score, detected_at, raw_context), and 'outreach_drafts' (id, contact_id, generated_message, status). Include migration scripts and a clean database connection utility.
```

2. **Authentication and Dashboard Shell** — Implement better-auth for secure user authentication and build the main GTM intelligence dashboard layout.

```
Integrate better-auth into the Next.js application supporting email/password and session management. Build a responsive dashboard layout using Tailwind CSS and shadcn/ui components featuring a sidebar navigation (Signals Feed, Target Accounts, Outreach Generator, Settings), top bar with user profile, and a clean overview metrics card layout displaying active signals count, pipeline generated estimate, and active ICP leads.
```

3. **Competitor Intent Signals Feed & Filtering** — Build the core buying signals feed UI with multi-faceted filtering by competitor, vertical, and confidence score.

```
Build the Competitor Intent Signals page in Next.js. Create a server-rendered data table displaying active in-market contacts, their titles, company firmographics, confidence scores, and the competing software vendors they are evaluating. Implement filter controls for competitor name, company size, and minimum confidence threshold. Add a detailed slide-over drawer showing full contact profile and company intelligence when a row is clicked.
```

4. **AI Outreach Generation Pipeline** — Integrate the Vercel AI SDK and Anthropic API to generate tailored multi-threaded sales outreach messages based on captured signals.

```
Implement an AI outreach generator using the Vercel AI SDK and Anthropic API. When a user selects an in-market lead or champion job change signal, create a server action that extracts context (prospect role, competitor being evaluated, past context) and prompts Claude to draft a personalized 3-step outreach sequence. Display the generated draft in an editable modal with buttons to copy or push via webhook.
```

5. **Signal Ingestion and Webhook Alerts** — Build background ingestion routines using Inngest to scan target URLs/RSS feeds and dispatch real-time Slack notifications.

```
Set up Inngest in the Next.js application to handle background signal processing. Create a scheduled workflow function that simulates fetching public professional data or ingesting RSS/Firecrawl markdown feeds for target competitor keywords, matches entity names against the Neon database, inserts new high-confidence signals into the 'signals' table, and fires a formatted JSON webhook notification to a configured Slack channel URL.
```

6. **CRM / Webhook Export & Polish** — Add export capabilities to push enriched leads and alerts to webhooks, Google Sheets, or mock CRM endpoints.

```
Build a CRM and Webhook export settings page where users can input custom webhook URLs or Google Sheet integration endpoints. Implement an export action on signal cards that bundles contact profile, firmographics, and competitor activity data into a structured payload and sends it asynchronously with retry logic, logging delivery status in the database.
```

### Cost vs paying

**Starting costs (one-time):**

- Domain name (optional): $12 one-time
- AI Coding Assistant (Claude Pro): $20 one-time
- Total: ~$32 one-time

**Ongoing costs (monthly):**

- Vercel Hobby / Edge Hosting: $0/mo
- Neon Serverless Postgres: $0/mo
- Anthropic API usage for intent & outreach generation: ~$5/mo
- Total: ~$5/mo

- Paying for the SaaS instead: $995/mo
- Build time: 25-35 hours
- AI tool credits: $20 (Claude Pro) + $10 API credits
- Break-even: Immediate (SaaS is $995/mo)

## Sources

- [Letterdrop Website & In-Market Lead Pages](https://letterdrop.com)
- [Y Combinator Startup Directory - Letterdrop](https://www.ycombinator.com/companies/letterdrop)