Case study

HeySales

HeySales keeps contacts, companies and deals on a visual sales pipeline, with tasks, quotes and a calendar alongside, and shows which companies have been visiting your website.

CRM for small sales teams

The HeySales home page on a laptop: the headline “The CRM that actually sells for you”, a Book a demo button, and the demo request form with name, email, company and team size fields.

What it does

  • Connects to Gmail and Google Calendar
  • Website visit tracking that stays cookie-free until a visitor agrees
  • Lead forms to embed on any site, feeding new leads into the pipeline
  • An AI assistant on the Pro plan that can look up and update contacts and deals, and add tasks and notes

How it fits together

  1. People

    • Sales teams
    • Visitors to customers' websites
  2. App

    • React app built with vinext, on Cloudflare Workers
    • Visit tracker and embeddable lead forms
  3. API

    • tRPC
    • Better Auth sign-in
    • Drizzle
  4. Data and services

    • D1 database
    • Gmail and Google Calendar
    • OpenAI for the assistant and voice
    • Cloudflare email sending
How HeySales fits together, from the people using it to where its data is kept.

How it's built

  • A React app on Cloudflare Workers, built with vinext, a Next.js-style framework on Vite.
  • A tRPC API over Drizzle and a Cloudflare D1 database, with sign-in through Better Auth.
  • Gmail, Google Calendar and Google Contacts are reached through Google's REST APIs with plain fetch calls, because Google's own Node client doesn't work on Workers.
  • Without consent, visit tracking stores no IP address: visits are counted with a hash that changes every day.
  • Notifications, password resets and invitations go out through Cloudflare's email sending.
  • TypeScript
  • React
  • tRPC
  • Drizzle
  • Better Auth
  • Cloudflare Workers
  • D1

Articles about HeySales

Tell us what you're building.

Email us about your project: what it needs to do, who it's for and when you'd like it live.