← All Open Collective pages

This is the shaping document, and it leads. Everything else in this folder — the design system, the pages, the module picker — is downstream of the decisions here. Generated from SHAPE.md; the source is on the machine running the fork.

What this is, who it is for, and what to build first

A shaping document. First written 9 August 2026. This is the third version. For Shemeer.

Read the correction below before anything else. Two earlier versions of this page have been read by people, and both of them argued for a product that is no longer being built.


⚠️ Correction, and it is most of the document

Version 1 said drop Open Collective, because a donor on a private collective would see nothing. That was read out of the code and was wrong.

Version 2 corrected it by running the fork: a donor keeps her own history even when the recipient is private. It then recommended private collectives, and — because a private collective serves an anonymous visitor nothing at all — it put the entire donor experience into a separate helper app of ours: sixteen items, a giving page, sign-in, her account, her history, her receipts, updates, the 80G certificate, the tax file.

Version 3, this one. That was priced, and private collectives turned out to cost roughly eleven extra things to build. The Builder chose public collectives instead, and the helper app collapsed with the premise that required it.

Version 2 said Now
Collective visibility Private, permanently. Donors only Public
Everything a donor meets A separate app we build Open Collective's own pages
Payment Our own checkout, our own Razorpay Razorpay inside Open Collective's own contribution flow. She never leaves it
Currency Not settled INR only. Every exchange rate is exactly 1
Her PAN Asked on her own page, in our app On her own Open Collective profile, in the structured part of her address
The 80G number Ours to generate Configured on the fiscal host
Form 10BD A file our app writes An export. Every field the CA needs already exists
Sample data — One demo fiscal host. Everything under it is sample data; nothing else is
Address raseed.in (a placeholder) doable.aikyam.fund

What is left to build is configuration, a few lines in one receipt template, and an export preset. That is the whole thing.

What this correction cost, and what it bought

Cost: four design pages built around the helper app, and one shaping round. They are not deleted — each one is re-marked and most of the thinking in them survives as a specification for configuring Open Collective rather than as a thing to build. See design-system/index.html.

Bought: the largest limitation in version 2 is gone. That document said, in bold, "She cannot show anyone what her money bought." On a public collective she can. The sharing loop is back, and it is the single most valuable thing this reversal returned.

The lesson worth keeping, because it has now happened twice in different directions: version 1 was wrong because it read code instead of running it; version 2 was wrong because it designed around a constraint before anyone had priced removing the constraint. Price the premise before you build on it.


1. What this is, in one sentence

Give to one of these Indian organisations, and you are shown the shop's bill for what your money actually bought.

Who it is not for. Individuals who want to be paid. Donors outside India. Anyone who wants a payment gateway. Anyone who wants their organisation's numbers kept private — that is now the loudest thing this product cannot offer, and section 6 is about it.


2. What is true, and how each thing came to be believed

Nothing in this section is an argument. It is the factual floor, and the third column matters.

How
A public collective is readable by a stranger — story, balance, money in, money out Yes Run, on the fork
A donor gets an account of her own Yes Run
She signs in by emailed link, no password Yes Run
She sees her giving across several organisations in one place Yes Run
She can pull her own contribution receipt Yes Run
Updates can be limited to the people who contributed Yes Run
Her PAN sits privately on her profile, in the structured part of her address — invisible to the public, visible to her and to the organisation that must file for her Yes Run
The receipt template already prints a tax registration number, for European VAT Yes Read. A few lines make it print an Indian one
She pays by UPI without leaving Open Collective Being merged Builder's decision. The one sanctioned exception to the no-code rule
Every amount is in rupees and every exchange rate is exactly 1 Decided Builder's decision
Form 10BD is an export, not a build Decided Every field the CA needs already exists

Three things nobody has established, and each one changes the product

⛔ Do not build past these. They are not technical details; each is a different product.

1. Whose Razorpay account receives the rupees. If the money lands in Aikyam's own Razorpay and Aikyam's own bank, then every sentence written for this product so far is still true. If it lands in a platform account and is passed on, then we hold other people's money, the copy is false, and the legal shape of the whole thing changed without anyone saying so out loud.

2. Whether one fiscal host holds many organisations, or each organisation is its own host. Version 2 rejected fiscal hosting outright — one body holding and disbursing money for many. The 80G number is now "configured on the fiscal host", which reads as though each organisation is its own. If it is not, fiscal hosting came back in through a settings screen, and that is the biggest decision in this document being taken by accident.

