Siya Zanwar
Consumer app, then a two-sided exchange · India

Zoop Wallet,
and what it
made possible

Two years as the sole designer on a document wallet. Part one is the consumer app and the two AI features that gave it revenue, taken to over a million document saves. Part two is UDI, the document exchange built on top of it, which was sold to Indian consumer lenders and is still running.

Sole designer, two years With product managers, developers and AI and ML engineers Both shipped
The brief

A free utility app with no revenue, and a filing problem nobody wants to do.

Zoop Wallet stores personal documents. People keep them the way they receive them: a passport scan in the camera roll, an insurance PDF in email, a certificate downloaded once and never found again.

Nobody opens a document wallet for fun. They open it in a hurry, which means the app is judged on how little it asks of them.

None of that made money. My brief was to find features the business could charge for, inside a product whose entire value was staying out of the way.

Those two facts pull against each other. That tension decided most of what follows.

Everything on this page follows one sequence: make the wallet understand what it is holding, charge for the part that costs money to run, then use that understanding to do something no filing app can do.

Part one

Zoop Wallet

The consumer app, and the two AI features that became its first revenue.

01

The decision that made everything else possible.

A wallet that only stores files is a folder with a logo.

The decision underneath this project was that the wallet should understand each document: which of seven categories it belongs to, whether it is government-verified, and when it stops being valid.

That costs more to build than storage and is harder to get right. It is also the only version that can do anything useful later, which is the argument I would make again.

Government records are verified through DigiLocker. Everything else has to be identified.

The Zoop Wallet home screen showing saved cards, quick actions for adding and sharing documents, an entry point to get documents from DigiLocker, a card offering to connect Gmail, and the top categories row
The wallet home. Saved cards at the top, then the two routes documents come in by: DigiLocker for verified government records and Gmail for everything that arrives by email. Categories sit directly beneath, so what the app holds and how it is organised are visible without opening anything.
02

Smart Assist files it for you, and tells you when it goes stale.

When a document is saved, OCR reads it, identifies which category it belongs to and files it there. It also reads the dates, so the wallet knows when a document is close to expiring.

Why this was the thing to charge for. Running a model on every save costs money per use, so the feature’s cost scales with how much someone uses it.

That maps onto a premium tier in a way most features do not. It is why Smart Assist sat behind the paywall rather than something more visible, and it became the app’s first revenue-generating feature.

The part I would defend hardest is the expiry detection. Automatic filing saves a few seconds. Knowing a document has gone out of date gives the product a reason to contact you when you need nothing.

That is the only way a utility app stays on a phone. It is also what made part two possible.

The model is sometimes wrong, so the suggested category stays visible and changeable until the save completes. The choice is never buried behind a confirmation the user has already tapped past.

Four screens: authentication succeeded, an explainer saying the latest PDFs will be sorted into travel, finance and health with each category described, and the recent documents list filtered by source showing an e-ticket and boarding pass filed under travel, statements under finance and a pathology report under health
Categorisation, before and after. The explainer names the categories and what goes in each, so the user knows what the feature will do before granting anything. On the right, the result: a boarding pass filed under travel, a card statement under finance, a pathology report under health, each tagged with the source it came from. The list is filterable by source, so a person can always see what arrived from where.
Camera capture Gmail sync on save OCR reads it Identifies category Reads the dates files flags One of seven categories Expiry tracked both Can answer “a valid passport?”
Why the wallet had to understand, not just store. OCR produces two things from one read: which category a document belongs to, and when it stops being valid. Filing alone makes the app tidy. Only both together let the wallet answer a request, which is what part two depends on. A wallet that knows it holds a passport, but not whether that passport has expired, cannot respond to a lender asking for a valid one.
03

Gmail sync catches documents where they actually arrive.

Most documents do not start on your phone. They arrive by email: a test result, a visa, a boarding pass, a statement.

Gmail sync connects the inbox so those attachments are recognised, categorised and filed as they arrive.

Reading someone’s inbox is the largest thing this product asks for, so the design weight sits after the connection, not before it.

Permissions are set per category: travel documents can be let through while health documents are kept out. Those controls stay on the screen that connected the account rather than retreating into settings.

The screen that turns the sync on is the screen that turns it off.

The entry point is a card in the existing home screen list, not a banner or an interstitial. A feature the business wants does not get to buy itself a new surface.

Four screens: the wallet home with a connect Gmail card, an explainer screen offering to get documents from Gmail automatically organised, Google's choose an account screen, and Google's permission screen describing what Zoop Wallet will be able to access
Connecting an inbox, four screens. The offer sits in the home list, the explainer says plainly what the feature does, and then Google’s own account and permission screens take over. Two of the four screens are not mine to design, so the work was making the two that are match their seriousness rather than rush the user past it.
Shipped dialog

Pause Sync?

Documents received in your Gmail going further will not be added into Docuwallet.

NoYes

It names what stops arriving, which beats asking whether you are sure. But it does not say what happens to documents already saved, and that is the question a person actually has.

The smallest change I would still make:

Proposed revision · not shipped

Pause Gmail sync?

New Gmail attachments will stop importing. Documents already saved will remain.

Keep syncingPause sync
Part one outcome

Over a million document saves, and the app’s first revenue.

Smart Assist and Gmail sync shipped. Smart Assist became the first revenue-generating feature in the product. The million-plus saves figure is whole-wallet, from the company’s analytics.

