robosats icon indicating copy to clipboard operation
robosats copied to clipboard

Add matchmaking system

Open Reckless-Satoshi opened this issue 2 years ago • 0 comments

Is your feature request related to a problem? Please describe. While uncommon, makers might create orders that already have an exact match in the book. A light matchmaking system similar to that of Peach can help gamify a bit more the experience and help users find offers.

Describe the solution you'd like I envision the matchmaking could take place in two ways.

The straightforward way (1): this one has been discussed for over 6 months now. It would be easy to add on the current user workflow. A request is sent to the backend just after using the MakerPage, it returns "Order you might be interested". This will be just a short list of orders for the exact same payment method(s) and about the same amount. Then the user can "match" one of those or click "Create a new order".

The new user workflow way (2): can be implemented with the UserGen redesign https://github.com/Reckless-Satoshi/robosats/issues/204 , the Order Book would be the first thing a user sees. Then he can click on an order and the robot avatar generation pipeline will start. Alternatively, he could click on "make order" and after he customizes the new order he will be given possible matches. If no match is liked by the user, he can "publish new order".

The orders given by the matchmaking system could be shown in two ways. (a) As cards that the user can swipe around (left/right) and click "match" for the one they like (this is the Peach approach, pretty cool, a bit like Tinder). Or (b) in a data table, where users can see every order, easily compare them and tap on the one they like (this is "less fun" but more practical: swiping cards around and remembering premium, amounts and payment methods is a challenge for human's short-term memory).

Additional context

I would personally favor optiion 2 (new user workflow) and I am unsure whether I like more a or b (swipe cards vs table view).

If the matchmaking happens over the Order Book data-grid, we will only need to implement frontend filters. If we want something more complex with more clever algorithms, a new API endpoint will have to be created.

Reckless-Satoshi avatar Sep 10 '22 18:09 Reckless-Satoshi