SaaS · Service Management · 0 → 1

Hoshaksham —
Making admin feel like money

Priya is a yoga teacher. She loves teaching. She hates spreadsheets. She was spending more time chasing payments than leading classes. We built her a way out.

Type 0 → 1 SaaS
Platform Web App
My Role End-to-End Design
Research 1 User, Deep Dive
Approach UCD + Co-design
Live Site hosaksham.in ↗
Ho Saksham dashboard overview — dark mode — ₹73,990 received this month
🌙 Dark Mode The screens shown above are from the dark mode version of the app — currently in design and yet to be launched. The live app currently runs in light mode.
1
user interview that built the whole product
3
core pain points eliminated completely
0
spreadsheets required. Ever again.
yoga classes Priya can now actually focus on

What is Hoshaksham?

Ho Saksham (Hindi for "become capable") is a SaaS tool for independent service providers — yoga teachers, tutors, trainers, coaches — who need to manage subscribers and collect recurring payments without an accounting degree.

The core idea: make it feel like money is being stored in the app, not like filling out a form. Built around trust, simplicity, and the reality that most small providers run their businesses from WhatsApp.

Ho Saksham product overview

Our one user. Our whole north star.

Priya is a Priya runs her own yoga studio — 15–20 regular students, monthly plans, and a deep aversion to anything that smells like admin. We built an empathy map to understand her world before touching any wireframes.

What Priya Says
  • "I want to focus on my yoga classes, not paperwork."
  • "It's exhausting to track payments manually every month."
  • "I can't remember who has paid or who I need to follow up with."
  • "Why can't this process be simpler?"
What Priya Does
  • Uses spreadsheets to track subscriptions but struggles to keep them updated.
  • Manually follows up with students via WhatsApp to ask for payments.
  • Spends hours creating invoices and ensuring they're sent correctly.
  • Occasionally forgets reminders, resulting in late payments.
What Priya Thinks
  • "Am I missing any payments this month?"
  • "I hope I don't offend my students by constantly asking for money."
  • "This admin work is taking time away from what I love — teaching yoga."
  • "If I could automate this, life would be so much easier."
What Priya Feels
  • Frustrated: She dreads repetitive subscription management.
  • Overwhelmed: Disorganised tracking makes her feel out of control.
  • Anxious: Worrying about missing payments creates stress.
  • Hopeful: She believes a solution like Hoshaksham could change everything.

Three things making Priya's life unnecessarily hard

💸
Asking for money — the awkward bit
Tracking who paid and when meant manually checking a spreadsheet, then messaging students one by one. Uncomfortable and error-prone.
📊
Manual tracking in spreadsheets
Spreadsheets worked until they didn’t — usually around the third time someone updated the wrong row.
📄
Invoice generation — manual, monthly, miserable
Manual invoice generation every month. Time-consuming, inconsistent, and beneath someone running an actual business.
Uncertainty about who has actually paid
No single source of truth. Payment status lived across WhatsApp, spreadsheets, and memory.

Money should only ever feel like it's coming in

Before any wireframes, we spent time understanding how Priya thinks about money — not accounting logic, emotional logic. What we found shaped every design decision that followed.

The Central Research Finding
Priya doesn't think of herself as running a business. She thinks of herself as a yoga teacher who occasionally needs to get paid. The moment her tools made her feel like an accountant — she disengaged.
This meant the app couldn't look like a finance tool. It had to feel like a credit-only bank — a place where money flows in, never out. No debit language. No loss framing. No red numbers.
🧠
Mental Model
She thinks in "collected" and "yet to collect"
Unpaid invoices weren’t “debt” to Priya — they were money she hadn't received yet. That reframe changed how we labelled every payment state.
💬
User Interview
"I just want to know if money came in today"
Her most frequent check-in: "did anyone pay today?" Not a balance check. The dashboard was built around this single question.
🏦
Design Direction
A credit-only bank, not an expense manager
Most fintech tools show money in and out. Ho Saksham shows only inflows. Outflows live elsewhere. The dashboard is permanently green.
🎨
Visual Language
No red. No minus signs. No debt framing.
Unpaid = "pending", not "overdue". Late = "still expected", not "missed". Every label keeps Priya in a mindset of earning, not chasing.
The Design Metaphor
A piggy bank that only has a slot for deposits
We What if this app had no concept of money going out? No expenses, no deductions, no cost tracking. Just: money came in, money is coming in, money will come in. That constraint became the product’s personality.
Collected
Pending
Upcoming
Expenses? Not here.
❌ What we avoided
✅ What we used instead
Overdue payment
Payment expected
Invoice outstanding
Awaiting collection
Unpaid
Pending
Follow up
Send reminder
Amount due
Coming your way
Inspiration & Competitive Research

We didn't copy. We borrowed the best bits — and left the complexity behind.

