Fintech and telecom · Open
I designed a wallet-first recharge platform for tier-2 India that passed its yearly revenue target in the first month and was acquired within six
A wallet-first recharge platform designed for 4-inch screens, 2G connections and users who had never paid for anything online.
TL;DR
- Recharging a phone in tier-2 India in 2014 meant a shop that shut at night, a paper coupon that could tear, and a fee for someone else to do it for you.
- I designed a wallet-first recharge app and website for 4-inch Android screens, 2G connections, and users new to paying online.
- It averaged sixty to sixty-five thousand rupees in daily recharges within the first month, against a client goal of one lakh per month.
- The business was acquired six months after launch.
Context
An idea, capital, and no product definition
The product name here is changed. The work, the numbers and the decisions are not.
Before touching any design tool, we ran a working session with the client and business stakeholders to make the brief executable. The client came with an idea, capital, and a go-to-market instinct — but no product definition. Our first job was to sharpen that into something we could actually build.
Competitive reality check. We walked the client through Paytm, FreeCharge, and MobiKwik live — showing the UX, cashback structures, and user volumes. Competition was made tangible, not abstract. This prevented the client from asking for a “similar app” without understanding what similar actually meant.
Defining the differentiator. Not just another recharge app, but a wallet-first recharge platform with aggressive launch promotions and regional marketing muscle. The differentiator was the promo mechanic: 100% cashback up to ₹100 on first recharge into wallet, plus a bonus percentage on wallet top-ups.
Revenue model confirmed. Operator commissions on each recharge transaction of one to two per cent, wallet float, and eventual upsell to bill payments in v2. This gave the team a shared understanding of what success looked like financially.
MVP scope locked. Mobile recharge, DTH recharge, wallet. Nothing else in v1. Documented in a one-page product brief, a shared reference that helped push back on scope creep throughout the project.
Constraints
The India we were actually designing for in 2014
Before any user research, we grounded ourselves in India’s 2014 reality. This shaped every design decision that followed.
| Constraint | Design implication |
|---|---|
| Small, fragmented screens. Android dominant, 3.5 to 4 inch, 512MB RAM | Every screen designed mobile-first for a 4 inch display |
| Slow connections. 2G and EDGE in tier 2 and 3 cities | Loading states and lightweight assets were core, not optional |
| Low digital trust. Entering card details caused real anxiety | Trust signals and reassuring copy became a design requirement |
| Wallet products were new. Most users had never stored money in an app | The wallet concept needed simple explanation at every touchpoint |
| Dual SIM ubiquitous, especially in Gujarat and the Hindi belt | Core consideration for number entry and operator detection |
| Ionic framework limits. WebView rendering differences, lower performance ceiling | The visual system was designed within these constraints from the start |
Those framework limits produced specific decisions rather than general caution. No heavy layered shadows or complex gradients, because WebView rendered them inconsistently across Android versions. No elaborate page transitions, because they lagged on mid-range devices and the experience of speed mattered more than the animation. Larger tap targets than native guidelines, because WebView touch handling needed the forgiveness. A designed loading state on every screen, because the white flash between Ionic views on 2G was a known problem. And slightly higher information density than Western app conventions of the same era, because Indian users coming from feature phone interfaces were not overwhelmed by it.
What I found
Competitors, interviews, and the two people the product had to serve
Competitive audit
We personally used FreeCharge, Paytm, and MobiKwik on a mid-range Android device, not our own phones. Every friction point and delight moment was documented.
| Dimension | FreeCharge | Paytm | MobiKwik |
|---|---|---|---|
| Brand colour | Orange. Energetic, youthful | Blue. Trustworthy, broad appeal | Purple. Distinct but less recalled |
| Core product | Recharge-first, cashback-led. No wallet in early 2014 | Recharge plus digital wallet. Broadest scope | Wallet-first, recharge as secondary |
| Onboarding friction | Low. Recharge possible without sign-up | Medium. Sign-up required upfront for wallet | Medium. Wallet creation required before any transaction |
| Operator detection | Auto-detected as the number is typed. Fast and accurate | Auto-detected, with dropdown fallback | Manual selection required before number entry |
| Cashback model | Aggressive, via merchant coupons. Core differentiator | Credited to wallet, which drove wallet adoption | Cashback and referral bonuses to wallet. Smaller scale |
| Wallet UX | No wallet. Cashback was coupon codes, not stored balance | Balance prominent on home. One-click wallet pay on return | Wallet is the primary feature. All flows wallet-centric |
| Plan selection | Clean list by operator. Good validity and data visibility | Full list with tabs. Verbose, required scrolling | Basic listing. No quick-pick for popular plans |
| Failed transaction | Generic error screen. No refund reassurance | Mentioned refunds but the copy was technical | Poor. No clear error state, users left uncertain |
| Language support | English only. Excluded non-metro users | English only initially, Hindi added later | English only. No regional support at launch |
| DTH recharge | Supported. No help finding the subscriber ID | Supported. Same subscriber ID gap | Supported but buried. Not prominently marketed |
| Trust signals | Minimal on the payment screen | Better. SSL visible, some reassurance copy | Weak. The biggest barrier for new users |
| Return user flow | Saved numbers, but several taps to repeat | Saved numbers plus wallet on home. Fastest of the three | No saved numbers. Details re-entered every time |
| Key weakness | No wallet, so no habit loop beyond deals | Complex for first-time users. High cognitive load | Low brand recall. Poor error UX hurt retention |
| Our opportunity | Combine low-friction entry with a real wallet | Simplify onboarding, make the first recharge feel instant | Add Hindi, saved numbers, reassuring error states |
User research
Six to eight interviews across two clear segments. We went to them, not the other way around. Interviews were conducted in Ahmedabad, Surat, Anand, Rajkot, and Vadodara.
We asked both segments the same things. Walk me through your last recharge, where did you do it and how did it feel. Do you know your own mobile number by heart, and your DTH subscriber ID. If an app gave you ₹100 free on your first recharge, what would make you trust it enough to try. And what would make you never use it again.
The non-metro user’s answer to that last question was the most valuable finding in the entire research phase. Their trust threshold defined the design’s job.
The two people we were designing for
Rahul, 22, engineering student, Ahmedabad. Recharges himself, motivated by cashback, shares deals on WhatsApp. Does ₹50 to ₹100 top-ups frequently. Already using FreeCharge occasionally. Dual SIM user. Will try a new app if the offer is compelling. He evaluates apps quickly. If it is slow or confusing, he is gone in thirty seconds.
Sunita, 35, homemaker, Anand. Manages household DTH and her husband’s recharge. Her husband set up the smartphone for her. Scared of losing money online. Prefers Hindi. Does not remember the DTH subscriber ID; it is written on a piece of paper near the TV. She needs reassurance at every step. But if it works once, she will trust it completely.
Why the existing process was broken
Physical shops closed at night, so urgent recharges were impossible after hours. Scratch cards were washed in laundry or torn, and the money was gone with no recourse. SMS codes ran to twelve or twenty digits, which low-literacy users could not send alone. Shop owners charged a fee to do the recharge for customers. Underneath all of it was a constant dependency on someone else for a basic monthly task.
How I framed it
Structure before screens
Before wireframes, we mapped the full structure of the product and the primary user flow for every key job it needed to do.
First-time user, promo recharge
Land on app → see 100% cashback offer → register with mobile number
→ OTP verification → enter number to recharge → operator auto-detected
→ select plan or enter amount → payment
→ recharge confirmed and wallet credited → share promptReturning user, the ideal three-tap flow
Open app → wallet balance visible on home → tap saved number
→ pay using wallet balance → confirmedWallet top-up
Open app → tap wallet → see balance → tap Add Money → enter amount
→ see bonus preview → pay → wallet creditedDTH recharge followed the same structure as mobile, with a subscriber ID input instead of a mobile number, auto-detecting the operator from the ID where possible and falling back to manual selection.
The one that governed everything was the returning user. Open the app, see the wallet balance on the home screen, tap a saved number, pay from the wallet, done. Three taps. Every other decision in the information architecture served that goal.
Two entry points only on the home screen. Mobile and DTH. Nothing else competed for attention on the first screen a user saw. Focus over feature-richness.
Wallet balance is persistent. Visible on the home screen at all times once registered, not hidden in a settings or profile menu.
Saved numbers are first-class content. Not a convenience feature buried in a menu, but the thing the return-user home screen is built around.
Operator detection is automatic and silent. The user enters the mobile number, and operator and circle are detected in the background. A simple dropdown appeared only if detection failed. The user was never asked to select an operator upfront.
Offer state is a system-wide concern. Every screen knew whether the user had redeemed the first-recharge offer. It wasn’t a banner, it was a state that changed what the home screen rendered.
The design
Wireframes, visual language, and the promotion as a system
Paper sketches first. Then Balsamiq for shareable wireframes the team and client could react to without mistaking them for final design. Every screen designed for a 4 inch Android screen before anything else.
Two home screens, not one
Before redemption, the 100% cashback offer dominated the entire screen. A bold headline, the offer mechanic explained in one line, and a single call to action. Mobile and DTH tabs visible but visually secondary. The offer was the entire reason this user was here.
After redemption, the wallet balance is the hero: large, prominent, almost celebratory. Below it, saved numbers for one-tap recharge, then the mobile and DTH tabs, and a subtle top-up nudge if the balance was low. No mention of the offer they could no longer use.
The screens that carried the most weight
Number entry. A large numeric input, with the phone keypad launching automatically. As the user typed, the operator logo and circle appeared as a small detected tag below the field. It felt intelligent. Recently recharged numbers sat below as quick-select chips.
Plan selection. The top three popular plans for that operator and circle as cards, with validity, data and calls clearly labelled, and “view all plans” below. A separate tab for users who just wanted to enter an amount. The promo reminder as a subtle strip rather than a banner.
Payment, the trust screen. Wallet balance at the top with a toggle, auto-selected if sufficient. Card and net banking as alternatives below. Security badge visible. Full amount breakdown: recharge amount, cashback earned, final wallet deduction. No surprises.
Confirmation, the most important screen in the product. Bold and celebratory. The number recharged, the amount, and for first-time users the line that ₹100 had been added to their wallet. Below it, a share button pre-loaded with WhatsApp text.
The DTH flow, designed for Sunita. Identical in structure to mobile recharge, with one critical difference: the subscriber ID field had a small help icon that expanded to show where to find the ID on the set-top box. Sunita doesn’t remember hers. That help moment was designed specifically for her.
Add money. As the user typed an amount, a live preview updated to show what they would actually receive including the bonus, with the bonus highlighted in the accent colour. Instant, tangible motivation to top up.
Error states, designed explicitly rather than left to developers
A failed transaction said: your recharge didn’t go through, your money is safe, any amount deducted will be refunded to your wallet or bank within 24 hours. Calm, reassuring, specific, with no technical error codes visible.
Failed operator detection produced a small inline dropdown rather than a blocked flow. A low or zero wallet balance showed the wallet in a muted state and changed the call to action to either add money or pay by card, so there was never a dead end. An already-redeemed offer simply showed the standard returning-user view, with no rubbing it in.
Visual direction
The product name itself was celebratory: fast, money-forward, very Indian. Not corporate fintech, not cold and blue. FreeCharge owned orange and Paytm owned blue, so we looked for a fresh combination. A warm, energetic teal as primary, trustworthy enough for a money product and distinct from every competitor. Golden yellow as the accent, evoking currency and celebration, used for calls to action, cashback highlights and success states. Off-white backgrounds with dark charcoal text rather than pure black and white, which is harsh on low-resolution screens.
For type, a slightly rounded sans-serif for headings, friendly and accessible and functional in Hindi. Roboto for body, just released with Android in 2014, clean at small sizes and free. Numerics at a slightly heavier weight, because money needs to feel substantial on screen.
Icons were flat, since skeuomorphism was dying after iOS 7, but not ultra-minimal. Recognisable metaphors kept simple. The rupee symbol ran through the identity as a motif.
Hindi shipped in v1, not v2. English default, Hindi switchable, covering the complete recharge and wallet flow. This was the decision that put the product in Sunita’s hands, not just Rahul’s.
The website is a different product
Newspaper ads and SEO drove traffic to the web. Someone reads the name in Gujarat Samachar and types it on a laptop at home. The mental model we worked to: web converts, app retains.
So the recharge widget sat above the fold, always. Not below a hero banner, not after scrolling. Users could complete a recharge without even creating an account, with account creation happening afterwards on the confirmation screen. Trust signals were visible without scrolling.
We also designed one recharge page template and created operator-specific versions of it, so that someone searching for a particular operator’s recharge landed on a page that directly addressed their query. That was an information architecture decision with significant SEO consequences, and we flagged it to the development team early.
The promotion as a design system
The cashback and wallet bonus weren’t marketing add-ons dropped onto a finished design. They were core product features, and every screen was aware of them. We specified six offer states the whole product had to handle.
| State | Behaviour |
|---|---|
| New, unregistered user | The offer is the dominant message everywhere |
| Registered, offer unredeemed | Offer reminder on home and plan selection |
| Offer redeemed, wallet has balance | Wallet balance is hero. Full return-user experience |
| Wallet loading | Bonus preview shown live as the amount is typed |
| Low wallet balance | Subtle nudge to top up and earn the bonus |
| Promotional period ended | Clean transition to standard experience, no jarring removal |
The share moment deserves naming separately. In 2014, WhatsApp was the primary sharing surface in India. The confirmation screen carried a share button with pre-written text, one tap to send. It cost an afternoon to design and was worth more in qualified referral traffic than a newspaper ad.
My role
Handoff, and sitting in the room
In 2014 in India, design handoff meant a Photoshop file over email with a PDF spec sheet. We made it as precise as the tooling allowed.
Assets went out at 1x MDPI and 2x HDPI for Android, the critical density buckets at the time, 1x and 2x for iOS, and SVG for web icons and logos wherever possible. Every screen was annotated with spacing, font sizes, hex values and interaction notes. Not a beautiful document, a useful one. Developers needed numbers, not aesthetics.
There was a dedicated note for the developers covering which animations to avoid, which components to keep lightweight, and the expected loading state behaviour on every view transition.
Development happened in-house, so I sat in the same room as the developers during the first sprint. Design decisions made in a document always need interpretation. Being present eliminated a week of back-and-forth.
Understanding the technical model wasn’t background knowledge either; it shaped the UX directly. The platform connected to telecom operators through secure APIs, collected payments into an RBI-regulated nodal account, and settled with operators on a daily or weekly cycle. Knowing that the operator confirmation was a real-time call, and that settlement happened later, is what let us write the failed-transaction copy with confidence about where the user’s money actually was.
| Aspect | Our model, API plus settlement | Local shops, prepaid wallet |
|---|---|---|
| Funding | Post-settled based on volume | Pre-funded cash wallet |
| Recharge | Direct API to operator in real time | Deducted from loaded balance |
| Scale | Unlimited, no balance cap | Limited by cash loaded upfront |
| Commission | One to two per cent per transaction | Two to four per cent instant per top-up |
| Settlement | Daily or weekly via nodal account | Instant balance deduction |
What changed
The numbers, and what happened to the business
₹60–65k
~₹20 lakh
6 months
The client’s original goal was ₹1 lakh per month. Within the first month of going live, the platform was averaging ₹60,000 to ₹65,000 in daily recharges.
Within six months, the business had scaled enough for another company to acquire the platform entirely. The acquisition validated not just product market fit, but the technical architecture and the user experience decisions made from day one.
My learning
The most important design work happened before any tool was opened. Business alignment, competitive reality checks, and user research in actual field conditions rather than a conference room determined what the product needed to be.
Designing for two very different users simultaneously produced a better product. Rahul would leave in thirty seconds if the app was slow. Sunita needed reassurance at every step and a Hindi interface. Holding both realities in tension on every screen was harder than designing for one, and the result was stronger for it.
Technical constraints were a design input, not an obstacle. The Ionic framework’s limitations produced a leaner, faster, more appropriate product for the 2G, 512MB reality of tier-2 India in 2014.
The highest-return decision cost almost nothing. The WhatsApp share button on the confirmation screen took an afternoon to design. In hindsight it was probably worth more than the entire marketing budget.
Next
I shipped a live Formula 1 statistics site without writing a line of code