ProjectsCPGRAMS

CPGRAMS

Product design | Conversational UX

2026

CPGRAMS is how citizens complain to the Government of India: twenty lakh grievances a year, 90+ ministries, one fifteen-field form. I designed the chatbot that sits on top of it, so you say what went wrong in any of 22 languages and it files the grievance for you.

Services:

  • Product design
  • Conversational UX

Challenge:

The system works. The door does not.

Role:

Product Design Intern at KPMG India (GovTech). I owned the conversational experience end to end: the journeys, voice intake, the review step, the 22-language UI and the Samadhan Didi mascot.

CPGRAMS, cover

01

About

A channel built for 1.4 billion people, used in practice by the top 15%.

Complaining to your own government should be the easiest thing you ever do online. It is a right, it is written down, and somebody at the other end is obliged to answer. In practice it has been closer to a qualification test.

So this was never really a chatbot project. It was a project about who gets to be heard, and the interface was just where that got decided.

02

Details

Client
DARPG, Government of India
Delivered with
KPMG India
Languages
22 scheduled Indian languages
Scope
Conversational architecture, voice UX, UI, mascot, design system
Surfaces
Web chatbot, mobile web
Live at
cpgramsaichatbot.com

Challenge

An officer is legally obliged to answer every grievance, and 93% get closed. Reaching one is the hard part: a 15-field form whose second question asks which of 90+ ministries owns your problem, in English or Hindi only, behind a CAPTCHA and a session that quietly expires. Six in ten people who start it never finish.

So the people the system exists for are the least able to reach it. A quarter of the country cannot read or write, and more than 550 million people think in a language the portal does not speak.

Solution

I stopped redesigning the form and designed a translation layer over it. Same ministries, same categories, same 30 to 60 day clock. The complexity does not disappear, it moves off the citizen and into software that already knows how government is organised.

The system works out the ministry instead of asking for it, listens for the language instead of offering a list, and shows you what it understood before anything is filed. Voice carries all three: press once, talk, and the fifteen fields are pulled out of that one answer.

The CPGRAMS chatbot home screen: a large microphone in the centre labelled Press to Speak, a chat history rail on the left and a text input along the bottom.The CPGRAMS chat thread showing the citizen's own voice message with a waveform player above Samadhan Didi's written reply and its spoken version.The CPGRAMS Grievance Information card with a plain-language summary and the ministry resolved to NHAI.The CPGRAMS Verify Details dialog with an editable grievance summary, the ministry and category, and Close and Submit controls.

A working system with the wrong door

Lodge a grievance against any central department and an officer has to answer within 30 to 60 days. This is what it took to get that far.

  1. Open the portalDesktop-firstEnglish or Hindi
  2. RegisterMobile number or emailBefore you can say anything
  3. Pick the ministryOne of 90+Asked before you describe the problem
  4. Pick the department and categoryThe portal's wordsNot yours
  5. Describe the grievanceIn writingIn formal language
  6. Attach documentsNobody says which ones up front
  7. SubmitClear a CAPTCHABeat the session timeout
  8. Get a registration numberTrack it with thatAn officer replies in 30 to 60 days
Eight steps, and the two hardest sit at three and four. You classify the problem before you have said what it is, which is backwards for anyone who does not already know how government is organised.
60%Abandon the grievance form partway through
52%Find government websites confusing to navigate
31%Of rural India uses the internet regularly
Six in ten people who start a grievance never finish it. The state simply never hears from them.

03

Highlights

The CPGRAMS Chatbot title screen on saffron with the departmental masthead and Samadhan Didi greeting with folded hands.

A person first, not a form

The first screen is Samadhan Didi on the state's own saffron. The product has to overwrite whatever happened the last time someone opened a government website, and a face that looks like staff does more for that than any layout could.

The CPGRAMS voice flow recording, with a reactive orb replacing the microphone and the line Detecting Language, Please continue to speak.

No language picker, no category dropdown

Both make you decide something before you have said a word. You press one button and talk, and the interface switches to the language it heard. One press starts and stops it, because press-and-hold fails for tremor and arthritis, and the over-60s file more grievances than anyone.

The CPGRAMS recording panel open with a placeholder transcript line and an instruction to click the microphone to stop recording.

Never a silent wait

On a connection where failure is normal, a pause reads as failure. So the panel opens the moment recording starts, asks you to keep talking while it detects the language, and says in plain words how to stop.

The CPGRAMS voice flow showing a live transcript building underneath the detected language and an elapsed recording time.

Catch the mistake while it is cheap

The transcript builds live, with the detected language above it. A misheard road name costs nothing here and a wrongly routed grievance later, so this is where I put the product's first checkpoint.

