Skip to main content

Group Dreams

Introduction

Group dreams is our way to incentivize the users to save together for a shared goal. In most cases group dreams behave the same way as personal dreams. The main difference is that a user can "invite" other users and save together for the shared goal. In essence, group dream is our way of tracking and displaying every participant's effort to raise money towards a common goal.

To be clear the money is not shared between user saving's accounts at ANY point.

Users make transfers as usual (same as with personal dreams). The money they save towards the shared goals end up in the saving accounts belonging to their respective owners. However we, inside the dreams experience, track how much has been saved together towards the same goal and can show the complete sum when users check their shared goal.

Data being shared

  • User first name and first letter of their surname is being shared inside the dream app and every group dream participant can see this.
  • If the dream has a picture then that is being shared as well.
  • What savehacks have been activated, when, by whom and with what amount.

Creating and sharing the group dream

sequenceDiagram participant user1 as Bob (group dream owner) participant user2 as Alice participant fe as Impact Finance SDK + Web App Frontend participant be as DES Backend participant bbe as Bank Backend user1 ->> fe: Enter dream experience fe ->>+ be: Create group dream be -->>- fe: Group dream created fe ->> user1: Receive group dream CODE alt share CODE user1 -->> user2: send CODE (outside of Impact Finance experience) else share invite link user1 -->> user2: send link (outside of Impact Finance experience) end Note right of user1: In both cases, Impact Finance SDK prompts the operating system to<br/> open a native share dialog.<br/> Share extension for iOS or<br/>sharesheet for Android based mobile phones.<br/>In this dialog user can choose how the sharing will proceed.

Joining a group dream using a CODE

sequenceDiagram participant user1 as Bob (group dream owner) participant user2 as Alice participant fe as Impact Finance SDK + Web App Frontend participant be as DES Backend participant bbe as Bank Backend user1 ->> user2: Share join CODE user2 ->> fe: Enter Impact Finance experience user2 ->>+ fe: Start new dream creation process <br/>using "Join with a code" option fe ->>+ be: Join a group dream be -->>- fe: Respond with group dream details fe -->>- user2: Show group dream details

Example of transaction flow

Although both participants save towards the same goal the money that they save actually go to their own respective saving accounts.

sequenceDiagram participant user1 as Bob (group dream owner) participant user2 as Alice participant fe as Impact Finance SDK + Web App Frontend participant be as DES Backend participant bbe as Bank Backend participant savings1 as Bob savings account participant savings2 as Alice savings account user1 ->> fe: Check group dream details fe ->>+ be: Fetch the group dream be ->>- fe: Return the group dream fe -->> user1: Display group dream balance: 0€ user2 ->> fe: Check group dream details fe ->>+ be: Fetch the group dream be -->>- fe: Return the group dream fe -->> user2: Display group dream balance: 0€ user1 ->> fe: Start a one-time savehack (10€) for group dream fe ->> be: Start the one-time savehack be -->> bbe: Start transaction workflow bbe -->> savings1: Deposit 10€ bbe -->> be: Notify the transaction is a success user1 ->> fe: Check group dream details fe ->>+ be: Fetch the group dream be -->>- fe: Return the group dream fe -->> user1: Display group dream balance: 10€ Note right of user1: also display info that <br/> Bob started one-time user2 ->> fe: Check group dream details fe ->>+ be: Fetch the group dream be -->>- fe: Return the group dream fe ->> user2: Display group dream balance: 10€ Note right of user2: also display info that <br/> Bob started one-time savehack user2 ->> fe: Start an autopilot savehack (40€) for group dream fe ->> be: Start the autopilot savehack be -->> bbe: Start transaction workflow bbe -->> savings2: Deposit 40€ bbe -->> be: Notify the transaction is a success user1 ->> fe: Check group dream details fe ->>+ be: Fetch the group dream be -->>- fe: Return the group dream fe -->> user1: Display group dream balance: 50€ Note right of user1: also display info that <br/> Bob started one-time savehack <br/>and Alice started an autopilot savehack user2 ->> fe: Check group dream details fe ->>+ be: Fetch the group dream be -->>- fe: Return the group dream fe -->> user2: Display group dream balance: 50€ Note right of user2: also display info that <br/> Bob started one-time savehack <br/>and Alice started an autopilot savehack

The invite link should be something that lets you deep link the user into the mobile app. The way of doing that will depend on your infrastructure and business logic as well as on whether you only have an iOS app, and Android app or both. Once clicked it should take the user to your mobile app. Once the invitee gets there you should start the Impact Finance experience on the group dream page. In case the user is not a bank client then the decision what the invite link does is left to you. It can just point to the mobile app store so that the invitee can download your mobile app.