DEV Community


Let's build for Ruby and Rails developers - Part 17

justalever profile image Andy Leverenz Originally published at on ・2 min read

Welcome to Part 17 of my Let's build for Ruby and Rails developers series. In this part, I carry on adding the final functionality of the new job form by introducing several upsell options that feature varied prices when purchasing a new job listing.

The goal with these up-sells is to increase visibility for the job as well as increase profit for We hook into Stripe's API to regenerate a new Payment Intent per up-sell option. From the API returns a new client_secret which we can use to confirm a payment via credit card during the final purchase of the job.

What's to come?

We're getting very close to having the job form complete but there are a lot of edge cases, validations, UI tweaks, and more to deal with. Coming up I plan to focus a lot on validation on both the front–end and the back-end as well as provide some more help UI during purchase so a user doesn't try to purchase twice or is left in the dark about what to do next.

Once the form is complete I plan to go through and do a big audit on the main design as well as add a dashboard for those that purchase jobs to get some insight about job listings. This would include basic details about a purchase, some basic analytics, and a link to the Stripe invoice. For each purchase we should also generate some mailers to indicate status once a job is published.

Those emails might include:

  • An email when a new job is purchased. This just confirms what you purchased, when, and the details of the purchase.
  • An email when the job becomes "approved". Since all new jobs will have a status of "pending" by default I'll manually approve any that come through. Once approved we'll kick off an email to the purchaser so they know their job is live.
  • An email when a job gets archived. I think I'll keep things simple and offer job listings for 30 days at the current pricing (shown in this video). Eventually once a job is archived we can allow a customer to optionally re-post the job for another fee that's maybe discounted. Making this a recurring pricing strategy might also be an option but the simpler the better right now.

Once that phase is complete I'll push a v1 of this app live! 🚀

New here? Check out the entire series for an overview of what I'm building and follow my journey.

Discussion (0)

Editor guide