Dec 2025 - Jan 2026  ·  Dhan App  ·  Live

Automating IPO bids for 10,000+ traders on Dhan App

Designed the SuperIPO feature to automate execution and capture institutional momentum for active traders and investors


Overview

What’s Dhan?

Dhan is a technology-led stock trading platform built for India’s active market participants. The platform serves two distinct personas:

Super Traders: Who need speed, advanced charts, and F&O capabilities.

Long-Term Investors: Who focus on wealth creation through SIPs and IPOs.


Team

1 - Product Manager

1 - Product Designer (Myself)

2 - Engineers


Context

Why build a SuperIPO feature?

In the Indian stock market, IPOs have evolved into high-speed momentum trades. Instead of reading balance sheets, users rely on "Live Subscription Status" (e.g., waiting for Institutional demand to cross 50x) to guarantee a listing-day profit.


Problem

What’s the problem statement?

Users rely heavily on this live data for validation, which creates an anxious loop of constantly refreshing the app during work hours to see if the "crowd" has arrived yet.


Root cause

Why does this problem exist?

The problem exists because of a mismatch between Market Speed and User Attention.

A "boring" IPO at 10 AM can become "hot" by 2 PM if a large institution places a bid. Users have jobs and lives; they miss the momentum spike because they cannot physically monitor the app 24/7.


Insights

How does Dhan know this is a problem?

We observed two distinct signals:

Retail participation spikes disproportionately in the final hours of an IPO. This proves users aren't waiting for funds; they are waiting for validation.

In India, participants use Subscription Status as a proxy for quality. If the crowd isn't there yet, they don't bid.


User & Business Value

Why should Dhan solve for it?

For the User (FOMO Relief): It moves them from "Anxious Tracking" to "Strategic Intent." They can say, I only want this if it's hot, and then go back to work.

For the Business (Competitive Moat): Competitors (like Zerodha or Groww) only offer manual bidding. By building an automated, rule-based execution system, Dhan captures high-intent transaction volume that would otherwise be lost to "attention fatigue."


Target Audience

Who are we solving for?

The "Super Trader" (Revenue Driver): They want to maximize listing gains based on Institutional (QIB) data. SuperIPO acts as their execution bot, ensuring they never miss a hot IPO.

The "Active Retail Investor" (Volume Driver): They are driven by market momentum and rely on "Social Proof." SuperIPO acts as a safety net, allowing them to only invest if the broader crowd agrees it's a good idea.


Constraints

What boundaries did we design within?

Existing Design Language - The feature had to feel native to Dhan. No room for radical new UI patterns; components, tokens, and interaction models had to stay consistent with the rest of the app so users didn't have to relearn anything.

Regulatory Rules - SEBI and exchange rules dictated hard limits: Retail applications cap at ₹2L, HNI starts above it, IPO shares are only bought in pre-defined "Lots," and categories map to separate allotment quotas. The bot had to file orders inside these buckets.


Key design principles

What are the non-negotiable rules?

Cognitive Offloading: Replace complex math with simple "sentiment choices" (e.g., >5x, >10x).

Trust Through Friction: Automating money is scary. Introduce intentional friction so the user never feels like the app is spending money behind their back.

Scalable Simplicity: The UI must be dead simple for a first-time investor, but powerful enough for a high-net-worth individual buying in bulk.


Userflow

Defining Core Experience

Opens an IPO List Page
↓
Taps "SuperIPO"
↓
Selects Trigger (>5x) + Defaults to Cut-Off Price to Activate
↓
OTP Verification
↓
SuperIPO is Active ( Bot monitors real-time NSE/BSE data every second )
↓
Subscription crosses >5x, System places the order instantly
↓
User taps notification → Approves UPI Mandate

Iteration 1

Oversimplified Approach

Iteration 1

✅ Pros (Why we tried it)

Low Cognitive Load - The interface is clean. It uses simple chips for triggers (2x, 5x) and checkboxes for IPO Type.

Scannability - A user can look at this and understand the logic in 2 seconds.

❌ Cons (Why we failed)

Broken SME Logic - SME IPOs require large bids (₹1L+) and often force the HNI category. This interface failed to accommodate those rules, creating dead ends for users.

Excluded "Super Traders" - By locking the system to "1 Lot," we alienated our most valuable users who want to buy in bulk (10+ lots).

The "Impossible" Promise - Placing Mainboard and SME checkboxes side-by-side implied users could apply for both with a single rule. This is technically impossible, as they require completely different execution parameters.


Iteration 2

All-In-One Approach

Iteration 1

✅ Pros (Why we tried it)

Total Freedom - It technically allowed every possible combination. Users could apply as "Retail" for Mainboard and "HNI" for SME in one go.

