itisonme.org
Giving directly to a stranger asks the donor to trust that the money does what it was asked for. This removes that question entirely: donations are paid to the landlord, the clinic or the utility, and never pass through the person who asked.
- Role
- Sole developer
- Surface
- iOS & Android
- Stack
- Expo · Clerk · Supabase · Square
- Status
- Built, in review

The money never touches the person asking.
A recipient posts a need in four steps and picks a category — utilities, rent, medical, education, food, debt relief or other. Needs are verified before they're visible, and donors fund a single specific need rather than a general pot.
Payment goes to the vendor. That one decision is what makes the platform trustworthy to a donor who has never met the recipient, and it shapes everything else: the categories exist because each maps to a kind of vendor that can be paid directly.

The parts that were hard.
Two identity systems that have to agree
Clerk owns authentication, including Apple sign-in, but the data lives in Supabase with row-level security. A Clerk-issued JWT is exchanged for an authenticated Supabase client on every request, and profiles sync across so the two never disagree about who someone is.
Payments on a platform with no card fields
Card entry runs through a Square-hosted form in a web view rather than native inputs, so raw card details never enter the app. An edge function creates the payment server-side and a second one sends the funding confirmation.
Verification is the product
Anything that lowers the bar for posting a need also lowers the bar for abusing it. Verification, per-recipient limits and staff review aren't friction to be designed away here — they're the reason a donor believes the need is real.