We studied how the best products handle money, onboarding, and payments — then took only what Priya needed.

Monzo
Dashboard & Money Flow
What we studied
Monzo’s dashboard gives an instant read on your money — inflows prominent, balance front and centre. A pulse check, not a ledger.
What we took
  • Top-of-screen money summary — total collected, pending, upcoming
  • Colour-coded flow: green always means money arriving
  • Transaction list as a timeline, not a table
What we left behind
  • Spending categories — Priya doesn't track outflows
  • Card UI — irrelevant for a service provider
Groww
Onboarding Experience
What we studied
Groww makes investing feel approachable — warm copy, one step at a time, progress always visible. It removes fear from a category that used to feel intimidating.
What we took
  • Single-focus screens — one action per step, no overwhelm
  • Encouraging microcopy that celebrates progress ("You're almost set!")
  • Visual progress indicator so Priya always knows where she is
What we left behind
  • Investment jargon and risk disclosures
  • Heavy KYC flows — kept ours to the minimum
Google Pay
OTP Login & Bank Linking
What we studied
Google Pay nailed OTP-first login and bank account linking in under a minute — every barrier removed between the user and their money.
What we took
  • OTP-first login — no passwords, no friction, instant access
  • Bank account linking via IFSC + account number in one screen
  • Direct transfer confirmation — money lands in Priya's account, not a wallet
What we left behind
  • P2P payment flow — not relevant here
  • Split bill & request money from individuals
🏦
From Monzo
Dashboard that shows money arriving
🌱
From Groww
Onboarding that doesn't intimidate
💸
From Google Pay
OTP login + direct bank transfers

The principles that shaped the decisions

UX laws as lenses, not rules. Context-specific insight always won.

Hick's Law
Reduce cognitive load
Fewer choices = faster decisions. The dashboard shows only what’s actionable — the interface guides Priya, she doesn’t have to figure it out.
Zeigarnik Effect
Make incomplete tasks visible
Unpaid invoices surface prominently. Seeing an unfinished task motivates action — a gentle, guilt-free nudge to follow up.
Existing Habit
Make it feel like money
Money stored in the app — not forms, not admin. A familiar mental model that made the whole product feel intuitive from the start.

What we actually built

💳
Payment link via WhatsApp
Send a payment link directly to students through WhatsApp. Payment lands in Priya's bank account. No awkward "did you pay?" messages required.
🧾
Automated monthly invoices
Generate and send invoices automatically. Priya sets it up once. The system handles the rest every month. Hours of admin: gone.
👥
Subscriber & plan management
Create plans, add subscribers, track who's active and who's lapsed — all in one clean dashboard. No spreadsheet expertise required.
📊
Payment overview dashboard
At a glance: total received, pending, upcoming. Priya knows her money status in three seconds without opening a spreadsheet.
🔔
Smart notifications
Reminders for unpaid invoices surface on the dashboard (Zeigarnik Effect in action). Never forget a follow-up again — the app does it for you.
🏦
Direct bank account connection
Link a bank account once. All payments route directly. No middleman apps, no manual transfers. The money just… arrives.

The sign-up flow — no passwords, no friction

Inspired by Google Pay's OTP-first approach and Groww's calm, step-by-step onboarding — we designed a sign-up flow that gets Priya from splash screen to verified in under 60 seconds. No password to forget. No form to fill. Just a phone number and a 6-digit code.

Ho Saksham sign-up screens — splash, onboarding, phone entry, OTP verification
01
Splash screen
Logo, tagline, one CTA. No login/signup split — just one door in. A bottom sheet explains the app without overwhelming.
02
Feature highlights
Value before ask. The app shows Priya what she’s getting — invoices, WhatsApp payment links, collections — before requesting anything.
03
Phone number entry
One field. +91 pre-filled. Subhead: "No stress on password" — a direct nod to the pain point. Inspired by Google Pay's frictionless entry.
04
OTP verification
6-digit code, auto-focused. "Change number" escape hatch. One tap to verify — and Priya is in.
💡
Why OTP-only?
Priya's target users are small service providers — often not tech-savvy, often switching phones, often forgetting passwords. OTP removes all of that. If you have your phone, you're in. Every time. This was a direct research finding from studying Google Pay's adoption among non-tech users in India.

Setting up the business profile

Right after verification, Priya sets up her business identity — the name, logo, and category that represent her yoga studio. We kept it minimal: only what's needed to start receiving payments. Logo upload uses the native photo picker, kept privacy-safe with a "this app only accesses selected photos" permission pattern.