The CPGRAMS editable transcript with Samadhan Didi pointing at it and a note saying mistakes can be edited here, beside a submit control.

Nothing files until you have checked it

Didi points at the text and says it can be edited, by voice or keyboard, so fixing an error never needs the skill the person arrived without. Letting the AI file silently would have been easier. For a legal complaint with someone's name on it, it would also have been worse.

The full CPGRAMS chat a few messages in: the history rail on the left, the citizen's answer Road name NH 45, and Samadhan Didi's reply with the detected language, an audio player and the Grievance Information card, above the input bar.

The whole conversation, in one thread

A few messages in, it is still one thread. The citizen's short answer, Road name NH 45, sits under the question that asked for it, and Didi's reply carries the detected language, its spoken version and the Grievance Information card the system has built so far. Every missing detail is one question and one answer, with the input pinned at the bottom for the next, so nothing ever turns back into a form.

04

What I tried

The reframe

People were not failing to file grievances, they were failing to fill in a form, and only one of those is the citizen's problem. So I stopped designing a better portal and started designing a translation layer over the one that already works.

8The portal asks you to

Every step is a chance to give up, and six in ten people take it.

  1. Register an account
  2. Read the interface in English or Hindi
  3. Work out the right ministry
  4. Work out the right category inside it
  5. Write the grievance in formal language
  6. Attach the right documents
  7. Clear a CAPTCHA
  8. Finish before the session expires
2The chatbot asks you to

Everything else is inferred, filled and routed by the system that already knew it.

  1. Say what happened
  2. Check that it got it right
Same grievance, same destination, same legal weight. What moved is who has to know how government is organised.

Constraints, and what they ruled out

Two things were fixed before I started: the government's taxonomy could not change, and I could not assume the person filing could read. Together they rule out the obvious answer, because a tidier form is still a reading test.

3Rejected

Each one fixes the surface and leaves the barrier standing.

  1. Redesign the form: cleaner, still a reading and filing test
  2. Add a language toggle: a picker is itself a reading test
  3. Build a native app: an install barrier for 2G users
2Chosen

Removes the two things that actually stop people.

  1. A conversation over the system that already exists
  2. Voice as the primary input, not a feature

05

The system

The system underneath

Built for a conversation rather than a page: bubbles by speaker, audio players, state and language tags, the review card, spotlights, mascot states. Saffron is the state's own colour, and a grievance tool that invented its own would look like it belonged to nobody.

SaffronEvery primary action, and the state's own colourHEX#FE6700RGB254, 103, 0
DeepPressed states and emphasisHEX#9F2D00RGB159, 45, 0
WarmThe citizen's own bubblesHEX#FFC196RGB255, 193, 150
CreamThe chat canvasHEX#FFFBEFRGB255, 251, 239
InkBody copyHEX#333333RGB51, 51, 51
Only one of the five is loud. Saffron carries every primary action, which is what lets somebody who cannot read the label still find the button.
InterfaceInterPress and speak in your languageChat, controls and labels, the running voice of the product
SupportingGeneral SansFile a grievanceHeadings and the few moments that need weight
ScriptRobotoशिकायत दर्ज करेंDevanagari and regional script coverage
Roboto is in the stack for one reason: Devanagari and most regional scripts. A product claiming 22 languages cannot ship a typeface that renders two.

06

Results

3xProjectedmore grievances filedThe scope was sized against reaching the people the portal never heard from.
40%Projectedfewer incomplete submissionsAgainst a baseline where six in ten abandon the form partway through.
85%Projectedcitizen satisfactionThe target the conversational layer was commissioned against.

These are the targets the work was scoped against, not results it achieved. Post-launch numbers sit with the department.

07

Gallery

The phone tutorial spotlighting the microphone button, with Samadhan Didi reduced to a corner presence so she does not cover it.CPGRAMS voice flow resting state on a phone.CPGRAMS voice recording on a phone with a live waveform.CPGRAMS phone screen with a spoken response player.CPGRAMS review screen on a phone before submission.A typed grievance on a phone screen.

08

What it taught me

What I learned

Voice was not a feature. It was the product.

I first designed it as one of two inputs. Removing it on paper left the form again, just friendlier. Once I accepted that a quarter of my users cannot read, every other decision got easier: detect the language, speak every reply, never put a dropdown in the way.

Familiar beat clever.

I wanted something cleaner than a government portal. What worked was keeping the shape people already recognised, the left rail, the account corner, the input at the bottom, and spending the effort on the one thing that had to change.

Open to product design roles.

I’m looking for full-time Product Design and UI/UX roles. If your team is hiring, drop me a message and let’s talk.

aayushvisuals

© 2026 aayush raj. all rights reserved