TedProspect - B2B Prospecting & Sales CRM
The Need
My outbound sales process at Tedbin was entirely manual. Finding potential clients meant searching Google Maps by hand, copying contact details into spreadsheets, and crafting individual pitch emails one at a time. There was no systematic way to assess whether a prospect actually needed web services, no pipeline tracking once outreach began, and no follow-up automation. I was spending more time on research and admin than on actual selling.
The Approach
I built TedProspect, an end-to-end CRM that automates every stage of my outbound sales pipeline, from discovering prospects to closing deals.
- Automated geographic prospecting: A grid-based Google Maps crawler discovers businesses by category and location, with configurable API budget controls to manage costs.
- AI-powered contact enrichment: OpenAI and Claude with web search find emails, LinkedIn profiles, social accounts, and business descriptions for discovered companies, eliminating hours of manual research.
- Website performance auditing: Integrated Google PageSpeed Insights checks (mobile and desktop) identify prospects with underperforming sites, giving every pitch concrete data to reference.
- AI proposal generation: The system auto-selects relevant services from my catalog and generates personalized pitch emails per prospect based on their business profile and website scores.
- Multi-channel outreach: Email sending via configurable providers plus WhatsApp deep-link sharing, with click tracking and automated follow-up reminders to ensure no lead goes cold.
- Centralized inbound lead capture: A public API endpoint that any external website can POST to, funneling contact form submissions from multiple client sites into a single CRM inbox with status tracking and notifications.
- Cross-channel interaction tracking: Tracks prospect behavior across two channels: email link clicks (interested, later, do not contact) from proposal emails, and website visitor activity via an embeddable tracking endpoint. All interactions feed into a dedicated analytics dashboard.
- Full CRM pipeline: Lead status management from discovery through to signed contract, with interaction tracking and dashboard analytics replacing spreadsheets entirely.
- Built for reuse: What started as an internal tool quickly proved useful beyond my own agency. I generalized the platform so any digital services business can deploy it with their own branding, services catalog, and API keys. Learn more at tedprospect.com.
- Onboarding wizard: A 6-step setup flow for mail configuration, branding, services, and API keys gets a new team up and running in minutes.
- Real-time updates: WebSocket broadcasting for async job progress on crawls, enrichments, and PageSpeed checks.
- Multi-language support: English, French, and Portuguese throughout the entire UI.
Tech Stack
Backend
- Runtime: PHP 8.4, Laravel 12
- Auth: Laravel Jetstream, Sanctum (API tokens), Fortify
- Real-time: Laravel Reverb (self-hosted WebSocket server)
- Queue/Cache: Redis
Frontend
- Framework: Vue 3, Inertia.js v2 (with SSR)
- Styling: Tailwind CSS v4
- Visualization: Chart.js, Leaflet (maps)
- Routing: Ziggy (named routes), vue-i18n (translations)
AI and Integrations
- LLMs: OpenAI API (gpt-5-mini with web search), Anthropic Claude API (claude-haiku-4-5 with web search)
- Location data: Google Places API (Nearby Search + Place Details), Nominatim (geocoding)
- Auditing: Google PageSpeed Insights API
- Email providers: Gmail SMTP, Outlook/Exchange SMTP, Amazon SES, Resend, Postmark, MailerSend, Brevo (configurable per deployment)
Database and Storage
- Database: SQLite (dev) / MySQL 8.0 (production), Spatie Eloquent Spatial (geo queries)
- Storage: AWS S3, Cloudflare R2, Spatie Laravel Backup
Infrastructure and Quality
- Containerization: Docker Compose (PHP-FPM, Nginx, MySQL, Redis, Mailpit)
- Local dev: Laravel Herd
- CI/CD: GitHub Actions (tests, formatting/static analysis, security audits, automated weekly dependency updates)
- Monitoring: Sentry (error tracking), Laravel Nightwatch (APM)
- Testing: Pest v4 with Playwright browser tests, Larastan/PHPStan, Rector, Pint, ESLint
Outcomes
- Lead discovery at scale: A single location crawl surfaces hundreds of businesses from Google Maps in minutes, replacing hours of manual searching.
- Automated contact research: AI enrichment finds emails, LinkedIn profiles, social accounts, and business descriptions without any manual work.
- Personalized outreach at volume: AI drafts tailored proposals per prospect using their actual business data and website performance scores, turning what was a per-lead writing task into an automated pipeline.
- Data-driven pitches: Every prospect gets a PageSpeed score before outreach, giving the sales conversation concrete proof points instead of generic claims.
- Consistent follow-up: Automated reminder emails and one-click response buttons (interested, later, do not contact) ensure no lead goes cold and prospects can self-qualify directly into the CRM.
- Full pipeline visibility: End-to-end funnel tracking from discovery through signed contract, with dashboard analytics replacing disconnected spreadsheets.
- Single inbox for all client sites: Contact requests from any number of external websites flow into one dashboard, eliminating the need to check multiple inboxes or forward emails manually.
- Prospect intent signals: Email click tracking and website visit data give real-time visibility into which prospects are engaging, informing when and how to follow up.
Interested in TedProspect? Visit tedprospect.com. For custom tools, get in touch or visit tedbin.com.