Ho Saksham business profile setup — form, logo upload, photo permission
01
Profile form
Name, business name, category, optional email. A demo subscription toggle lets Priya preview what subscribers will see before going live.
02
Logo upload — Choose Source
Tapping the logo area: Gallery or Camera. Native, no friction — familiar to anyone who’s shared a WhatsApp photo.
03
Photo permission
"This app only accesses the photos you selected." Specific photo access, not the whole camera roll — trust built from the first interaction.
04
Create Profile CTA
Phone number pre-filled from login. No re-entry. The form remembers who she is.

The dashboard — money arriving, always

This is the heart of the Monzo inspiration. The moment Priya opens the app, she sees one number: how much she received this month. Not expenses. Not balance. Not net. Just: money that came in. Everything else — adding bank account, plans, subscribers — sits below that number.

Ho Saksham dashboard and notification permission screens
01
Dashboard — ₹0, Received this month
The hero number is always income — never a balance. Gradient header signals "earning space." Search bar below for quick lookup. Inspired by Monzo.
02
Add bank account CTA
First action on an empty dashboard: link a bank account — dashed border, prominent but not alarming. Direct-to-bank, like Google Pay. No wallet to manually empty.
03
Demo subscription card
A skeleton plan shows exactly what subscribers will see. Add location, set subscriber count, edit inline. Dashed border = "make it yours."
04
Notification permission
Asked after profile creation, before the dashboard loads. Priya understands why — she needs to know when money arrives. Contextual = higher allow rate.
🏦
Why "Received this month" — not "Balance"?
Balance implies money can go down. "Received" only ever goes up. This single word choice keeps Priya in an earning mindset — the core research insight that everything was built around. The dashboard is permanently optimistic.

Linking a bank account — money goes straight to Priya

No wallet. No middleman. Inspired by Google Pay's direct bank transfer model, we built a flow where Priya's payments land straight into her savings account. She can search from popular banks or add details manually — giving her full control over where her money goes.

Ho Saksham add bank screens — search bank, select, manual entry
01
Search & popular banks
Popular banks upfront — most users tap once and done. Search bar + "Add manually" for edge cases. Linked to the verified phone number.
02
Select account
Auto-fetched accounts with last 4 digits. Priya sees her own name confirmed — immediate trust. One tap to add. Multiple accounts supported.
03
Manual entry fallback
Name, account number, IFSC. IFSC auto-resolves the bank name — Priya doesn’t need to know what it means, just paste it from her passbook.
04
Zero wallet logic
No intermediate wallet. Payments hit the bank account directly — Priya never needs to “withdraw” her own money. Credit-only, end to end.

Create a plan, add subscribers, set the charge date

The subscription plan is Priya's product — her yoga class, her price, her terms. We gave her full control: category tags, billing cycle, location, and discount options. Adding a subscriber then takes 30 seconds — name, mobile, charge date, done.

Ho Saksham — create plan and add subscriber screens
01
Create subscription plan
Category chips for one-tap tagging. Plan name, price, billing cycle, location. Logo uploadable — makes her business feel real and branded.
02
Add new subscriber — base form
Plan shown at top. "Charge from today" defaults to current date. Name, pre-existing toggle, mobile for WhatsApp billing. Advanced options collapsed — progressive disclosure.
03
Date picker — charge start date
Native calendar picker — Priya can back-date for existing students or forward-date for new joiners. No manual typing.
04
Apply discount — 10% added
Discount applied inline: ₹100 crossed out, ₹90 with a green chip. Personalised rates without creating a separate plan. Instant and visible.
💡
Why "Pre existing" toggle?
Many of Priya's students were already paying her — just informally, via WhatsApp transfers. The "Pre existing" flag lets her migrate them into the system without generating a backdated invoice. Clean onboarding for messy real-world situations.

Generate invoice — sent via WhatsApp in one tap

This is the moment everything comes together. Priya selects a month, picks a plan, sees every subscriber's status at a glance — Active, Inactive, Paid — and sends bills to whoever hasn't paid yet. The whole thing takes under a minute. Then a confirmation screen tells her it's done.

Ho Saksham generate invoice screens — subscriber list and confirmation
01
Select month
Recent 3 months as radio options — no calendar needed. "For this month" label removes any ambiguity.
02
Subscriber payment status
Every subscriber with status at a glance: Active + Send bill, Active + Paid, Inactive. Who to follow up, who’s done, who’s lapsed — no spreadsheet needed.
03
Send bill via WhatsApp
"Send bill" fires a WhatsApp message with the invoice link directly. No copy-paste. Meeting Priya where she already is.
04
Invoice sent — confirmation
Big checkmark. No ambiguity. "Home" brings Priya back to watch the ₹0 start moving up. The loop closes.
✉️
WhatsApp as the delivery channel — not email
Priya's students don't check email for payment reminders. They check WhatsApp. Sending invoices through the channel they're already in means a dramatically higher open rate — and a much lower chance of Priya having to follow up manually. The invoice arrives where the conversation already lives.

