All Case StudiesSaaS

ClientNest CRM

Full-Stack CRM Engineered for Digital Product Teams

$29/mo

Starting price

4

Native integrations

Nexolve

Built by

10 Weeks

Timeline

View Live Product
ClientNest CRM screenshot 1
ClientNest CRM screenshot 2
ClientNest CRM screenshot 3
ClientNest CRM screenshot 4

Who this was for

Digital marketing agencies and product studios with 2–15 team members managing multiple client accounts. Teams already using GitHub, YouTube, and PayPal who needed a unified view without switching between 4+ dashboards per client.

The Problem

Digital agencies and product studios live across GitHub for code review, YouTube for content analytics, PayPal for client billing, and Webflow for site management. Every context-switch costs time and mental overhead, and critical signals (a client's video underperforming, a payment failing, a PR going stale) get missed because they're buried in different tools.

Existing CRMs (HubSpot, Pipedrive) are built for sales teams, not builders. They don't surface GitHub commit velocity or YouTube engagement as deal signals. ClientNest was designed from scratch around the actual workflow of a digital product team.

Constraints

  • OAuth tokens had to be stored in Supabase Vault, never in environment variables or plaintext DB columns.

  • Sync frequency had to be user-configurable to avoid hitting GitHub’s 5,000 req/hr and YouTube’s quota limits.

  • Kanban state transitions had to feel instant, optimistic UI with silent Supabase writes and rollback on error.

  • Entitlement updates from billing webhooks had to apply within seconds, not on next login.

  • Multi-tenant architecture: each agency’s OAuth tokens, client data, and pipeline state had to be fully isolated.

How Nexolve Built It

ClientNest is a Next.js SaaS with Supabase as the data layer. Every integration is a bidirectional sync, events from connected APIs flow into a unified timeline, and actions taken in the pipeline board write back to external systems where applicable.

  1. 1

    OAuth 2.0 integration hub

    Clients connect GitHub, YouTube, and PayPal via OAuth 2.0 flows. Access tokens are stored encrypted in Supabase Vault, never in environment variables, and rotated automatically on expiry.

  2. 2

    Background sync engine

    A Supabase Edge Function cron job polls each connected API at user-configurable intervals (15 min to 24 hrs), upserts events into a unified timeline schema, and deduplicates by external ID to prevent double-entries on re-sync.

  3. 3

    Pipeline board with optimistic UI

    The Kanban pipeline uses React Query's optimistic mutation pattern, drag-and-drop stage transitions persist to Supabase in the background without blocking the UI, with rollback on error.

  4. 4

    Built-in SEO tooling

    ClientNest calls the Google Search Console API on behalf of the user to surface impression/click/position data per page, automatically ranked by gap-to-first-page opportunity, eliminating the need for a third-party SEO tool.

  5. 5

    Usage-based billing

    Billing is computed server-side each cycle: team seats × feature tier. Charges are processed via PayPal Subscriptions, with webhook handlers that update seat entitlements in Supabase within seconds of payment confirmation.

Tech Stack

Next.jsSupabaseSupabase VaultReact QueryGitHub APIYouTube Data APIGoogle Search Console APIPayPal SubscriptionsEdge FunctionsTailwind CSS

Outcomes

  • Single pane of glass for GitHub, YouTube, PayPal, and Webflow, all in one timeline.

  • Optimistic UI on Kanban board eliminates perceived latency during drag-and-drop stage changes.

  • Encrypted token storage via Supabase Vault, no secrets ever written to environment variables.

  • SEO gap analysis built in, clients no longer need a separate Ahrefs or Semrush subscription for page-level keyword tracking.

  • Usage-based billing auto-computes and charges each cycle with zero manual reconciliation.

Need a custom SaaS tool for your team?

We design and ship product-grade SaaS from scratch. Book a free 20-minute call and we’ll scope your idea.