3. Whether a donor's name appears in public next to her amount. A public collective lists who contributed. Priya gave ₹500 from a bus and was never asked whether she wanted her name on a public web page. Recommendation: her name is not shown unless she chooses it. She is asked once, plainly, at the moment she gives — not buried in a profile setting she will never open.


3. What a donor now meets, and it is all theirs

The whole of version 2's helper app is replaced by pages that already exist.

What she does Where it happens now
Reads the story and the ask The collective's public page
Gives ₹500 by UPI Open Collective's contribution flow, with Razorpay in it
Gets a receipt Open Collective's receipt, with an Indian tax number added
Comes back without a password Open Collective's emailed sign-in
Sees everything she has given, everywhere Open Collective's own contributions page
Finds out what it bought An update, posted by a human, with the expense and its bill beside it
Gets her 80G certificate The receipt, once the host's Indian tax number prints on it
Adds her PAN Her own profile

The only thing left in that column that is not free is the update — because an update is written, not generated. That is section 5.


4. Three storyboards

Everyone here is invented. Priya, Devi, Nusrat, Rahitha, Aikyam, Chalanam Foundation, Puzha Reading Room and Peruvanam Music House are illustrative characters written to test the product. They are not real people or real organisations, and nothing said about them — including any registration or tax status — describes anybody actual.

The low scores are the point. Where the feeling drops is where the product fails.

A — Priya, and the year after her ₹500

Stage What happens How it feels
She has never heard of us Friend sends a WhatsApp link ●●●○○ 3
Reads a story about a chenda class on the bus ●●●●● 5
Reaches the end and there is finally something to do ●●●●○ 4
She gives Three amounts on one screen, she picks ₹500 ●●●●○ 4
Ticks a box saying she is an Indian citizen ●●●○○ 3
UPI, thumbprint, nine seconds, never left the page ●●●●● 5
Is asked once whether her name may be shown ●●●○○ 3
She gets an account she never asked for Email arrives before her bus stop ●●●●● 5
Thank you, a receipt, one link ●●●●○ 4
Taps it, no password, she is in ●●●●● 5
Weeks later — the reason this exists Email says the drums arrived on Tuesday ●●●●● 5
Page opens on the thing she paid part of ●●●●● 5
The shop's bill is there, attached to the expense ●●●●○ 4
Nothing on it says her ₹500 was part of it ●●○○○ 2
She forwards it and her friend sees the whole thing ●●●●● 5
She comes back on her own Adds her PAN — inside an address form ●●○○○ 2
Downloads a year of receipts ●●●●○ 4
Sees all three organisations on one page ●●●●● 5

Two frames dropped and one was raised.

The forwarding frame went from 3 to 5, and it is the whole of what the reversal bought. Her friend now lands on the actual thing — the bill, the ledger, the story — not on a locked door.

The frame that fell is the arithmetic sentence. Version 2 had a page that said "Your ₹500 was part of the ₹23,900 that bought six chenda on 4 September." An update is the same text for everybody, so the word "your" is gone. That is the real cost of deleting the helper app and it should be paid knowingly. It is section 7's only open decision.

The PAN frame fell too, and that one is cheap to fix: a tax identifier typed into a structured address form will be labelled as an address line, and a field labelled wrongly collects wrong data — lower case, spaces, the wrong line. It needs its own label, its own one-line explanation of why it is being asked, and a check of the format (five letters, four digits, one letter).

B — Devi at Aikyam, and this is the frame the reversal fixed

Stage What happens How it feels
Money comes in without her Contributions record themselves the moment they arrive ●●●●● 5
She does nothing and nothing is wrong ●●●●● 5
Money goes out with her Rahitha sends the shop's quotation on WhatsApp ●●●●○ 4
Two people approve it on their phones ●●●●○ 4
Devi pays the shop from Aikyam's own bank by UPI ●●●●○ 4
Rahitha never spends her own money and waits ●●●●● 5
The part that still fails Devi must type what was bought and attach the bill ●●○○○ 2
One login now, not two ●●●●○ 4
She must also write the update, and nothing forces her to ●●○○○ 2
A busy fortnight comes and she does neither ●○○○○ 1
No donor hears anything, because nobody wrote anything ●○○○○ 1
Somebody outside can notice, because the page is public ●●●○○ 3
What keeps it honest One named person owns this record, not a rota ●●●●○ 4
A monthly check that the record matches the bank ●●●●○ 4

Two frames improved. Version 2 gave Devi a second login on a system built for somebody else, on the person the product can least afford to lose. That is gone — one login, and it is the one she was always going to have. And a stale ledger is now visible to anyone, so silence has a witness again.

