Learn creative coding in p5.js with

ShiffBot

An AI experiment created together with
Daniel Shiffman and some friends at Google

ShiffBot video

ShiffBot is an AI chatbot and downloadable Chrome extension. Built using Google’s Gemini API, it's augmented with Dan Shiffman’s inspirational teaching style and educational corpus to help learners overcome coding challenges when they’re working on their own in p5.js without just giving them the answer.

Resources

FAQ

Frequently asked questions about the project

Learn More

The Coding Train

A YouTube channel dedicated to beginner-friendly creative coding tutorials and challenges.

Learn More

p5.js

A free and open source JavaScript library that empowers users of all skill levels to try creative coding.

Learn More

Are you a developer?

Check out the behind-the-scenes blog post with examples of how we used the Gemini API to build the extension.

A Deeper Dive

To make ShiffBot, we developed some basic guidelines:

Hold back

Doesn't just give you the answers, helps you discover your own answers. Then helps you take your next steps.

Lean on the greats

Try to return the appropriate credible resources (p5.js reference, Dan’s videos, handmade code examples).

A safe space to make mistakes

Everyone makes them. Shiffbot can help you solve the “easy problems” which can get in the way of progress when you're coding alone.

Sees what you see

It experiences the code, errors, canvas together with you.

Whoops!

We don’t always get it right, but we love it when we do, and even when we don't, we learn from it!

Frequently Asked
Questions
1. What is ShiffBot?

In our latest Lab Session we’ve been exploring how AI can be shaped specifically for students and teachers during the learning process. In partnership with noted programming teacher and YouTube creator, Dan Shiffman, we created an experimental chatbot powered by Gemini (a downloadable Chrome extension called ShiffBot). ShiffBot uses Shiffman’s inspirational teaching style and educational corpus to help learners overcome coding challenges when they’re working on their own in p5.js without just giving them the answer.

2. What is Lab Sessions?

Google Lab Sessions is an ongoing series of collaborations between our latest AI technology and visionaries from all realms of human endeavor—from artists to academics, scientists to scientists, creators to entrepreneurs, and more.

Lab Sessions is part of labs.google.com - Our place to test early stage experiments and shape the future of technology, together.

3. Is this related to other Google for Education products?

ShiffBot is a standalone Lab Session experiment that is separate from the AI-powered innovations we're working on for Google Workspace or Google for Education. Learn more about AI in Google for Education on their website and in their Guide.

4. How do I use ShiffBot?

The ShiffBot extension was built specifically for p5.js coding editor, a popular choice for many who are starting to code. To get started, users can sign-up for the waitlist at shiffbot.withgoogle.com. Once you receive access to the extension and it’s been downloaded from the Google Chrome store, go to https://editor.p5js.org/ and you should see Dan’s smiling face and a chat box in the lower right hand corner of your screen! And if you need help or encouragement in p5.js, just type your question in the chat!

5. What devices does ShiffBot work on?

ShiffBot is available on the latest versions of Chrome Desktop only.

6. How did you make ShiffBot?

Using Google's publicly available GenAI developer tools, Google Creative Lab and Shiffman prompted Gemini with Dan’s educational corpus and his teaching methodologies to create a chatbot that helps anyone learning to code in p5.js. ShiffBot can encourage and assist, cite credible sources and point learners to relevant moments in Shiffman’s previously published instructional YouTube videos.

7. Are you saving my chat history?

Chat history is saved locally in the browser storage, so only you have access and control over it.

8. Is my data being collected:

This site uses analytics to monitor activity.

For information about how the Generative Language API collected data, see the Generative AI APIs Additional Terms of Service.

9. Are ShiffBot responses always right?

ShiffBot is still an experiment, so it may not always get things right. We’re constantly working together with the community to improve the quality and accuracy of the responses.

10. Who can I contact about this project?

If you have other questions, contact us at shiffbot-support@google.com