Part two

UDI

A unified document interface. UPI gave payments one way to ask. Documents had none.

04

The problem is the loop, not the paperwork.

Apply for a student loan in India and the lender hands you a list: birth certificate, tax returns, utility bills, grade sheets, bank statements. All originals, all verified.

You find them across WhatsApp, email, your phone and DigiLocker. You download, rename, submit. The lender finds one wrong or out of date and sends you back. Then you apply somewhere else and it starts over.

Birth certificate · in DigiLocker Bank statements · in email Grade sheets · in WhatsApp Utility bills · on the phone The list · on the lender’s desk

The documents already exist and are already verified. What is manual is matching them to a request, and doing it again for every lender.

05

A request the lender issues and the wallet answers.

The lender stops handing out a checklist and starts sending a structured request. Because it is structured, the wallet can match it against what the person already holds.

01

Scan

The lender displays a code generated by Zoop. Scanning it opens the request rather than a blank upload form.

02

Declare

The person says what they are applying for. That choice determines which documents the request asks for.

03

Select

The wallet shows which required documents it already holds, verified, and which are missing or out of date.

04

Release

The person approves, the documents transfer, and both sides get a record of what was shared and when.

Step three is only possible because of part one. A wallet that only stores cannot answer a request. It has to know what each document is and whether it is still valid. That dependency is why the consumer app had to come first, and it is the sequencing decision I am proudest of.

06

The collection sits inside the lender’s own flow.

The first surface is not the wallet. It is the lender’s application, with the document step handled by Zoop and marked as such, so the person always knows whose system is holding their documents.

Three screens: a document checklist inside a lender's application, the DigiLocker consent screen listing the issued documents and a validity window, and the completed checklist with each file labelled by its source
Collection, inside the partner flow. DigiLocker and Google run their own consent screens, which the design fits around rather than hurries past. Every collected file carries the mark of where it came from, so a lender can tell a government-issued record from an email attachment without opening it. A source label records origin, not independent authentication.
Three screens from the partner side: a data request naming the loan application and the two documents required, a consent screen stating the purpose and a ninety day data validity window with start and end dates, and a confirmation listing the documents that were submitted
The request, the consent and the receipt. The request names the application and each document with its issuing authority. The consent screen states the purpose and a validity window with real dates, so permission is bounded rather than open-ended. The confirmation lists exactly what was sent. The client’s name and mark are redacted here.
07

Most of the design is in the endings nobody plans for.

A request can be completed, declined, or left until it expires. All three had to be specified, because the ones where a person does nothing are what decide whether a product handling someone’s documents gets trusted.

An active requests tab showing time remaining, a history tab listing requests marked completed, expired and denied, and a record of one completed share
Request history. Active requests show time remaining, so expiry is something a person watches approach rather than something that happens silently. History keeps declined and expired requests next to completed ones. A declined request means nothing was released, and that record is as permanent as a successful share.
Part two outcome

Sold to major Indian consumer lenders, and still running.

UDI went into partner application flows and was still live when I left the company. I am naming the client type rather than the companies, and not quoting contract values or client counts, because those are the company’s figures rather than mine to publish.

08

What I would measure, and did not

A million saves tells you documents went in. It does not tell you whether Smart Assist was trusted, and that is the gap I would close first.

The measure I would define before building it again is the correction rate: how often a person changes the category the model chose.

A low rate means the filing is trusted and the premium tier is earning its price. A high rate means the feature is creating work while appearing to save it, and a headline save count would hide that completely.

On the exchange, three more: how far through a request people get before dropping out, how often a required document is missing rather than merely out of date, and whether declines change when a request names the business and the purpose.

The first two say whether the wallet holds the right things. The third says whether the consent design is doing its job.

09

Evidence and method

Role and scope

Product Consultant at Zoop.one, 2024 to 2025. Sole designer on Zoop Wallet and on UDI, across both the consumer and business sides: concept, flows, consent model, receipt and history, and the failure states.

I joined when the product was an idea with a handful of screens, and the team rebuilt it from there. I worked with product managers, front and back end developers and the AI and ML engineers, and reported to a design manager who owned the Figma files. Commercial terms and client relationships sat with the business.

Across the same period I also redesigned Zoop Stack’s B2B verification dashboard and worked on onboarding and activation in RBI and AML regulated products, resolving edge cases with engineering.

Status and figures

Both shipped. Smart Assist and Gmail sync were released, and Smart Assist became the app’s first revenue-generating feature. UDI was sold to clients and deployed.

1M+ document saves is a whole-wallet figure from the company’s analytics, not a Smart Assist figure. No revenue amounts, client counts or user numbers are quoted here because those are the company’s to publish.

Dependencies and scope of the screens

DigiLocker for government-issued records, Gmail for documents that arrive as attachments. Each runs its own consent model, neither of which could be modified, so the design fits around both.

WhatsApp appears in the scenario as a place people keep documents. It was not a connected source.

Screens are exports from the design files I produced. On the partner request screen the client’s name and mark are redacted, and the lender shown in the collection flow is a placeholder name from the source files. The camera capture screen is not reproduced here.

Research that informed the AI states

Before designing the states for model-generated output, I reviewed how comparable products marked generated or AI-assisted content, how they handled loading and in-progress states, and how they named the feature. The review informed the icon, state and naming choices. It is a design reference exercise, not a published study.