Entrepreneur, Professor, Author and Innovation Coach
![]() |
![]() |
![]() |
![]() |
Spirelia
Innovate with Confidence
"Innovate with Confidence, Powered by Insight"
Design Thinking
Human Centred Design of products and services
Innovate Like a Boss
Systematic Innovation using methodologies like TRIZ, Brainstorming
Technology Forecasting
Compassion = ❤️ + 🫱
Feel someone's suffering and act to lighten it
Compassionathon = Compassion + Hackathon
Hackathon = Hacking + Marathon
Portmanteau = Porter + Manteau
Compassion-A-Thon → Nirmaan (pre-incubation) → Incubation Cell → a real venture
We didn't begin with funding. We began with one prototype and one user
I'll give you 5 scars
Each one is really a lesson about compassion. Let's earn them one by one
How finished should your idea be before a real user first sees it?
Prototype Early
(The answer was 🅒)
We polished in secret — and built features nobody wanted
A rough prototype this week beats a perfect one next year
Shout it out — and why?
Behaviour-Driven Development
BDD = describe how the thing should behave for a real human — before you build it
Given … When … Then …
Given a waste-picker who can't read English,
When she opens our app,
Then she finds the nearest collection point in under 1 minute, using only icons
The user is in the sentence — so they can't be forgotten later
Feature: Document Upload
As a user
I want to upload documents (PDF, DOCX, ...)
So that the AI can use them as context
Scenario: Reject unsupported file types
When I upload a file named "script.exe"
Then I should see "Unsupported file type"
And the file should not be added to the list
Scenario: Handle a file that is too big
When I upload a file larger than 10MB
Then I should see "File too large"
Plain English — anyone in this room can read it. No code yet
Feature: User-friendly model naming
Scenario: Dropdown shows friendly names
When I open the model dropdown
Then I see "Deep Research", "Fast Pro", "Balanced"
And I do NOT see "Mistral 120B"
Scenario: Tooltip reveals the technical details
When I hover over "Deep Research"
Then I see a tooltip with the model size and provider
Scenario: Same friendly name everywhere
Given I selected "Fast Pro"
When I open the settings page
Then it is still labelled "Fast Pro"
Hiding "Mistral 120B" behind "Fast Pro" is compassion — empathy for the user who doesn't speak engineer
Our app once showed a user a progress percentage that should be physically impossible
What number did they see? 🤔
Test-Driven Development
Decide how you'll know it worked — before you build it
// phaseValidator.test.ts — written BEFORE the fix
describe('Model Phase — 200% Bug Fix', () => {
it('should NEVER return more than 100% completion', () => {
const result = validatePhaseCompletion('model', completeData);
// THE KEY TEST: completion must never exceed 100%
expect(result.completionPercentage).toBeLessThanOrEqual(100);
expect(result.completionPercentage).toBeGreaterThan(0);
});
});
Wire BDD + TDD into the prototype from day 1
Time remaining:
| After Activity A… | 1 → 5 |
|---|---|
| Can I state my Given / When / Then in one breath? | ① ② ③ ④ ⑤ |
| Do I have one measurable test of the user's relief? | ① ② ③ ④ ⑤ |
Running total so far: _ / 10
Time remaining:
| After Activity B… (score the plan, even if you haven't shown anyone yet) | 1 → 5 |
|---|---|
| Is my smallest prototype concrete enough to build today? | ① ② ③ ④ ⑤ |
| Have I named a real person and a time this week? | ① ② ③ ④ ⑤ |
| Do I know the one test I'll watch for? | ① ② ③ ④ ⑤ |
Running total so far: _ / 25
🤔 What's missing from this entire list?
One happy client, referring the next
Strangers who want you to win. Their feedback is the gift
Serve one stranger completely → they bring you the next
Time remaining:
| After Activity C… (score the sharpness, even if you haven't tested yet) | 1 → 5 |
|---|---|
| Have I named a real person I could help this week? | ① ② ③ ④ ⑤ |
| Can I write the referral sentence in their words? | ① ② ③ ④ ⑤ |
| Do I know what must be true for them to say it? | ① ② ③ ④ ⑤ |
Running total so far: _ / 40
What was the secret weapon? 🤔
Claude Code is my friend
AI handled the how — so we could prototype early, for real
AI owns the how
The who and the why stay yours
Use the time it saves to spend more time with real people
| After Scar 5… | 1 → 5 |
|---|---|
| Am I using AI to spend more time with humans, not less? | ① ② ③ ④ ⑤ |
Running total so far: _ / 45
| Scar | KDT phase | The compassion in it |
|---|---|---|
| 1. Prototype early | Test → Empathize | Don't make the suffering wait |
| 2. Behaviour first (BDD) | Empathize + Analyze + Solve | Put the human in the sentence |
| 3. Test first (TDD) | Test | Make relief measurable |
| 4. Referrals > pitches | Test (repeat cycles) | Serve so well they bring the next |
| 5. Claude Code is my friend | Solve / Test booster | Free up time to be more human |
The leaderboard is just a side-effect
You've been scoring all session. Total them
| What you scored | From | 1 → 5 |
|---|---|---|
| Given / When / Then in one breath | Activity A | ___ |
| One measurable test of relief | Activity A | ___ |
| A concrete smallest prototype to build today | Activity B | ___ |
| A named person + time this week | Activity B | ___ |
| The one test I'll watch for | Activity B | ___ |
| A real person I could help this week | Activity C | ___ |
| The referral sentence in their words | Activity C | ___ |
| What must be true for them to say it | Activity C | ___ |
| Using AI to be more human | Scar 5 | ___ |
| TOTAL | ___ / 45 | |
Write down the single lowest-scoring row, and what you'll do about it before our next checkpoint
Time remaining:
Either way, the move is the same: get it in front of a real human
The same door is open to you:
Nirmaan → IITM Incubation Cell → your own venture
Bring your Given / When / Then — fastest way for us to help
Work with Heart ❤️, Play with Joy 🙃!
https://balaramadurai.net/about/
bala@balaramadurai.net
Big thank you to
Kunal and Tulika, the engine under the Compassionathon hood
Created by Dr. Bala Ramadurai