TabPref CRM

A slim hospitality-workforce CRM for tracking the bars, restaurants, spas, casinos, hotels, and lodging properties we partner with, plus the people who run them, with AI-drafted outreach, campaigns, reminders, and revenue tracking in a single workspace.

Category: Internal Sales CRM

Tech Stack: TypeScript 5.9, React, Vite, Node.js 24, Express 5, PostgreSQL, Drizzle ORM, Replit Auth (OIDC), OpenAI, Gmail API, Tailwind CSS, shadcn/ui, TanStack Query, react-hook-form, Recharts, Zod, Orval (OpenAPI codegen), pino

What it is

TabPref CRM is the internal sales and account-management workspace I built to run our partner pipeline at TabPref. It tracks every venue we work with (bars, restaurants, spas, casinos, hotels, and lodging properties), the people who run them, every touchpoint, every dollar of revenue, and every follow-up. AI drafts the outreach. Campaigns target by industry and lifecycle moment. Reminders surface the next move. Gmail handles the send.

Why it exists

Once TabPref started landing real venues, the spreadsheet broke. Off-the-shelf CRMs are priced and shaped for outbound SaaS sales teams, not for the rhythm of hospitality account management where the contact moves venues, the venue rebrands, and the next conversation is six months away from the last one. I wanted a CRM that understood our world: location-first, with industry-aware templates, AI that drafts in our voice, and a reminders engine that nudges me before partners go quiet. Building it ourselves also kept all of our partner data inside our own stack.

What I built

Back to Aaron Horne Portfolio