No Hidden Rules - Every setting was visible, so users knew exactly what they were signing up for.

❌ Cons (Why we failed)

Too Complicated - The screen looked like a tax form. Asking users to make 4–5 complex decisions at once (Lot Size, Segment, Category) was overwhelming.

Unnecessary Effort - It felt like we were forcing them to plan a strategy for both Mainboard and SME created mental fatigue.

Lost Focus - The screen was so cluttered with dropdowns that the most important part Setting the Trigger (>5x) got buried.


Final Solution

FTUX for setting up Super IPO

Iteration 1

Disable/Edit Super IPO

Iteration 1

Design decision

Pro Controls

Iteration 1

For the "Super Trader” we layered three controls beneath the main trigger, each tied to a real exchange-side rule.

On Category (Retail vs HNI) - Indian market rules cap "Retail" applications under ₹2 Lakhs; "HNI" starts above ₹2 Lakhs, with separate quotas and allotment systems. The toggle tells the bot which bucket to file the order in.

On Lot Size - You can't buy single shares in an IPO; you buy pre-packaged "Lots." Retail is capped at 1-12 Lots so users don't accidentally cross the ₹2L ceiling (14 Lots would push them into HNI territory). HNI opens up a Min/Max range for larger bids - a safeguard against exchange-side rejection.

On Tracking Source - Users can switch tracking from "Total" to "Retail," "QIB," "sNII," or "bNII." Traders don't trust the retail crowd; they want to follow the "smart money." If QIBs (mutual funds, big banks) subscribe heavily, the big players have done the research, signaling a safe bet. Total stays as the default for beginners.


One-Tap Triggers

Iteration 1

We introduced a "Chip-based" interaction model.

Users simply tap >1x, >2x, >3x, >5x, or >10x. "1x" means 100% of the available shares have been demanded; "5x" means demand is 5 times the supply.

Why it works - It turns a complex calculation into a simple "confidence choice." >1x means the IPO is safe (it won't fail), >5x means it's highly popular, >10x means it's a certified blockbuster.

Why we stopped at 10x - Beyond 10x, the user's intent doesn't sharpen. An IPO crossing 10x is practically guaranteed to spike on listing day, so the decision ("this is a smash hit, put my money in") is already captured. Adding >20x or >50x would just clutter the screen.

Smart Default - The system automatically selects "Total Subscription," so a beginner can set a SuperIPO in just one tap.

V1 launched with Mainboard Only to prioritize simplicity.


Positive Friction

Iteration 1

Automation is scary. Users worry, "Did I just accidentally spend money?"

We added a mandatory OTP Verification step before the bot activates.

Why it works - It acts as a safety lock. It forces the user to pause and explicitly say, "Yes, I authorize this." This builds trust.


Clear Status

Iteration 1

Once the SuperIPO is set, the user needs to know the system is working.

We placed the "Super IPO is ON" status bar at the very bottom of the screen, below the list.

Why it works - This respects the Visual Hierarchy. The user's primary goal is to browse Open IPOs, not check settings. By pinning the status to the bottom, we keep the main view clean while maintaining "System Visibility" for peace of mind.


Flexible Control

Iteration 1

Market sentiment changes quickly. A user might start aggressive (>2x) but decide later to play it safe (>10x). If they feel "locked in," they won't use the feature.

We enabled Full Editability of the active SuperIPO. The user can tap "Edit," change their trigger or lot size, and hit "Update Super IPO."

Why it works - Users are more likely to set a SuperIPO early in the day if they know they can refine (or disable) it later before the trigger fires.


Edge Cases

How did we handle Edge Cases?

The Manual Override: If an anxious user sets a SuperIPO but later decides to apply manually, the system detects this and auto-disables the bot to prevent duplicate application errors from the exchange.

Payment Limbo: The bot secures the bid, but the user must approve the UPI mandate. If they forget, the system triggers critical alerts before the exchange deadline to prevent order rejection.


Impact

Early Performance Signals

Data observed after Launch -

We observed a 2x spike in feature discovery during the "Day 3" rush hours, validating that users were actively looking for automation tools.

Within the first month, a significant percentage of our "Super Trader" cohort (#Madefortrade - our most active user base) adopted the feature, exceeding our initial beta targets

As this is a brand-new behaviour for Indian investors & traders, we are currently gathering feedback to refine the feature.


Learnings

What I Learned

Designing for Trust - When automating money, clarity trumps simplicity. Adding the "OTP Step" felt like adding friction, but it made users feel safe.

Psychology of "The Herd" - I learned that retail investors don't always want "data"; they want "validation." Designing the "QIB vs. Total" toggle taught me how to serve both emotional investors (Total) and analytical traders (QIB) in one interface.