One frame got worse, and it is now the biggest single risk in the build. Under version 2 the donor email fired because Devi recorded a purchase — a system watching a record. Now the update is a piece of writing a busy person has to sit down and produce. The trigger stopped being a mechanism and became a habit. Nothing in this product tells Priya anything unless Devi writes. Section 5.

C — Nusrat, deciding whether to bring the second organisation

Stage What happens How it feels
The objection Sees Aikyam's page over someone's shoulder ●●●○○ 3
First thought is how much work is that ●●○○○ 2
Second thought is who gets to see my numbers ●○○○○ 1
The answer, and it is harder than it was Everyone. The page is public ●○○○○ 1
Money stays in Chalanam's own bank and its own Razorpay ●●●●● 5
She can keep a donor's name off the page ●●●○○ 3
She cannot keep the balance or the spending off it ●●○○○ 2
Getting live Opens Chalanam's own Razorpay account, KYC takes eleven days ●●○○○ 2
Aikyam fills in her 80G number, bank and keys in half an hour ●●●●○ 4
Her first ₹1,000 lands in Chalanam's own bank ●●●●● 5
Foreign money, said plainly She has always taken some money from abroad ●●●○○ 3
She is told no, not through this, not ever ●●○○○ 2
She keeps taking it the way she always has, outside this ●●●○○ 3
31 May, with her CA He asks for every donor's name and PAN ●●●○○ 3
She runs one export ●●●●● 5
Donors who never came back to add a PAN are missing ●●○○○ 2
Their 80G certificates cannot be issued at all ●○○○○ 1

⚠️ Read the first four rows twice. This is what the reversal cost and nobody has priced it.

Version 2's single best sentence to a cautious organisation was "nothing is public — only the people who gave can look." That sentence is now false and there is no replacement for it. Nusrat's sharpest objection is the one thing the new model answers worst.

It is not fatal, and here is the honest version to say to her instead: what is public is the money — the balance, what came in, what went out, and the bill for it. What is not public is who gave, if they would rather not be named. If an organisation cannot live with its spending being readable, this product is not for it, and that is better said in the first conversation than the fourth.

But it should be said out loud that this narrows who will join. Two organisations before anything is announced is still the constraint, and the second one is now harder to win, not easier.

Where the money and the information go

From What moves To
Priya, on her phone ₹500 by UPI, inside Open Collective Razorpay — whose account is question 1 of section 2
Razorpay settles overnight The organisation's own bank account
Open Collective records the contribution, issues the receipt Priya
The organisation's bank account pays the shop, by a human The shop
The shop gives a bill Devi records the expense and attaches it
Devi writes an update Open Collective emails everyone who contributed
The public page is readable by anyone, forever Priya's friend, a funder, a stranger

There is no helper app on this picture. That is the point of the whole document.


5. What is actually left to do

Small. Say so plainly rather than dressing it up.

# What Kind Waits on
0 Replace the five secrets published in Open Collective's public repository Configuration nothing. Nothing may face the internet before this
1 Production-build the frontend once — nobody ever has Build nothing. Do it early; an unbuilt frontend is an unknown, not a formality
2 The Razorpay payment provider, merged Platform code — the one sanctioned exception —
3 Every amount INR, every rate exactly 1, and any "converted at" line hidden rather than left showing ₹500 = ₹500 Configuration 2
4 The host record per organisation — 80G number and validity, its own Razorpay keys, its own bank Configuration 2
5 The Indian tax number on the receipt — a few lines beside the European VAT number already there Platform code, small 4
6 Tier copy: the amounts, what each buys, the words Content — design owns this 4
7 The citizenship tick at checkout, and international payments left off on every Razorpay account Setting + Configuration 2, 4
8 PAN on her profile — its own label, its own sentence, a format check Configuration + content 2
9 The update template — what an update must contain, and who is allowed to see it Content — design owns this 6
10 The Form 10BD export preset Configuration 8
11 The written checklist that puts a second organisation live in half an hour Configuration 3–10
12 The demo fiscal host, and a line on every page under it saying so Configuration + content 4

——— THE RELEASE LINE ———

# What Why it waits
13 Monthly recurring giving by UPI Autopay Needs a separate approval per organisation, measured in weeks. Apply now, build after
14 Photographs and video on updates before they are anywhere else Needs somebody whose job it is to shoot them
15 A nudge to Devi when nothing has been recorded for 60 days Nothing can go stale until something exists
16 Anything else Waits for someone to ask twice

Items 0 and 1 are first and they are not negotiable. Five published secrets and a frontend that has never been production-built are the only two things on this list that can stop a launch dead.

Item 9 is the one to defend. Everything else on the list is a setting. Item 9 is the product.


6. The eleven-star ladder, re-checked

