Goal: Add a simple new feature to Vote Local that helps encourage people to vote in November by asking them to pledge, and to encourage others to pledge. Subscribers who pledge will receive a personal referral link that will track the number of people they get to subscribe and pledge. Those who pledge, and who get the highest number of pledges, will be celebrated on a "hall of fame" type page, and social media shout outs.
Functionality
A new "pledge" page will be created with a form collecting name and phone number. This form subscribes the person to Vote Local and marks them as "pledged to vote".
In the subscriber dashboard, if pledged, the subscriber will be able to see their "pledge link" and are encouraged to share it with others. It will also show the number of people that they have referred. If an existing subscriber has not pledged, they will see a button when logged in to pledge.
Some sort of "leaderboard" page showing the people who have pledged, and how many others they've recruited to pledge.
Implementation
New columns on the subscribers table.
pledge (bool, default=false), whether the person has pledged
referrer_id (str, not null), random string used to track referrals
Just generate a short random string.
referred_by (str), referrer ID for whoever referred the subscriber.
If present in signup/login flow, and new user.
Should not change once set.
hide_from_pledge_board (bool), self-explanatory.
Update subscriber page.
Show pledge button if not pledged.
Show a "thanks for pledging to vote!" if pledged.
Show pledge link and social sharing shortcuts if pledged.
Link to toggle hiding from the pledge leaderboard.
Pledge page /pledge/abcd1234.
Some words about pledging to vote in November.
Form for name and phone number.
Start verification flow, end at subscriber page with pledge set.
Work Breakdown
Update subscribers table with new columns.
Randomly generate referral ID for all subscribers.
Update subscriber create to generate the referral ID.
Create /subscriber/pledge route for pledging to vote while logged in.
Update subscriber dashboard for pledging.
Add pledge form, accepting name, hooked up to the route.
If pledged, show referral link, and thank you text.
Add social sharing convenience buttons, and SMS copypasta.
Create /pledge page, form starting login flow with extra fields.
If logged in and not pledged, capture referrer, take to subscriber page.
On subscriber page, send along referrer in the pledge form.
Handle pledge message via SMS (send to /pledge page).
Goal: Add a simple new feature to Vote Local that helps encourage people to vote in November by asking them to pledge, and to encourage others to pledge. Subscribers who pledge will receive a personal referral link that will track the number of people they get to subscribe and pledge. Those who pledge, and who get the highest number of pledges, will be celebrated on a "hall of fame" type page, and social media shout outs.
Functionality
A new "pledge" page will be created with a form collecting name and phone number. This form subscribes the person to Vote Local and marks them as "pledged to vote".
In the subscriber dashboard, if pledged, the subscriber will be able to see their "pledge link" and are encouraged to share it with others. It will also show the number of people that they have referred. If an existing subscriber has not pledged, they will see a button when logged in to pledge.
Some sort of "leaderboard" page showing the people who have pledged, and how many others they've recruited to pledge.
Implementation
New columns on the
subscribers
table.pledge
(bool, default=false), whether the person has pledgedreferrer_id
(str, not null), random string used to track referralsreferred_by
(str), referrer ID for whoever referred the subscriber.hide_from_pledge_board
(bool), self-explanatory.Update subscriber page.
Pledge page
/pledge/abcd1234
.Work Breakdown
/subscriber/pledge
route for pledging to vote while logged in./pledge
page, form starting login flow with extra fields.pledge
message via SMS (send to /pledge page).