All work

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
ItsOnMe home page

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.

How it works

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.

Next case study
Buy / sell / trade CRM
Read it