The moment: Priya finding out what her ₹500 did.

Stars What happens Who delivers it now
3 She can sign in and see what she gave, to whom, with receipts Open Collective, free
4 Her giving across three organisations on one page Open Collective, free
5 Three weeks later, an email: a photo of six drums, "they arrived Tuesday" Devi writes it. The platform sends it
6 The email opens onto the public page where the ₹38,200 bill sits with the money that paid it, and anyone she forwards it to sees the same thing Open Collective + Devi, near-free
7 The arithmetic is done for her: "your ₹500 was part of the ₹23,900" Nobody. This is the gap
8 The email arrives because something happened, not because someone remembered Nobody. This is the other gap
9 Twenty seconds of phone video from the first class, for contributors first Devi, with a camera
10 A year on, one page, one 80G summary an employer would accept Mostly there
11 The girls record a voice note using her name A person, not software

The floor rose and the ceiling fell. Three, four and six are now free or nearly free — that is much better than version 2, where every rung above five was a page we had to write. But seven and eight both went from "we build it" to "nobody does it", because the app that would have done them is gone.


7. The decisions that are yours

Most of version 2's eight are now settled by the reversal. Four are left, and the first two are real.

1. Updates that carry a bill: public, or contributors only? Recommend: public. The collective's page, its balance, its expenses and the bill are already public, so a contributors-only update gates nothing that is not visible one click away — while costing the forward, which is the only growth this product has. Keep contributors-only for the intimate material: photographs of children, video, names, the voice note. That split is the recommendation: the money is public, the people are not. Cost of being wrong: "you can see this because you gave" is a genuine reason to give, and making the bill public spends it. Reversible per update, at any time.

2. Do we accept that seven and eight are not built? Recommend: yes, for launch. Say it out loud now rather than discovering in month three that the product is a well-kept ledger with a newsletter. Cost of being wrong: this is the difference between a product and a page. If nobody clicks, the diagnosis will be ambiguous — was it the missing "your", or was it the whole idea? Section 8 is written to tell those two apart.

3. Is her name shown in public next to her amount? Recommend: no, unless she chooses it, asked once at the moment she gives. A default that publishes a stranger's name because she gave ₹500 from a bus is a privacy event she did not agree to. Cost of being wrong: almost none. Named giving can be offered later; a name published once cannot be taken back.

4. PAN from her profile rather than at checkout, accepting that some donors are never filed. Recommend: yes, unchanged from version 2, with the certificate as the forcing line and a plain sentence telling her what she loses by not adding it. Cost of being wrong: every donor who never returns before 31 May loses her deduction. Visible in the first year; if the hole is large, ask at checkout after all.

Settled, and not up for discussion

Public collectives. No helper app. INR only. Foreign money refused by every organisation, permanently. No individual ever receives money. Two organisations live before anything is announced. A monthly check of each organisation's book against its bank statement. No feature is added to Open Collective's code, with exactly one exception — the Razorpay provider — and a second exception needs the Builder's explicit yes.


8. How this fails, and the kill test

One: nobody writes the update. Money never fails to record itself; writing does. There is no mechanism behind it any more — only Devi's Tuesday. The mitigation is not clever: one named person owns it, and a monthly check. Write the name down before launch.

Two: it turns out nobody wanted to know. The public page proved the door is open. It proves nothing about whether anyone walks through it.

By 90 days after the first "what your money bought" update goes out:

  1. At least half the contributors who received one opened it and clicked through.
  2. At least one donor came back a second time without being emailed first.
  3. Every month in that period had at least one expense recorded with its bill attached, and one update written about it.
  4. At least one forwarded link produced a contribution from somebody who had never given before.

Test 4 is new, and it is the one the reversal bought. If it passes, public collectives paid for themselves. If tests 1 and 2 fail while 3 passes, the missing piece is the word "your" — that is when to reconsider building one page. If test 3 fails, the problem is Devi's Tuesday, and no donor-facing work will fix it.


9. Two things that are outstanding no matter what is decided

  1. Five secrets are published in Open Collective's public repository. They must be replaced before anything faces the internet. This is not a launch task; it is a gate.
  2. Nobody has ever production-built the frontend. Everything above assumes it builds. Until somebody has done it once, that is an assumption, not a fact.

10. The sentence to keep testing

Give to one of these Indian organisations, and you are shown the shop's bill for what your money actually bought.

It survives receipts, updates, a second organisation, monthly giving and a public page. It does not survive a directory, a marketplace, holding anybody else's money, or an organisation that will not let its spending be read.

And when the sentence stops being true, it is not the sentence that is wrong.