HeidaryHa — The Fund, On the Phone
HeidaryHa is a قرضالحسنه fund. A savings balance, a transfer, and a loan used to mean the branch. I built the phone members use instead: a stack of account cards, a transfer that says the amount in words before the money moves, and the loans and the guarantees on two lists. These screens are a specimen member, نگار آزمایشی. The fund serves 14,000+ customers.
01 — Problem
The branch was the product
A balance, a transfer, and a loan were three errands, or one employee reading numbers down a phone line. The member already had a phone. What was missing was a screen that could show the account, say the amount back in words, and light only the rail that the sum is allowed to use.
Android could not be a second product. The installed app and the site had to be the same React app.
02 — The deck
Two cards, one stack
Home is not a table of accounts. It is a deck. The savings card is on top in this recording: 1402-88421, شخصی, 2,000,000,000 rials. The current account is the card underneath, 1398-22017, 42,750,000 rials, and a swipe brings it to the front.
The line at the top of the screen is the fund's own name, صندوق قرضالحسنه حیدریها. The recording is the dark theme, on the phone.
03 — The transfer
Said in words, then the rail
The destination is a SHEBA. Before the next step the field already names the bank: ملت, and the person on the account, سارا کیانی.
25,000,000 rials is read back as دو میلیون و پانصد هزار تومان. At that size, پایا is the rail that stays available. Raise the same transfer to 1,200,000,000 — یکصد و بیست میلیون تومان — and پایا goes quiet. ساتنا is the one that lights. Five digits confirm it. The receipt says انتقال موفق, method ساتنا, payer نگار آزمایشی, from the savings account.
04 — Loans
Yours, and the one you stand behind
وامها and ضمانتها are two doors. This is the loan list. 1403-1184 is فعال: 240,000,000 rials, 150,000,000 still outstanding, paid on 1403/02/15. Under it, 1401-0644 is تسویه شده, remain 0.
The other door is the guarantee list — the same kind of card, for a loan that belongs to someone else. نگار آزمایشی is the name on both of these.

05 — The lock
Turn it on once
Settings has a row for it: ورود با اثر انگشت. فعال asks for the same four-digit master password. When that matches, the phone keeps the password. The row comes back with فعال marked.
06 — The next open
The field never gets the digits
Leave the app and the session locks. The gate is the same four boxes. Focusing them opens the system sheet, احراز هویت با رمز خدمات غیرحضوری, and the sensor answers instead of the keyboard.
A match sends the stored password. The deck is the next screen, and the toast says احراز هویت انجام شد.
07 — Outcome
Fourteen thousand members, one codebase
Members do this on the phone now. Monthly loan applications rose 40%. There is no application wizard in this repository — that number is the outcome, not a screen I can show.
The same React app is the PWA and the Android shell, com.heidaryha.app. Coming back, the finger opens it.
Stack