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

> Fully automated personal data removal and privacy service

- Site: https://incogni.com
- Category: Privacy & Data Removal
- Verdict: **Don't bother** (12/100 vibecodeable)
- Estimated effort: 6+ months of full-time maintenance

## Verdict

Build a personal CLI scraper for 3 sites, but keep paying for Incogni if you want real coverage; maintaining scrapers across 420+ hostile data brokers is an endless second job.

Writing a script to check your own name on Whitepages takes an afternoon. Cloning a production SaaS that automatically submits opt-outs, parses unstructured tables, bypasses aggressive Cloudflare bot detection, and handles hundreds of shifting target site DOM structures is an impossible maintenance nightmare for a solo builder. Target sites intentionally break their layouts and introduce CAPTCHAs to block automated removal.

### What you can't replicate

- Maintained parsers and proxy pools for 420+ hostile target websites
- Deloitte-audited compliance infrastructure
- Continuous legal escalation teams

## What it does

Scubs personal identifiable information (PII) from data broker databases, people-search websites, and marketing lists using legal opt-out frameworks.

### Core features

- User profile configuration (names, previous addresses, phone numbers)
- Automated matching against people-search engines
- Asynchronous removal request scheduling and status tracking dashboard
- Recurring cron jobs to re-scan and resend opt-out demands
- Legal authorization document generator (GDPR/CCPA templates)
- Progress analytics and summary reporting

## The business

### Pricing

- Standard (Individual): $7.99/mo — Billed annually at $95.88
- Unlimited (Individual): $14.99/mo — Billed annually at $179.88
- Family (Up to 5 members): $15.99/mo — Billed annually at $191.88

Founded 2021.
Team size: 2,000+ (parent group Surfshark / Nord Security).

## The hard parts

- Bypassing enterprise anti-bot walls (Cloudflare, DataDome, Akamai) on hundreds of data broker sites
- Constantly maintaining DOM scrapers and form submission APIs as broker site layouts shift
- Managing complex asynchronous state machines for requests taking anywhere from 2 hours to 45 days
- Handling proxy rotation and headless browser fingerprinting at scale

## How to vibe code Incogni

### Prerequisites

- Node.js (free): Runtime for the TypeScript backend and automation scripts.
- GitHub (free): Source control and CI/CD actions to run scheduled scraping cron jobs.

### Recommended AI tools

- Claude Code: Best agentic tool for writing and debugging complex TypeScript scraping loops and selectors directly in the terminal.
- Cursor: For iterative dashboard UI development and review of frontend components.

### Stack

- Frontend: Next.js
- Backend: Next.js API routes
- Database: Turso
- Auth: better-auth
- Payments: none
- Other: Playwright, Resend

### Hosting

- Cloudflare (Hosting the Next.js frontend, API endpoints, and scheduled cron triggers for daily scans.): $0-5/mo

### Build guide

1. **Scaffold the Personal Privacy Dashboard** — Initialize a Next.js application with Tailwind CSS and better-auth to manage your personal profile data.

```
Initialize a new Next.js project with TypeScript, Tailwind CSS, and better-auth configured for local SQLite/Turso. Create a user profile onboarding flow where the user inputs their full legal name, current and past addresses, email addresses, and phone numbers. Build a main dashboard page displaying an overview table of target data broker sites, their current status (Scanned, Removal Requested, Removed), and expected resolution timelines.
```

2. **Build the Target Site Configuration Schema** — Define the database models and configuration structures representing individual data brokers and people-search directories.

```
Create a Turso database schema using Drizzle ORM containing tables for 'brokers' (name, url, category, requires_manual_form, difficulty_score) and 'user_removals' (user_id, broker_id, status, last_checked_at, tracking_id). Seed the database with 3 sample target people-search sites that allow public opt-outs.
```

3. **Implement Automated Scraping & Submission Pipeline** — Write Playwright-based automation scripts that check target sites for exposed user profiles and submit opt-out requests.

```
Write a modular TypeScript scraping service using Playwright that takes user profile data and checks a target people-search directory. If a matching profile is found in the search results, automate the interaction sequence to submit the opt-out/removal web form. Handle basic error catching, screenshot logging for debugging anti-bot blocks, and update the 'user_removals' table status to 'Removal Requested'.
```

4. **Schedule Recurring Cron Jobs** — Configure automated background tasks to re-scan directories and verify removal statuses periodically.

```
Implement Cloudflare Workers Cron Triggers or Next.js scheduled endpoints that iterate through active user removal records every 14 days. Re-run the verification script against the target broker site to confirm whether the profile has been successfully scrubbed or if it has reappeared, updating the status and sending an email notification via Resend if status changes occur.
```

5. **Polish Dashboard Reporting & Edge Cases** — Add status history logs, exportable progress reports, and robust error handling for broken DOM layouts.

```
Add a detailed modal view for each broker in the Next.js dashboard showing the history of requests, screenshots of successful opt-outs or error states, and a summary stats banner tracking total hours saved and requests completed. Implement fallback alert logging via Sentry when scraper selectors fail due to target site DOM updates.
```

### Cost vs paying

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

- Domain name: $12 one-time
- Total: ~$12 one-time

**Ongoing costs (monthly):**

- Cloudflare Workers & Turso: $0-5/mo
- Total: ~$5/mo

- Paying for the SaaS instead: $7.99/mo
- Build time: 40-60 hours of scraper maintenance
- AI tool credits: $20 (Claude Pro)
- Break-even: Infinite (paying is cheaper when factoring maintenance time)

## Sources

- [Incogni Home Page](https://incogni.com)
- [Incogni Pricing Page](https://incogni.com/pricing)
- [Incogni About Us Page](https://incogni.com/about-us)