Welcome to Gideon, The Open Sourcerer of GDSC, the activity for the GDSC <> Open Sourcery Workshop!
In this activity, you'll make open-source contributions together by adding new keyspells to Gideon, the Open Sourcerer of GDSC.
Each person will be assigned a unique keyboard letter (e.g. q, w, e, …) and will customize a keyspell for it (a spell that casts when that letter key is pressed).
Table of Contents
When someone presses your assigned key:
- A keyspell will appear to be cast from Gideon (displayed at the bottom of the screen).
- The keyspell will fly upward in a random direction at a random speed.
- The keyspell should have a unique style and effect created by your group!
Through Git commits and pull requests, we’ll combine everyone’s keyspells into this repository.
Click the Fork button at the top-right of this page to create your own copy of the repository.
You will now have your own version of the project under your GitHub account.
In your terminal, clone your fork (not the original repository):
git clone https://github.com/YOUR-USERNAME/gdsc-workshop-2026.gitReplace YOUR-USERNAME with your GitHub username.
Open the gdsc-workshop-2026 folder in your IDE or text editor of choice (for example, VS Code).
Open the index.html file in your browser.
You’ll see Gideon on the screen. Pressing your assigned key will cast your keyspell.
Each keyspell corresponds to a key on the keyboard:
qSpell.js
wSpell.js
eSpell.js
rSpell.js
...
mSpell.jsYou will be told which file to edit (for example: fSpell.js).
Inside your file, you’ll see commented sections like:
// ADD STYLES HEREand
// FEEL FREE TO CHANGE THESEThese are where your creativity comes in!
You can:
- Change the color, size, or shape of the keyspell (basic)
- Change the sound effect for when your keyspell is cast (basic)
- Add animations, rotations, sparkles, or glow effects (medium)
- Make it bounce off walls or react to gravity (advanced)
- Make it explode or multiply (advanced)
Even if you do nothing, no worries; your assigned keyspell will still work as a simple black dot that flies upward with a whoosh sound.
index.html loads each keyspell file.
Each *Spell.js file listens for its key press and creates a visual element (div) that flies away from Gideon.
You only need to modify your keyspell file — everything else is already set up.
Once you're happy with your keyspell:
Example:
git add fSpell.js
git commit -m "Customize fSpell: Fireball of Firebase"git push origin main- Go to your fork on GitHub
- Click "Compare & pull request"
- Create a pull request into the main repository
In your pull request description, include:
Closes #_Replace _ with the number of the issue you were assigned.
Example:
Closes #12When the pull request is merged, GitHub will automatically close the issue.
Once your pull request is merged, your keyspell becomes part of the project! ✨
Happy hacking!
— Open Sourcery
