Ashish Singh Resume
Product · Signal

CSAT for complex workflows.

Rating tools are built for simple products with one journey. Signal measures satisfaction on any workflow inside a complex B2B app — with one script and an agent that asks the right question at the right moment. No per-workflow code. No app release.

RoleDesigner & builder — end to end
WhatSelf-built 0→1 product
ScopeProduct, brand, SDK & dashboard
The whole integration — then never again
0
Releases to launch or change a survey
Every
Workflow gets its own CSAT & CES score
Signal — integrate with a single line: npx @ashish221/signal-cli connect
The problem

Rating is easy for simple products. Not for complex ones.

A consumer brand has one product and one core journey — order the food, book the ride, watch the episode. There is always a single, obvious moment to ask “how was it?”, and every rating platform is built for exactly that world. Complex B2B products don’t work that way.

Problem 01
One app is not one journey. It’s dozens.
A field-sales or CRM app runs order-taking, expense claims, merchandising audits, complaint resolution, beat planning and more — and every company runs a different mix. There is no single “how was it?” moment, so a one-size rating prompt has nowhere to live.
Problem 02
Measuring any one workflow means shipping code.
To put CSAT on a workflow today, engineering instruments each flow by hand. On native apps you can’t just start asking — you need a new build and an app-store release. A new question, a new workflow, a new moment? Another release cycle. So it rarely happens.
Problem 03
So teams fly blind on how it feels.
Product can see usage and drop-off, but not the feeling — which workflows delight and which quietly frustrate. The one signal that would answer it is the hardest and slowest to collect, so the question mostly goes unasked.
The idea

Move the work off the app, onto an agent.

The fix was to make instrumentation a one-time thing and everything else configuration. You integrate Signal once — one script on the web, one init on native — and that is the only code that ever ships. From then on, an agent decides when to ask, who to ask, and which workflow to ask about, and renders the question in-app without anyone writing code for it.

One script, then never again
A single integration is the entire engineering cost. Every survey after that — new workflow, new question, new timing — is configured from a dashboard, not coded and released.
An agent picks the moment
Eligibility and suppression rules choose the right person, the right moment and the right workflow. Questions land where they matter, and never so often that people tune them out.
1
Workflow event
A rep finishes an action
2
Checks eligibility
Is it worth asking here?
3
Suppression check
Skip if asked recently
4
Asks in-app
A quiet sheet, in context
5
Response
Rating, words, optional photo
6
Scored by workflow
Reads back on the dashboard
Nothing worth asking, or asked too recently? Signal stays silent — no fatigue, no blocking, nothing shown.
The ask
Signal in-app feedback sheet — rate, pick a reason, done in three taps, no redirect
How it works

One integration. Everything else is configured.

Signal is a complete loop — from the right question at the right moment to a score you can act on — and none of it asks the product team to ship code twice.

Signal setup — npx @signal/cli init signs you in, provisions a key and installs the SDK in about a minute
01
One-line integration
Drop in one script on the web, or one init on native. That is the whole engineering cost of Signal — forever, across every workflow you ever measure.
02
Configure, don’t code
Add a workflow, write the question, set who sees it and when — all from the dashboard. It goes live without a build, a review, or a release.
03
The agent asks
Eligibility and suppression choose the right person, moment and workflow, so a prompt only ever appears when it’s genuinely worth asking. Invisible until then.
04
Native, without the rebuild
A bundled renderer shows the sheet inside native apps, so you skip the build-and-ship cycle every in-app survey used to demand. Same experience on web.
05
Per-workflow CSAT & CES
Scores roll up by workflow, not into one blended number, so you can see exactly which journeys delight and which quietly frustrate.
06
Never intrusive
Fail-silent by design. If there’s nothing to ask, or the backend is unreachable, the user sees nothing at all. It can never block or crash the host app.
07
Reads on a dashboard
Responses — a rating, optional words, an optional photo — land in real time, deduplicated, and delivered even after a crash or a dropped connection.
08
Feedback an agent can read
Beyond charts for humans, Signal exposes feedback through a context layer, so an AI agent can query how a workflow is trending and act on it.
The dashboard
Signal Feedback dashboard — CSAT, responses, unique users and response rate for every workflow
Signal workflow detail — ranked reasons and every raw response with rating, comment, photo and device context
The hard calls

What it cost to keep it simple.

01
Invisible versus asked
Ask too often and people tune it out; too rarely and you learn nothing. Suppression had to default to conservative, and let the backend own the real cooldowns.
02
Config power versus simplicity
Anyone should be able to launch a survey without a PM or engineer — yet the system still had to bend to complex, wildly different workflows.
03
Native parity, without native code
Rendering in a web layer had to feel genuinely native — motion, timing, one-handed, offline-tolerant — or field users would dismiss it on sight.
04
Trust, with zero degradation
Embedded inside apps a business relies on, Signal could never slow, block or crash the host. Fail-silent and guest-safe were non-negotiable from the first line.
The shift

From a release cycle to a dashboard edit.

The real impact isn’t a single number — it’s what it now takes to measure a workflow at all. The cost of asking drops from an engineering project to a configuration change.

Before SignalWeeks
Instrument the workflow by handCut a new native buildApp-store review & releaseRepeat for every change
Gated by the release cycle — so it mostly never happens.
With SignalMinutes
Integrate onceAdd the workflow & questionThe agent asksScores read back, live
Zero releases — any workflow, changed any time.
The takeaway

The hard part of measuring experience was never the question. It was everything you had to ship just to ask it. Signal makes asking almost free — so complex products can finally hear how each workflow really feels.