A simple overlay to use with your favourite streaming software to show the progress of your JustGiving fundraiser.
Note: this is a personal project and is not affiliated with JustGiving.
- Get an app ID from JustGiving by registering an app at https://developer.justgiving.com/
- Open your streaming software and add a new browser source with the URL
https://ollieg.codes/justgiving-overlay?app_id=YOURID&fundraiser_slug=YOURSLUGreplacingYOURIDwith the app ID you got from JustGiving andYOURSLUGwith the slug of the fundraiser you want to track (e.g. page/MyFundraiser-12345678) - Adjust the width and height of the browser source to fit your stream layout (not the render size, best to leave that at 800x600)
You can remove certain elements by passing flags in the URL, e.g. https://ollieg.codes/justgiving-overlay?app_id=YOURID&fundraiser_slug=YOURSLUG&no_charity_details will hide the charity details.
The available flags are:
no_charity_details: Hides the charity detailsno_event_name: Hides the event nameno_charity_name: Hides the charity nameno_charity_description: Hides the charity descriptionno_charity_number: Hides the charity numbercharity_details_row: Forces the charity details to be displayed in a rowno_background: Hides the background image, making the widget transparentno_avatar: Hides the fundraiser owner's avatar
I recommend passing no_charity_details and no_avatar for a compact overlay, optionally with no_background for a transparent overlay.
If the overlay will be on a particular bright background, it might be a good idea to add a semi-transparent black background behind overlay to make the text more readable.
Note that I haven't tested all combinations of these flags, so some may not work as expected. Feel free to submit a PR.
I also haven't tested every window size possible.
You can override the background image by passing a URL in the URL as the bg_url param, e.g. https://ollieg.codes/justgiving-overlay?app_id=YOURID&fundraiser_slug=YOURSLUG&bg_url=https://example.com/image.jpg will use the image at https://example.com/image.jpg as the background. Note the no_background flag overrules this parameter.
The colour of the progress bar will use the best colour of your fundraiser's branding, but you can force the colour by passing a hex code in the URL as the progress_colour param WITH NO #, e.g. https://ollieg.codes/justgiving-overlay?app_id=YOURID&fundraiser_slug=YOURSLUG&progress_colour=ff0000 will make the progress bar red.
You can pass a widget parameter. The default is progress but you can also use donations to show the most recent donations made and their messages.
The donation widget fits the full frame so you can use any size you like. I recommend using less width than height. Make sure you set this on the properties and not crop the element to ensure the culling of donation boxes works properly.
Recommended flags: &widget=donations&no_charity_details&no_event_name&no_avatar&no_background
You can add the tts flag to enable TTS reading of donation messages!
Note: if you are using multiple instances of the overlay, only one should have TTS enabled to prevent overlapping speech.
You can pass sound effects, with the parameters sfx_n=url where n is the pre-decimal value which if a donation exceeds it, the sound at url will play. Only the highest value n will play a sound
e.g.
...
&sfx_0=https://example.com/sound1.mp3
&sfx_5=https://example.com/sound2.mp3
&sfx_50=https://example.com/sound3.mp3
£1 donation will play sound1.mp3
£5 donation will play sound2.mp3
£100 donation will play sound3.mp3
Note: if you are using multiple instances of the overlay, only one should have sound effects defined to prevent overlapping sounds.
- Get an app ID from JustGiving by registering an app at https://developer.justgiving.com/
- Clone this repository
- Install the dependencies with
npm install - Use webpack dev server to run the overlay with
npm start(or usenpm dev-serverfor a private server) - Open your streaming software and add a new browser source with the URL
http://localhost:3000?app_id=YOURID&fundraiser_slug=YOURSLUGreplacingYOURIDwith the app ID you got from JustGiving andYOURSLUGwith the slug of the fundraiser you want to track (e.g. page/MyFundraiser-12345678) - Adjust the width and height of the browser source to fit your stream layout (not the render size, best to leave that at 800x600)
- The server will hot reload to any changes you make to the code (with both
npm startandnpm dev-server)
Changes to the hosted version must be deployed manually. To do this:
- Follow the local installation steps and ensure everything is working as expected
- Run
npm run deployto build the project and deploy it to thegh-pagesbranch - If you use a signing key, you will need to enter your password when prompted
- The changes should be live at
https://ollieg.codes/justgiving-overlay?app_id=YOURID&fundraiser_slug=YOURSLUGwithin a minute or two (clear your cache)

