Britney

B2B sales operations platform unifying leads, quotes, contracts, and commissions across four markets

// At a glance

Problem

A sales organization operating across four markets had leads, quotes, contracts, invoices, and commissions split across GoHighLevel, Zoho, and manual spreadsheets, with no single tool for agents and admins.

Solution

Built a decoupled Next.js + Laravel platform with market-scoped middleware and three-tier role-based access, bidirectional sync services for GoHighLevel and Zoho, a configurable commission engine, server- and client-side PDF generation for quotes/contracts, and an AI-powered BI chat assistant.

// Key highlights

  • Multi-tenant, multi-market architecture with market-scoped middleware and three-tier role-based access control
  • Bidirectional integrations with GoHighLevel CRM and Zoho invoicing, including sync commands and credential management
  • Configurable commission calculation engine tied to sales, quotes, and contracts
  • AI-powered BI chat assistant plus AI-assisted service description generation
  • Polished, internationalized dark-theme UI (glassmorphism, Radix primitives) on Next.js 16 / React 19

Britney is a full-stack B2B sales operations platform built for a multi-market sales organization (Italy, France, Morocco, UK). It unifies lead tracking, service catalog management, quote generation, contract and invoice management, commission tracking, and business intelligence into a single role-based dashboard, while syncing data from external CRM/invoicing systems (GoHighLevel, Zoho) so sales agents and admins never leave one tool.

Tech Stack

  • Frontend: Next.js 16 (App Router), React 19, TypeScript
  • UI: Tailwind CSS 4, Radix UI primitives, shadcn-style component library, Recharts, TipTap rich text editor, next-themes (dark glassmorphism UI)
  • State/Data: TanStack Query, Zustand, next-intl (i18n: English/Italian)
  • Backend: Laravel 12 (PHP 8.2), Laravel Sanctum (auth), Laravel Octane
  • PDF/Reporting: barryvdh/laravel-dompdf, PhpSpreadsheet, Puppeteer (frontend PDF rendering)
  • Integrations: GoHighLevel (GHL) CRM API, Zoho Invoicing API, Baserow (onboarding forms), AI-powered chat/BI assistant and AI service-description generation
  • Infra/Tooling: Docker (Dockerfile + docker-compose), Nixpacks, ESLint, Laravel Pint, PHPUnit

Key Features

  • Lead pipeline management synced from GoHighLevel (New → Contacted → Qualified → Proposal → Won/Lost)
  • Service catalog with AI-generated descriptions, categorized by type and category
  • Guided 5-step quote builder with PDF generation and direct client email delivery
  • Contract management with GHL sync, PDF upload, and status tracking
  • Invoice tracking with Zoho synchronization and reporting
  • Commission engine with configurable commission rules and withdrawal management
  • Client onboarding via Baserow-powered dynamic forms
  • Sales team administration with role-based access control (Super Admin, Admin, Sales Agent)
  • Analytics dashboard: revenue, top performers, top services, top clients
  • Natural-language BI Chat assistant for querying business data
  • Multi-market support (currency/locale/GHL account per market) and multi-language UI

Architecture

Britney is a decoupled monorepo: a Next.js frontend (britney/) consuming a Laravel REST API backend (britney-backend/) authenticated via Sanctum. The backend exposes resource-oriented API controllers (Quotes, Contracts, Invoices, Commissions, Clients, Services, etc.) alongside dedicated integration layers — Services/GHL, Services/Zoho — that encapsulate third-party sync logic (GHL contracts/leads sync, Zoho invoice sync) behind console commands and services, keeping controllers thin. Middleware (MarketScope, RoleCheck) enforces multi-market data isolation and role-based permissions at the request layer. PDF generation is handled server-side (DomPDF) and client-side (Puppeteer) for quote/contract documents. The frontend uses the App Router with route-per-feature pages, a shared authenticated layout/sidebar shell, TanStack Query for server-state caching, and Zustand for local UI state.

My Role

  • Designed and implemented a multi-tenant, multi-market architecture with market-scoped middleware and role-based access control across three permission tiers
  • Built bidirectional integrations with two external platforms (GoHighLevel CRM and Zoho invoicing), including sync commands, credential/account management, and caching layers for external data
  • Implemented a commission calculation engine with configurable rules tied to sales, quotes, and contracts
  • Built an AI-powered BI chat assistant and AI-assisted service description generation
  • Delivered a polished, internationalized dark-theme UI (glassmorphism, Radix primitives, custom component library) on the modern Next.js 16 / React 19 stack

Have a project in mind?

Let's build something great together.

Tell me what you need and I'll get back to you with a clear, honest estimate.

HassanOSSYS-00
SECURE CHANNEL · ACTIVE
INIT://