Webapp to donate to people by phone number
New here? Learn about Bountify and follow @bountify to get notified of new bounties! x

Write a web app (deployed to Heroku) that allows anyone to donate money to a random person with a phone number. The idea here is that I want to donate to someone in my city/country or in another country that is particularly hard hit by e.g. the current pandemic.

And so the end user will write a regex as follows:

1415\d{7}

This will match all US numbers starting with "415" (the San Francisco area code).

If they want to donate to anyone in South Africa, they could do:

27\d{9}+

You should warn the use if they type something silly that won't match any phone numbers.

Implement as follows

  1. Log in with phone number using Firebase Auth
  2. Add their number to the Heroku database associated with the app
  3. Ask the user to enter a regex matching the phone numbers they want to donate to and a short text message (100 chars or fewer)
  4. Accept credit card payment with Stripe for donation amount
  5. Select using the regex all the numbers that match the regex (excluding the current users number)
  6. IF few than 1/10 of the total numbers are selected, then return an error and ask them to enter another regex
  7. Otherwise, pay the money to one of the phone numbers selected (randomly) and text them the message that was sent

The app must be deployed on Heroku. If you don't have an account you can sign up its free. If you want I will add you to my account just ask.

Payments processing

If you cannot do the payment processing yourself, just add the Stripe code in test mode.

SMS

If you cannot send SMS, just integrate with something like Twilio with a test account

NB

All actions performed should be logged in the Heroku postgres database for auditability.

I will award the bounty to the person who gets furthest on this task. I know it's pretty big. Please make sure whatever you write deploys to Heroku. I am not going to test this locally (my laptop is already bloated, I don't want to install any new dev tools) it MUST deploy to Heroku.

Hi @ramonza. I don't think that this is possible to create. The first problem is that phone numbers are not publicly available, there is no way I can get all numbers from let's say Australia. The second issue is that Twilio can't accept SMS payments. (nor send them)
VladimirMikulic 28 days ago
Don't worry about paying the actual donations or any SMS integration. I was going to use Stripe Connect for that. I just wanted the UI to be built. I would award the bounty for anything that runs on Heroku even if its just the UI and doesn't actually work.
ramonza 28 days ago
Alright, I've posted the solution :)
VladimirMikulic 26 days ago
Tags
Heroku
webapp

Crowdsource coding tasks.

1 Solution

Winning solution

Solution

Hi @ramon. As you've requested here is the UI for the app and authentication powered by Firebase mobile login. You can enter your phone number and get a verification code.

I've not hosted the web app on Heroku because Firebase requires text DNS domain ownership verification.
I am not the owner of herokuapp.com (as you can guess :) so I can't verify it, but you can buy your own domain and deploy to Heroku without any problems.

The web app is deployed on Firebase Web hosting.

URL: https://sms-donate.web.app/

Source Code: https://github.com/VladimirMikulic/sms-donate

Thank you, Vladimir