SaaS · Fintech · 3 months

SaaS · Fintech (under NDA)

In-product copilot that accelerates onboarding and reduces support tickets.

+24%
Free → paid conversion
-48%
Onboarding-related tickets
9 min
Time to first value
vs 32 min before

Problem

The customer had healthy free activation but conversion to paid stalled: users could not figure out how to configure bank reconciliation rules and abandoned after the first attempt. The success team did not scale.

Solution

We embedded a copilot inside the UI with workspace context. The user describes the automation in natural language; the copilot generates the rule in the internal DSL, previews it on real data and asks for confirmation before saving.

Stack

  • Claude 3.5
  • TypeScript
  • OpenAI embeddings
  • Supabase
  • Next.js

"We went from depending on a customer-success session to having the product itself explain the hard parts."

Head of Product · B2B fintech SaaS

Context

The product solved automated bank reconciliation, but initial setup required understanding a custom DSL that produced great results only when written correctly. Users who configured it themselves had 3x the retention of those who needed help.

Technical decisions

Workspace embedding (accounts, categories, history) stored in Supabase with pgvector. The copilot uses Claude for reasoning and produces structured DSL (not free JSON) validated against a schema before execution. Per-suggestion usage logs and confidence to measure effectiveness and tune prompts.

Key guardrails: the copilot never executes changes without human preview, and asks for double confirmation on destructive operations.

Lessons learned

The copilot improved dramatically when we stopped asking it to “solve” and started asking it to “propose and explain”. The explanation is what converts, not the magic.

Want a similar outcome?

Tell us your case and we will design a proposal based on your current metrics.