Before and after the solution

Before Hoshaksham
😰 Stressed Priya
  • Opens spreadsheet every week to check who's paid
  • Messages students individually asking for payment
  • Manually creates invoices — one by one
  • Forgets to follow up; loses money
  • Spends 3–4 hours/month on admin alone
  • Constantly anxious about missing a payment
After Hoshaksham
🧘 Calm Priya
  • Opens dashboard — sees everything at a glance
  • Sends payment link via WhatsApp in two taps
  • Invoices generate and send automatically
  • Notifications remind her of anything pending
  • Admin time reduced to minutes per month
  • Focuses on what she actually loves: teaching yoga
Priya's journey — told in 4 frames
01
Storyboard 1 — Priya overwhelmed with WhatsApp groups and payment chaos
The chaos before
Priya manages multiple WhatsApp groups, scrolls through endless lists, and still can't answer one simple question: who has actually paid me?
02
Storyboard 2 — Priya teaching her yoga groups
What she's really here for
Priya runs 3 separate group sessions. Teaching is what she loves — but the payment admin after each session was eating into that joy.
03
Storyboard 3 — Priya downloads Ho Saksham
Enter Ho Saksham
She downloads the app and scans in her first student via QR code. Instant payment link. Easy tracking. And the promise of loan approval using her transaction history.
04
Storyboard 4 — Priya with star eyes, everything sorted
Priya, sorted ✦
All payments done. Loan approved. Business discoverable. Easy tracking. Priya has star eyes — not because she's rich, but because she's finally free from the spreadsheet.

When there are no direct competitors

No product solved Priya’s exact problem. The closest — Zoho Billing — is built for businesses 10x her scale and complexity.

This was both a validation that the problem was real and underserved, and a reminder that we had to design from first principles rather than benchmarking existing solutions. When the competition is a sledgehammer, build a scalpel.

What changed for Priya

📉
Fewer errors
Automated tracking eliminated the manual entry errors that plagued the spreadsheet approach. Priya's payment data is now accurate without any extra effort.
⏱️
Time savings
Automated invoices and payment links removed hours of monthly admin. Time Priya can now spend teaching, not typing.
😌
Reduced stress
Knowing exactly who has paid and when — without needing to check — fundamentally changed Priya's relationship with the admin side of her business.
🔔
Zero missed reminders
The notification system means Priya never forgets to send a reminder or invoice. The Zeigarnik Effect at work: incomplete tasks don't disappear, they surface.
"Sure, the case study structure might not be perfect. But just like Ho Saksham, we made it work with what we had — and here we are, ready to share the story of how thoughtful design can make life easier, one yoga teacher at a time."
— Shyani, wrapping up the case study with characteristic self-awareness

How design became code — together

Not a handoff — a conversation. We stayed in sync from early wireframes to the final Flutter build, keeping a shared design language so nothing got lost.

🧩
Weekly design syncs
We held regular check-ins where I walked the developer through new screens in Figma — explaining not just what things looked like, but why they were designed that way. This meant fewer back-and-forths and fewer surprises in code.
📐
Annotated component specs
Every component was documented with spacing, states, interaction notes, and edge cases. Rather than leaving the developer to guess, I provided enough context so they could make decisions independently when I wasn't available.
🎨
Figma design system
I built a full design system in Figma with colour, typography, spacing, and component tokens — structured so the developer could inspect any element and find the exact value they needed without digging.
🔁
Feedback loops on implementation
I reviewed Flutter builds as they came in, flagging visual drift early. Small inconsistencies in spacing or colour were caught and corrected before they compounded — keeping the shipped product close to the designed one.
Design-to-Flutter token pipeline
🎨
Figma
Colour, type & spacing defined as styles
🏷️
Design Tokens
Named variables exported via Tokens Studio
📄
JSON / Dart
Token values translated into Flutter theme constants
📱
Flutter Build
ThemeData populated — one source of truth
"Using design tokens meant the developer never had to guess a hex code or spacing value. Everything was named, documented, and traceable back to a decision."
— Shyani, on why tokens changed the handoff entirely

What this built from scratch actually taught me

01
One deep interview beats a hundred shallow surveys
One user, fully understood. Every decision traced back to something Priya actually said or did. Qualitative depth beats breadth at zero stage.
02
Start small, iterate fast
Designing for a specific person with a specific frustration creates clarity that designing for an abstract “user type” never does.
03
Apply psychology thoughtfully, not literally
Hick’s Law initially pointed toward maximum simplification. But Priya needed organisation, not just reduction. Knowing when to deviate from the rule is the real skill.
04
Constraints breed creativity
Figma’s free tier and no design system shortcuts forced manual consistency and reusable components. A constraint that turned out to be great discipline.
Previous Case Study
Fyle — Bulk Mileage Expense Report